Oracle-dataguard的3种创建方法
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Oracle Dataguard的3种创建方法
一)总介:
1. 冷备法
优点:操作比较简单。
缺点:操作过程需要停止主库服务。
简介:停止主库后,直接copy主机的所有数据文件,控制文件,归档日志文件,参数文件(spfile)到备机的相同路径下,再启动主、备库,然后修改相关配置文件完成主备自动同步。
2. 热备法
优点:无需停止主库服务。
缺点:操作比较复杂,操作过程对主库性能影响比较大。
简介:在主库开启状态下把主库的数据文件一个一个热备出来,然后连同控制文件,归档日志文件,参数文件(spfile)等一起复制到备机相同路径下,再启动备库并执行recover,然后修改相关配置文件完成主备自动同步。
3. RMAN复制法
优点:无需停止主库服务,操作过程对主库性能影响比较小。
缺点:操作比较复杂。
简介:在主库开启状态下运行rman,对主库进行全库备份,然后把备份集与参数文件(spfile)一起复制到备机,再启动备库到nomount状态后利用rman 在备机上进行for standby的duplicate,然后修改相关配置文件完成主备自动同步。
无论上述何种方法,在开始之前,都必须先确认主库已正常运行,备机的操作系统,磁盘分区,oracle版本都必须与主机完全一致,备机上的oracle需要已安装好但不用建库。主、备机的网络都必须已联通,并能够在客户端使用putty 或其他远程登陆工具通过ssh方式登陆(本文内所讲的“登陆”都是指:使用putty 通过ssh方式以oracle账号登陆到主机或者备机的linux系统)。
本文假设主机ip地址是192.168.0.1,备机ip地址是192.168.0.2,oracle的数据文件,控制文件,联机日志文件的存放路径统一为:/opt/oracle/oradata/orcl/,归档日志的存放路径为:/opt/oracle/oradata/orcl/archive/,ORACLE_BASE目录为:/opt/oracle ,ORACLE_HOME目录为:/opt/oracle/product/9ir2,
ORACLE_SID=orcl,分区/opt由于要存放oracle的所有文件与备份集,所以其容量要足够大。
确认主库是否开启了归档模式。
sqlplus ‘/as sysdba’
SQL> archive log list
Database log mode Archive Mode
Automatic archival Enabled
若如上显示,则说明已开启了归档模式,那么从现在开始到最后dataguard建立完毕的整个过程,对主库都没有任何影响,即不会影响主库的正常运行。
如果与上面所示不同,则需要手工开启归档模式。
开启归档模式方法:
SQL>alter system set log_archive_start=true scope=spfile;
SQL>shutdown immediate;
SQL>startup mount;
SQL>alter database archivelog;
SQL>alter database open;
二)方法一详细操作步骤:
(冷备法)
1. 为备库创建控制文件
登陆主库后,运行:
sqlplus ‘/as sysdba’
SQL> alter database create standby controlfile as '/opt/oracle/control01.ctl'; SQL> exit
cp control01.ctl control02.ctl
cp control01.ctl control03.ctl
2. 复制主库文件到备机
1)先登陆备库,执行:
mkdir –p /opt/oracle/oradata/orcl
mkdir –p /opt/oracle/oradata/orcl/archive
mkdir –p /opt/oracle/admin/orcl/bdump
mkdir –p /opt/oracle/admin/orcl/cdump
mkdir –p /opt/oracle/admin/orcl/udump
2)然后登陆主库,运行:
sqlplus ‘/as sysdba’
SQL> shutdown immediate;
SQL> exit
然后复制文件到备机的相同目录。
cd
scp control0*.ctl 192.168.0.2:/opt/oracle/oradata/orcl/
然后需要输入oracle密码,后面的每次scp都一样需要输入此密码
cd /opt/oracle/oradata/orcl/
scp *.dbf 192.168.0.2: /opt/oracle/oradata/orcl/
cd /opt/oracle/oradata/orcl/archive/
scp *.dbf 192.168.0.2: /opt/oracle/oradata/orcl/archive/
3. 配置备库
1)生成密码文件。
登陆备库后,执行:
cd $ORACLE_HOME/dbs
orapwd file=orapworcl password=xxxxxx entries=5
2)配置备机数据库的监听器。
登陆备库后,执行:
cd $ORACLE_HOME/network/admin
scp 192.168.0.1:/opt/oracle/product/9ir2/network/admin/listener.ora listener.ora scp 192.168.0.1:/opt/oracle/product/9ir2/network/admin/tnsnames.ora tnsnames.ora 修改listener.ora中的“HOST =”后面的内容为备机的IP地址,然后启动监听lsnrctl start
4. 启动备库
登陆备库后,执行:
sqlplus ‘/as sysdba’
SQL> startup nomount
SQL> alter system set service_names = standby;
SQL> alter system set fal_client=standby;
SQL> alter system set fal_server=orcl;
SQL> alter system set standby_file_management=auto;
SQL> alter database mount standby database;
建立3组standby redo log:
SQL> alter database add standby logfile group 4
2 '/opt/oracle/oradata/orcl/redo_stb01.log' size 100m;
SQL> alter database add standby logfile group 5
2 '/opt/oracle/oradata/orcl/redo_stb02.log' size 100m;
SQL> alter database add standby logfile group 6
2 '/opt/oracle/oradata/orcl/redo_stb03.log' size 100m;
启动自动应用归档日志:
SQL> alter database recover managed standby database disconnect from session; 5. 启动主库
登陆主库后,执行:
sqlplus ‘/as sysdba’
SQL> startup
建立3组standby redo log: