处理会影响standby database的primary database事件

处理会影响standby database的primary database事件

为了阻止问题的发生,你必须注意那些在primary database上会影响到standby database的事件并能针对这些事件在standby database上运行合理的SQL语句或操作.

在某些情况下,在primary datbase上的改变会自动应用到standby database上,你不需要在standby database上做任何的改变,但在另外一些情况下,你必须做相应的改变.

下面是需要特别注意的操作

1. 添加数据文件或创建表空间

2. 删除数据文件或表空间

3. 重命名数据文件

4. 添加或删除redo log file

5. 改变初始化参数

6. 执行nologgingf或unrecoverable DML或DDL语句

7. 表空传输

针对以上操作的详细说明

1.添加数据文件或创建表空间

初始化参数standby_file_management决定了你在primary database添加数据文件或创建表空能否自动应用到standby database上.

若standby database 初始化参数standby_file_management的值为auto,你不需要做什么操作

standby_file_management值为manual的情况,你就需要进行一些操作了,下面是一个例子

PRIMARY DATABASE:

create tablespace oak

datafile '/u02/oradata/oak01.dbf' size 12m;

alter system switch logfile;

STANDBY DATABASE:

select name from v$datafile;

alter database create datafile

'/u01/app/oracle/product/10.1.0/dbs/unnamed00007'

 as

' /u02/oradata/oak01.dbf';

alter system set standby_file_management=auto;

recover managed standby database disconnect;

2. 删除数据文件或表空间

不管standby_file_management值为auto或manual你都需要在standby datbase上做一些修改

例子:

从primary database删除表空间

drop tablespace oak;

alter system switch logfile;

确保redo已经应用

primary database: select max(sequence#) from v$archived_log;

standby database: select sequence# ,applied from v$archived_log;

查看v$datafile确认表空间已删除

select name from v$datafile;

若已name中不含oak表空间的文件直接从OS删除即可

你可以通过下面的方法直接删除表空间及OS上的文件

drop tablespace oak including contents and datafiles;

alter system switch logfile;

你会发现primary database和standby database上的表空间都会被删除包含OS上的文件

3. 重命名数据文件

即使初始化参数standby_file_management的值为auto你在primary database重命名数据文件也不会应用到standby

例子

primary database重命名数据文件

1.alter tablespace oak offline;

2.mv oak01.dbf oak.dbf

3.alter tablespace oak rename datafile

'/u02/oradata/oak01.dbf'

to '/u02/oradata/oak.dbf';

4. alter tablespace oak online;

standby database

1.alter database recover managed standby database cancel;

2.mv oak01.dbf oak.dbf

3.startup mount

4. alter system set standby_file_management='manual' scope=both;

5. alter database  rename file

  '/u02/oradata/oak01.dbf'

  to '/u02/oradata/oak.dbf';

6. alter database recover managed standby database disconnect  from session;

7. alter system set standby_file_management='auto' scope=both;

其它的注意事件在此就不做介绍了.

 

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/7419833/viewspace-331088/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/7419833/viewspace-331088/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值