新加一块SCSI硬盘,需要将其分区挂载到Linux系统上:
#fdisk /dev/sdb
进入fdisk模式:
Command (m for help):p –查看新硬盘的分区
Command (m for help):n –创建新分区
可以用
m命令来看fdisk命令的内部命令;
n命令创建一个新分区;
d命令删除一个存在的分区;
p命令显示分区列表;
t命令修改分区的类型ID号;
l命令显示分区ID号的列表;
a命令指定启动分区;
w命令是将对分区表的修改存盘让它发生作用。
Command action
e extended –输入e为创建扩展分区
p primary partition (1-4) –输入p为创建主分区,这里我们选择p
Partion number(1-4):1 –第一个扩展分区,按你需求可以最多分4个主分区
First Cylinder(1-1014,default 1): 1 –第一个主分区起始的磁盘块数
Last cylindet or +siza or +sizeM or +sizeK: +1024MB –可以是以MB为单位的数字或者以磁盘块数,这里我们输入+1024MB表示分区大小为1G。
这样我们就创建完一个分区,如果要创建更多分区可以照上面的步骤继续创建。
创建完后用w保存分区。
Command (m for help): w
The partition table has been altered!
Calling ioctl() to re-read partition table.
Syncing disks.
这样就分区完,我们还要进行格式化
#mkfs -t ext3 -c /dev/sdb1 –如果有多个分区,则分区修改为sdb2这样格式化完后我们需要进行挂载分区
#parted -l –查看分区情况
#mkdir www –创建/www目录,我们将把新的分区挂到www下
#mount /dev/sdb1 /www –将/dev/sdb1挂载到/www
# df –用df命令进行查看
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/sda2 3771316 1388956 2190788 39% /
/dev/sda1 101089 9463 86407 10% /boot
none 62988 0 62988 0% /dev/shm
/dev/sdb1 485906 8239 452580 2% /www –看到了,这就是我们刚才新挂载的分区
到这里我们工作已接近尾声了,不过我们如果这样就结束的话,我们每次重新启动服务器后都要进行手工挂载,这样很麻烦,我们需要修改/etc/fstab文件来进行自动挂载。
#vi /etc/fstab
在文件的末尾填加如下内容:
/dev/sdb1 /www ext3 defaults 1 2
如有多个分区可修改sdb1和/www,修改完后保存,重启系统,或者mount /dev/sdb1 /www 先挂载使用
Author Archives: 惜分飞
redhat 4 安装 Oracle 10g
必须安装包
binutils-2.15.92.0.2-13.EL4
compat-db-4.1.25-9
compat-libstdc++-296-2.96-132.7.2
control-center-2.8.0-12
gcc-3.4.3-22.1.EL4
gcc-c++-3.4.3-22.1.EL44
glibc-2.3.4-2.9
glibc-common-2.3.4-2.9
gnome-libs-1.4.1.2.90-44.1
libstdc++-3.4.3-22.1
libstdc++-devel-3.4.3-22.1
make-3.80-5
pdksh-5.2.14-30
sysstat-5.0.5-1
xscreensaver-4.18-5.rhel4.2
setarch-1.6-1
用户和组
groupadd oinstall
groupadd dba
useradd -g oinstall -G dba oracle
创建文件夹
mkdir -p /u01/oracle
chown -R oracle:oinstall /u01
chmod -R 775 /u01
修改系统参数
vi /etc/sysctl.conf
kernel.shmall = 2097152
kernel.shmmax = 2147483648
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
fs.file-max = 65536
net.ipv4.ip_local_port_range = 1024 65000
net.core.rmem_default = 1048576
net.core.rmem_max = 1048576
net.core.wmem_default = 262144
net.core.wmem_max = 262144
vi /etc/security/limits.conf
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
vi /etc/pam.d/login
session required /lib/security/pam_limits.so
session required pam_limits.so
vi /etc/profile
if [ $USER = “oracle” ]; then
if [ $SHELL = “/bin/ksh” ]; then
ulimit -p 16384
ulimit -n 65536
else
ulimit -u 16384 -n 65536
fi
fi
设置环境变量
vi ~/.bash_profile
ORACLE_BASE=/u01
ORACLE_HOME=$ORACLE_BASE/oracle
ORACLE_SID=orcl
NLS_LANG=AMERICAN_AMERICA.ZHS16GBK
PATH=$PATH:$ORACLE_HOME/bin
export PATH NLS_LANG ORACLE_BASE ORACLE_HOME ORACLE_SID
CONTROL_FILE_RECORD_KEEP_TIME和LOG_ARCHIVE_LOCAL_FIRST
CONTROL_FILE_RECORD_KEEP_TIME
表示控制文件里可重复使用的记录所能保存的最小天数。如果新增加一条记录到控制文件可以重复使用的部分,这时最老的记录尚没有超出最小保留天数,那么记录将控制文件的这一部分将扩展。如果将该参数设置为0,那么控制文件可以重复使用的部分将永远不会扩展。
注意,这个参数只应用于控制文件中可循环利用的部分,如归档日志文件,各种备份记录。不应用于诸如数据文件,表空间,重做线程等,这些内容只有当其从对应的表空间中删除后才能重用。
LOG_ARCHIVE_LOCAL_FIRST
specifies when the archiver processes (ARCn) transmit redo data to remote standby database destinations.(11g中不建议使用)可选值:true/false
true
Directs the ARCn process to transmit redo data after the online redo log file has been completely and successfully archived to at least one local destination. This is the default value.
Because the online redo log files are archived locally first, the LGWR process reuses the online redo log files much earlier than would be possible if the ARCn processes archived to the standby database concurrently with the local destination. This behavior is useful when archiving to remote destinations that use a slow network connection, such as a long-distance wide area network (WAN).
false
Directs the ARCn process to transmit redo data at the same time the online redo log file is archived to the local destinations. This results in redo data being promptly dispatched to the remote standby database destination.
Setting LOG_ARCHIVE_LOCAL_FIRST to false is most useful for faster network connections, such as high-speed local area networks (LAN).
Oracle升级(10.2.0.1—–>10.2.0.3)
数据库版本linux 32位(10.2.0.1升级到10.2.0.3)
1、停止OEM/isqlplus/监听/DB实例
$ emctl stop dbconsole
$ isqlplusctl stop
$ lsnrctl stop
$ sqlplus / as sysdba
SQL> shutdown immediate;
2、升级Oracle软件
1) 备份ORACLE_HOME和oraInventory
升级前对要升级的ORACLE_HOME进行备份是必要的, 还有oraInventory目录, 一
旦升级失败便于回退
方法一,使用tar备份
$ cd $ORACLE_HOME/..
$ tar jcvf db_1_`date +%Y%m%d`.tar.bz2 db_1
$ cd $ORACLE_BASE
$ tar jcvf oraInventory_`date +%Y%m%d`.tar.bz2 oraInventory
方法二,使用cp备份
$ cd $ORACLE_HOME
$ cp -pr db_1 db_1_new (备份到新目录, 且保留mode,ownership,timestamps等信息)
$ cp -pr oraInventory oraInventory_new
2) 升级Oracle 软件
2.1)通过response文件开始升级, 升级时间大概2-3分钟.
$ cd /u01/software/10g/
$ unzip p5337014_10203_LINUX.zip
$ cd Disk1
注意升级前要保证/tmp空间有2.5G空余空间
$ ./runInstaller -silent -responseFile /u01/software/10g/DISK1/response/patchset.rsp
ORACLE_HOME=”/u01/app/oracle/product/10.2.0/db_1″
ORACLE_HOME_NAME=”OraDb10g_home1″ DECLINE_SECURITY_UPDATES=”true”
如果未使用默认的组oinstall, 则runInstaller命令后需再加一个参数:
UNIX_GROUP_NAME=”oinstall”
各参数含义如下:
-silent 表示以静默方式安装,不会有任何提示;
-responseFile 表示使用哪个响应文件,必需使用绝对路径;
ORACLE_HOME=”/u01/app/oracle/product/10.2.0/db_1″ oracle安装目录;
ORACLE_HOME_NAME=”OraDb10g_home1″ ORACLE_HOME名;
DECLINE_SECURITY_UPDATES=”true” 是否需要安全更新, true表示不需要,
否则会要求输入metalink账号和联网信息;(10.2.0.3中无此选项)
UNIX_GROUP_NAME=”oinstall” oracle用户用于安装软件的组名;
2.2)设置DISPLAY=192.168.0.1:0.0 (设置图形显示,用的是xmanager的passive接收)
注意: 你也可以直接用./runInstaller运行,安装程序会检查和提示你一步一步的升级完成
3) 运行root.sh和changePerm.sh
ü 升级结束后, 以root用户执行$ORACLE_HOME下的root.sh(如有提示则一直回车):
# /u01/app/oracle/product/10.2.0/db_1/root.sh
安装PatchSet后新增的文件或目录是限制访问的, 其它用户或第三方工具要访问这些文件时会提示错误,
所以要修改权限:
# su – oracle
$ cd $ORACLE_HOME/install
$ ./changePerm.sh
$ tail -50f /tmp/changePerm_err.log
3、升级数据库
$ lsnrctl start
确保内存足够
SQL> ALTER SYSTEM SET SHARED_POOL_SIZE=’150M’ SCOPE=spfile;
SQL> ALTER SYSTEM SET JAVA_POOL_SIZE=’150M’ SCOPE=spfile;
$ sqlplus / as sysdba
SQL> startup upgrade; (以升级模式启动数据库)
SQL> SPOOL /tmp/patch102030.log
SQL> @?/rdbms/admin/catupgrd.sql (重建数据字典, 若有问题可重复执行)
SQL> SPOOL off
SQL> !egrep “ORA-|Error” /tmp/patch102050.log (查看是否有错误)
SQL> shutdown immediate;
SQL> startup;
SQL> @?/rdbms/admin/utlrp.sql (编译失效PLSQL包对象, 尽管第一次访问包是会自动编译, 还是推荐操作)
注意: 这个编译过程可能因为你数据库里面的对象问题,有一些错误,你需要在plsql下
执行: select * from UTL_RECOMP_ERRORS 检查无效的对象。有些是可以忽略的
4、开启OEM/isqlplus/监听
$ lsnrctl start
$ isqlplusctl start
$ emctl start dbconsole
rman创建Standby Data Guard
一、primary数据库
1、主库准备工作
1.1)设置强制日志
alter database force logging;
1.2)开启归档模式
ALTER DATABASE ARCHIVELOG;
1.3)添加standby logfile
–添加standby log文件(数量取决于(redo file number+1)*(thread number))
alter database add standby logfile group 3 ‘/u01/oradata/orcl/st_redo03.log’ size 5m reuse;
alter database add standby logfile group 4 ‘/u01/oradata/orcl/st_redo04.log’ size 5m reuse;
alter database add standby logfile group 5 ‘/u01/oradata/orcl/st_redo05.log’ size 5m reuse;
2、修改参数文件(主要参考oracle 官方文档)
DB_UNIQUE_NAME=orcl LOG_ARCHIVE_CONFIG='DG_CONFIG=(orcl,xff)' LOG_ARCHIVE_DEST_1= 'location=/u01/archive/orcl/ VALID_FOR=(ALL_LOGFILES,ALL_ROLES) DB_UNIQUE_NAME=orcl' LOG_ARCHIVE_DEST_2= 'SERVICE=xff ASYNC VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=xff' LOG_ARCHIVE_DEST_STATE_1=ENABLE LOG_ARCHIVE_DEST_STATE_2=ENABLE FAL_SERVER=xff DB_FILE_NAME_CONVERT='/u01/oradata/xff/','/u01/oradata/orcl/' LOG_FILE_NAME_CONVERT='/u01/oradata/xff/','/u01/oradata/orcl/' STANDBY_FILE_MANAGEMENT=AUTO
3、rman备份database和控制文件(主库)
3.1)使用rman 复制库方式建立dg
rman target /
backup full format=’/tmp/FULL_%U’ database include current controlfile for standby
plus archivelog format=’/tmp/arch_%U’;
3.2)使用rman恢复方式建立dg
rman target /
backup full format=’/tmp/FULL_%U’ database plus archivelog;
ALTER DATABASE CREATE STANDBY CONTROLFILE AS ‘/tmp/control01.ctl’;–sqlplus中
3.3)拷贝备份文件到备份库与主库相同位置
Note:如3.2中的备库控制文件需要拷贝到备库的参数文件指定位置
4、使用修改的参数文件启动数据库之open
二、standby数据库
1、准备密码文件
直接拷贝/u01/oracle/dbs/orapwdorcl 并重命名为orapwdxff
注:密码必须和primary数据库的sys的相同
2、创建相关文件夹 mkdir
3、创建参数文件(注意db_name 要和primary的相同)
*.db_name='orcl' DB_UNIQUE_NAME=xff LOG_ARCHIVE_CONFIG='DG_CONFIG=(orcl,xff)' LOG_ARCHIVE_DEST_1= 'location=/u01/archive/xff/ VALID_FOR=(ALL_LOGFILES,ALL_ROLES) DB_UNIQUE_NAME=xff' LOG_ARCHIVE_DEST_2= 'SERVICE=orcl ASYNC VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=orcl' LOG_ARCHIVE_DEST_STATE_1=ENABLE LOG_ARCHIVE_DEST_STATE_2=ENABLE FAL_SERVER=orcl DB_FILE_NAME_CONVERT='/u01/oradata/orcl/','/u01/oradata/xff/' LOG_FILE_NAME_CONVERT='/u01/oradata/orcl/','/u01/oradata/xff/' STANDBY_FILE_MANAGEMENT=AUTO --修改文件夹路径的没有标出
4、配置tns和LISTENER相关参数
5、建立data guard
5.1)使用rman 复制库方式建立dg
5.1.1)使用修改的参数文件启动standby至nomount状态
5.1.2)使用rman恢复数据库
rman target sys/xifenfei@orcl auxiliary /
duplicate target database for standby dorecover nofilenamecheck;
5.2)使用rman恢复方式建立dg
5.2.1)使用修改的参数文件启动standby至nomount状态
5.2.2)开启数据库至mount状态
alter database mount standby database;
5.2.3)使用rman开始还原数据库
restore database;
6、备库添加必要文件
查看v$standby_log决定是否需要添加standby logfile
–添加standby log文件(数量取决于(redo file number+1)*(thread number))
alter database add standby logfile group 3 ‘/u01/oradata/xff/st_redo03.log’ size 5m reuse;
alter database add standby logfile group 4 ‘/u01/oradata/xff/st_redo04.log’ size 5m reuse;
alter database add standby logfile group 5 ‘/u01/oradata/xff/st_redo05.log’ size 5m reuse;
7、开启日志应用
alter database open;–11g支持redo apply状态下open
–开启归档日志应用
alter database recover managed standby database disconnect from session;
–开启实时应用
alter database recover managed standby database using current logfile disconnect from session;
