主库:RAC public IP 节点1 192.168.126.42 节点2 192.168.126.43
scan IP 192.168.20.100
操作系统:Redhat linux 6.5
存储:ASM
备库: 单实例 192.168.126.44
操作系统:Redhat linux 6.5
存储:文件系统
下面是主备库的DB_UNIQUE_NAME和Oracle Net Service Name
Database DB_UNIQUE_NAME Oracle Net Service Name Primary atfdb atfdb Physical standby atfdbdg atfdbdg |
安装步骤:
1. 安装备库的数据库软件
1.1 先在主库上查询字符集,保证备库的字符集与主库一致
select * from V$NLS_PARAMETERS p where p.parameter like '%CHARACTER%';
NLS_CHARACTERSET ZHS16GBK NLS_NCHAR_CHARACTERSET AL16UTF16
show parameter compatible NAME TYPE VALUE ------------------------------------ ----------- ------------------------------ compatible string 11.2.0.0.0 |
1.2 检查备库的系统参数是否满足安装要求
#查看主机内存 grep MemTotal /proc/meminfo
#交换空间,如果物理内存在16G以上,推荐交换空间至少为16G grep SwapTotal /proc/meminfo free
#检查机器的硬件名称 uname -m
#检查临时表空间,至少1G df -h /tmp df -h
#检查 linux 版本 cat /proc/version lsb_release -id
#检查内核 uname –r |
1.3 禁用防火墙和 SELINUX
#使用root用户登录 service iptables status service iptables stop chkconfig iptables off
#然后输入以下命令,禁用SELinux: vi /etc/selinux/config SELINUX=disabled |
1.4 检查软件包
rpm -q --queryformat "%{NAME}-%{VERSION}-%{RELEASE} (%{ARCH})\n" binutils compat-libstdc elfutils-libelf elfutils-libelf-devel gcc gcc-c++ glibc glibc-common glibc-devel glibc-headers ksh libaio libaio-devel libgcc libstdc++ libstdc++-devel make sysstat unixODBC unixODBC-devel |
1.5 创建组和用户
/usr/sbin/groupadd oinstall /usr/sbin/groupadd -g 502 dba /usr/sbin/groupadd -g 503 oper id oracle /usr/sbin/useradd -u 502 -g oinstall -G dba,oper oracle passwd oracle |
1.6 设置环境变量,从 rac 的其中一个节点拷贝环境变量文件到备库上面
#登录主库的节点1 cd scp .bash_profile oracle@beiku_ip:/home/oracle |
1.7 设置内核参数
vi /etc/sysctl.conf #增加或者修改以下内容: fs.aio-max-nr = 1048576 fs.file-max = 6815744 kernel.shmmni = 4096 kernel.sem = 250 32000 100 128 net.ipv4.ip_local_port_range = 9000 65500 net.core.rmem_default = 4194304 net.core.rmem_max = 4194304 net.core.wmem_default = 262144 net.core.wmem_max = 1048576
#使用以下命令验证配置: sysctl -p
#修改用户oracle的shell限制: vi /etc/security/limits.conf #增加以下内容: grid soft nproc 2047 grid hard nproc 16384 grid soft nofile 1024 grid hard nofile 65536 oracle soft nproc 2047 oracle hard nproc 16384 oracle soft nofile 1024 oracle hard nofile 65536
#修改登录参数,执行以下操作: vi /etc/pam.d/login #增加以下内容: session required /lib64/security/pam_limits.so session required pam_limits.so
#同样执行以下操作: vi /etc/profile #增加以下内容: I f [ $USER = "oracle" ] ; then if [ $SHELL = "/bin/ksh" ]; then ulimit -p 16384 ulimit -n 65536 else ulimit -u 16384 -n 65536 fi umask 022 fi |
1.8 创建文件目录
mkdir -p /u01/app/oracle/product/11.2.0/db_1 chown -R oracle:oinstall /u01/app/oracle chmod -R 775 /u01
#创建数据库文件目录 mkdir /data #创建数据库日志目录 mkdir /log #创建归档日志目录 mkdir /arc |
1.9 安装 Oracle 软件,此步骤不建库
#使用oracle用户登录 #首先解压安装文件: unzip p10404530_112030_Linux-x86-64_1of7.zip unzip p10404530_112030_Linux-x86-64_2of7.zip #打开图形设置,打开Xmanager4 的 Passive模式。 export DISPLAY=ip:0.0 #此ip不是服务器的ip,为自己的笔记本ip #然后进入解压后的database目录,执行以下命令: ./runInstaller |
2. DataGuard 主库的相关配置
2.1 主库打开 FORCE LOGGING模式
ALTER DATABASE FORCE LOGGING;
作用:不管什么操作都会生成redo日志
特点:1.在数据库mount状态和open状态都可以启动force logging模式
2.临时表空间和临时回滚段动作不会生成redo日志
在主库节点一上执行
cd $ORACLE_HOME/dbs sqlplus / as sysdba create pfile from spfile; exit
#备份参数文件 cp initatfdb1.ora /home/oracle/initatfdb1.ora_bak |
编辑参数文件
vi initatfdb.ora
*.db_unique_name=atfdb *.LOG_ARCHIVE_DEST_1='LOCATION=+FRA VALID_FOR=(ALL_LOGFILES,ALL_ROLES) DB_UNIQUE_NAME=atfdb' *.log_archive_config='DG_CONFIG=(atfdb,atfdbdg)' *.LOG_ARCHIVE_DEST_2= 'SERVICE=atfdbdg ASYNC VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=atfdbdg' *.LOG_ARCHIVE_DEST_STATE_1=ENABLE *.LOG_ARCHIVE_DEST_STATE_2=ENABLE #更改之前的archive log format *.LOG_ARCHIVE_FORMAT = log%d_%t_%s_%r.arc *.LOG_ARCHIVE_MAX_PROCESSES=30 *.fal_server=atfdbdg *.STANDBY_FILE_MANAGEMENT=AUTO |
#用新编辑的PFILE生成SPFILE,并重启数据库 cd $ORACLE_HOME/dbs create spfile='+DATA/atfdb/spfileatfdb.ora' from pfile = 'initatfdb1.ora'; #在两个节点下,分别在init.ora下面增加下列参数,确保dbs目录下没有spfile.ora和spfile.ora文件,有的话需要改名
#重启数据库 srvctl stop database –d atfdb –o immediate srvctl start database –d atfdb |
2.3 创建standby logfile
ALTER DATABASE ADD STANDBY LOGFILE GROUP 17 SIZE 200M; ALTER DATABASE ADD STANDBY LOGFILE GROUP 18 SIZE 200M; ALTER DATABASE ADD STANDBY LOGFILE GROUP 19 SIZE 200M; ALTER DATABASE ADD STANDBY LOGFILE GROUP 20 SIZE 200M; |
作用:主库切换到备库角色时接收主库redo日志
检查:
SELECT GROUP#,THREAD#,SEQUENCE#,ARCHIVED,STATUS FROM GV$STANDBY_LOG; |
特点:
1. standby logfile和online redolog大小应一致,管理方便
2. 如果是单实例数据库那么standby logfile组比online redolog组的个数多一个;如果是rac架构那么standby logfile组个数=rac节点数*(online redolog组个数+1)
2.4 在各节点分别配置监听
cd $ORACLE_HOME/network/admin vi tnsnames.ora
#modified by neo for the data guard on date
ATFDBDG = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = ATFDBDG)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = atfdbdg) ) ) |
2.5 创建主库数据文件的备份
#登录到主库的RAC节点2 #建立备份存放目录 mkdir /home/oracle/backup rman tareget / run { allocate channel d1 type disk; backup tag 'dbfull' format '/home/oracle/backup/dbfull_%d_%s_%p.bck' database include current controlfile; backup tag 'logfull' format '/home/oracle/backup/logfull_%d_%s_%p.bck' archivelog all; release channel d1;} exit |
#登录到节点2 su – oracle sqlplus / as sysdba shutdown immediate STARTUP MOUNT; ALTER DATABASE CREATE STANDBY CONTROLFILE AS '/home/oracle/backup/controlfile.ctl'; ALTER DATABASE OPEN; #在备库建立对应的备份存放目录 mkdir /home/oracle/backup scp /home/oracle/backup/* oracle@ip:/home/oracle/backup |
2.7 拷贝主库密码文件到备库上
cd $ORACLE_HOME/dbs scp orapwatfdb1 oracle@ip:/u01/app/oracle/product/11.2.0/db_1/dbs/ |
2.8 拷贝主库的参数文件到备库
cd scp init* oracle@ip:/u01/app/oracle/product/11.2.0/db_1/dbs/ |
3. 配置Dataguard备库的相关配置
3.1 配置备库的参数文件
vi initatfdb.ora
atfdb2.__db_cache_size=10670309376
atfdb1.__db_cache_size=10670309376
这样的参数改为一个,如
*.__db_cache_size=10670309376
去掉下面参数
atfdb1.instance_number=1
atfdb2.instance_number=2
atfdb1.instance_number=1
atfdb2.instance_number=2
*.cluster_database=true
*.remote_listener='rac-scan:1521'
增加下面参数
*.db_name='atfdb' DB_UNIQUE_NAME=atfdbdg *.db_create_file_dest='/data' *.db_create_online_log_dest_1='/log' *.db_create_online_log_dest_2='/log' *.control_files='/u01/app/oracle/product/11.2.0/db_1/dbs/controlfile01.ctl, /u01/app/oracle/product/11.2.0/db_1/dbs/controlfile02.ctl' LOG_ARCHIVE_DEST_1= 'LOCATION=/arc VALID_FOR=(ALL_LOGFILES,ALL_ROLES) DB_UNIQUE_NAME=atfdbdg' LOG_ARCHIVE_DEST_2= 'SERVICE=misdb ASYNC VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=atfdb' FAL_SERVER=atfdb LOG_ARCHIVE_CONFIG='DG_CONFIG=(atfdb,atfdbdg)' STANDBY_FILE_MANAGEMENT=AUTO |
拷贝从主库传送过来的控制文件到对应目录
cp /home/oracle/backup/controlfile.ctl /u01/app/oracle/product/11.2.0/db_1/dbs/controlfile01.ctl
cp /home/oracle/backup/controlfile.ctl /u01/app/oracle/product/11.2.0/db_1/dbs/controlfile02.ctl
3.2 配置备库的监听
在备库的/etc/hosts里面,添加主库rac-scan和其ip的解析
su - root
vi /etc/hostsATFDB ip
ATFDBDG ip
cd $ORACLE_HOME/network/admin
vi listener.ora
# Generated by Oracle configuration tools. SID_LIST_LISTENER = (SID_LIST = (SID_DESC = (GLOBAL_DBNAME = atfdbdg) (ORACLE_HOME = /u01/app/oracle/product/11.2.0/db_1) (SID_NAME = atfdb1) ) )
LISTENER = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = ATFDBDG)(PORT = 1521)) ) ADR_BASE_LISTENER = /u01/app/oracle |
vi tnsnames.ora
ATFDBDG = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = ATFDBDG)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = atfdbdg) ) )
ATFDB = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = ATFDB )(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = atfdb) ) ) |
lsnrctl stop
lsnrctl start
3.3 通过RMAN恢复从主库传送过来的备份文件在备库下创建spfile
cd $ORACLE_HOME/dbs sqlplus / as sysdba create spfile from pfile= 'initatfdb1.ora_bak'; |
启动数据库到mount状态
sqlplus / as sysdba
startup mount
通过RMAN恢复从主库传送过来的备份文件
CATALOG START WITH '/home/oracle/backup/'; |
3.4 备库启动日志应用
ALTER DATABASE RECOVER MANAGED STANDBY DATABASE USING CURRENT LOGFILE DISCONNECT FROM SESSION; SELECT SEQUENCE#,APPLIED FROM V$ARCHIVED_LOG ORDER BY SEQUENCE#; |
3.5 启动数据库日志实时应用
ALTER DATABASE RECOVER MANAGED STANDBY DATABASE CANCEL; |
3.6 检查备库数据库状态
select database_role,switchover_status,open_mode from v$database; |
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/26506993/viewspace-1810725/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/26506993/viewspace-1810725/