实验环境:Linux RedHat 5, VMware Server 1.0.6
准备条件:
1.在一台虚拟机上安装好操作系统,并安装Oracle 10g 软件,作为主库,详细过程不在此描述。
2.拷贝虚拟机文件,在VMware中新建备库。
3.在主库中通过运行dbca创建pdb数据库
下面开始正式搭建步骤:
1.设置主库为强制记录日志和归档模式:
3.修改主库参数文件pfile
添加如下内容:
准备条件:
1.在一台虚拟机上安装好操作系统,并安装Oracle 10g 软件,作为主库,详细过程不在此描述。
2.拷贝虚拟机文件,在VMware中新建备库。
3.在主库中通过运行dbca创建pdb数据库
下面开始正式搭建步骤:
1.设置主库为强制记录日志和归档模式:
SQL> alter database force logging;
Database altered.
查看归档模式:
查看归档模式:
SQL> archive log list;
Database log mode Archive Mode
Automatic archival Enabled
Archive destination /u01/arch
Oldest online log sequence 7
Next log sequence to archive 9
Current log sequence 9
并且配置好主备库的监听和tnsnames.ora
2.在主库上创建standby redologs(一般standby redo要比online redo多一组),此日志主要目的是为了当primary库切换为standby库的时候,做为standby库也能正常运行。
2.在主库上创建standby redologs(一般standby redo要比online redo多一组),此日志主要目的是为了当primary库切换为standby库的时候,做为standby库也能正常运行。
SQL> alter database add standby logfile group 4('/u01/oracle/oradata/pdb/sbredo04.log ') size 100m;
3.修改主库参数文件pfile
添加如下内容:
db_unique_name=pdb
log_archive_dest_1='location=/u01/arch valid_for=(all_logfiles,all_roles) db_unique_name=pdb'
log_archive_dest_2='SERVICE=sdb LGWR ASYNC VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=sdb'
log_archive_config='dg_config=(pdb,sdb)'
log_archive_dest_state_2=enable
log_archive_dest_state_1=enable
fal_server=sdb
fal_client=pdb
db_file_name_convert='/u01/oracle/oradata/pdb','/u01/oracle/oradata/sdb'
log_file_name_convert='/u01/oracle/oradata/pdb ','/u01/oracle/oradata/sdb'
standby_file_management=auto
4.启动数据库,创建备库控制文件
SQL> alter database create standby controlfile as '/u01/oracle/oradata/pdb/sdbcontrol1.ctl';
Database altered.
5.复制备库控制文件和pfile到备库,并且在备库dbs目录下创建密码文件
创建密码文件:
[oracle@ocp dbs]$ orapwd file=orapwpdb password=oracle
SQL> select sequence#, first_time, next_time from v$archived_log order by sequence#;
在主库上切换日志:
SQL> alter system switch logfile;
再在备库上运行:
SQL> select sequence#, first_time, next_time from v$archived_log order by sequence#;
来测试日志是否从主库传送到备库
总结:
通过以上步骤,DataGuard 环境便搭建完成。需要注意的是,要保证主备库的listener和tnsnames都配置正确。
5.复制备库控制文件和pfile到备库,并且在备库dbs目录下创建密码文件
创建密码文件:
[oracle@ocp dbs]$ orapwd file=orapwpdb password=oracle
6.在主库执行
SQL>alter database begin backup;
SQL>alter database begin backup;
然后复制所有的数据文件到备库目录下
然后执行:
SQL>alter database end backup;
SQL>alter database end backup;
7.修改备库的参数文件,添加以下内容,并在备库系统中建立参数文件中指定的所有目录:
log_archive_dest_1='location=/u01/arch valid_for=(all_logfiles,all_roles) db_unique_name=sdb'
db_unique_name=sdb
log_archive_dest_2='SERVICE=pdb LGWR ASYNC VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=pdb'
log_archive_config='dg_config=(sdb,pdb)'
log_archive_dest_state_2=enable
log_archive_dest_state_1=enable
fal_server=pdb
fal_client=sdb
db_file_name_convert='/u01/oracle/oradata/pdb','/u01/oracle/oradata/sdb'
log_file_name_convert='/u01/oracle/oradata/pdb','/u01/oracle/oradata/sdb'
standby_file_management=auto
8.用pfile启动备库到mount状态
SQL>startup mount pfile=‘u01/oracle/product/10gr2/db10g/dbs/initpdb.ora';
SQL>startup mount pfile=‘u01/oracle/product/10gr2/db10g/dbs/initpdb.ora';
9.在备库中执行:
alter database recover managed standby database disconnect from session
alter database recover managed standby database disconnect from session
10.这个时候可以去测试日志是否可以发送过去了
在备库查看归档日志:SQL> select sequence#, first_time, next_time from v$archived_log order by sequence#;
在主库上切换日志:
SQL> alter system switch logfile;
再在备库上运行:
SQL> select sequence#, first_time, next_time from v$archived_log order by sequence#;
来测试日志是否从主库传送到备库
总结:
通过以上步骤,DataGuard 环境便搭建完成。需要注意的是,要保证主备库的listener和tnsnames都配置正确。
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/15592508/viewspace-735623/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/15592508/viewspace-735623/