ITPub博客

首页 > Linux操作系统 > Linux操作系统 > 虚拟机下搭建Linux Oracle10g DataGuard

虚拟机下搭建Linux Oracle10g DataGuard

原创 Linux操作系统 作者:dukewyh 时间:2012-07-16 15:12:40 0 删除 编辑
实验环境:Linux RedHat 5, VMware Server 1.0.6

准备条件:
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库也能正常运行。
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

6.在主库执行

SQL>alter database begin 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';
9.在备库中执行:

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/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2011-04-12

  • 博文量
    28
  • 访问量
    82289