SQL> CREATE TABLESPACE logmnrts DATAFILE
'/data/mxdell/logmnrts01.DBF' SIZE 2000M
AUTOEXTEND OFF
EXTENT MANAGEMENT LOCAL UNIFORM. SIZE 10M ;
SQL> EXECUTE DBMS_LOGMNR_D.SET_TABLESPACE('logmnrts');
如果执行报错,可能需要增大logmnrts 表空间大小 。
SQL>show parameter LOG_ARCHIVE_LOCAL_FIRST; 确认使用默认的本地先归档(true)
SQL>alter system set archive_lag_target=600 scope=both;
设定主库强制10 分钟自动归档一次 (备注: 这里设置这个参数是因为我们使用归
档传输ARCH 方式及最大性能模式,为了使Logical Standby 上数据和Primary DB 上只相差10 分钟以内; 如果不是此种需要,可以不用设置)
由于后续的BMS_LOGSTDBY.BUILD 这个过程会通过闪回查询的方式来获取数据字典的
一致性,因此oracle 初始化参数UNDO_RETENTION 值需要设置的足够大。
Oracle recommends setting the UNDO_RETENTION initialization parameter to 3600
on both the primary and logical standby databases ,Oracle10g 默认undo_retention
为900,这里设置为3600, 同样Standby 上的参数也需要设置为3600。
SQL>alter system set undo_retention=3600 scope=both;
SELECT * FROM DBA_LOGSTDBY_SKIP;
查看逻辑Standby 的过滤操作; 对于一些系统schema,逻辑备库默认是忽略其实际变
更的。逻辑备库和主库只是逻辑意义上也就是用户数据保持一致,元数据自然是不应该复制
的,否则就乱套了,所以不要在系统schema 上建立任何用户自己的数据表等 。
SQL> select owner,name from DBA_LOGSTDBY_SKIP;
OWNER NAME
------------------------------ ------------------------------
SYSTEM %
SYS %
DIP %
OUTLN %
二. 在Standby Server 上建立物理STANDBY
这里Physical Standby 中DB_NAME 及DB_UNIQUE_NAME 均为MXDELL 。spfile 是直接
拷贝主库上的参数文件,并根据具体内存修改。这里假设两台Server 硬体配置一样 。
Oracle10g Logical Standby 建立及管理
热备份或RMAN 建立物理Standby
Primary DB 上参数修改:
*.db_name='mxdell'
*.db_unique_name='mxdell'
*.log_archive_dest_1='location=/data/mxdell/arch
valid_for=(all_logfiles,all_roles) db_unique_name=mxdell'
*.log_archive_dest_2='service=standby valid_for=(online_logfiles,primary_role)
db_unique_name=mxstandby'
*.log_archive_dest_state_1='enable'
*.log_archive_dest_state_2='enable'
备注: 按照Oracle10g 物理Standby 标准文档,建立物理Standby 过程中主库中的参数还
有一些用于主库备库互相切换的参数比如fal_server,fal_client 等 ,这里不做切换打算,暂时不设置。 详情参考:
http://download.oracle.com/docs/cd/B19306_01/server.102/b14239/create_ps.htm
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/12137615/viewspace-617346/ ,如需转载,请注明出处,否则将追究法律责任。