在主库中重命令数据文件(即手动在备库修改相等的变化)
当你在主库中重命名一个或多个数据文件时,备库是不会发生相应的变化的。因此,如果你想在备库重命名相同的数据文件,你必须手动在备库中做相等的修改。因为这些改变不是自动的,甚至STANDBY_FILE_MANAGEMENT设置为AUTO也不会发生改变的。
按照以下描述来在主库重命名数据文件,而手动将这些改变传播到备库中去。
1.在主库中重命名数据文件,先将表空间脱机:
SQL> ALTER TABLESPACE tbs_4 OFFLINE;
- 退出SQL提示符,使用操作系统命令,像unix的mv命令,在主库操作系统上重命名数据文件:
% mv /disk1/oracle/oradata/payroll/tbs_4.dbf
/disk1/oracle/oradata/payroll/tbs_x.dbf
- 在主库上发出以下命令来重命名数据文件,然后将表空间联机:
SQL> ALTER TABLESPACE tbs_4 RENAME DATAFILE 2> '/disk1/oracle/oradata/payroll/tbs_4.dbf'
3> TO '/disk1/oracle/oradata/payroll/tbs_x.dbf';
SQL> ALTER TABLESPACE tbs_4 ONLINE;
- 连接备库,查询V$ARCHIVED_LOG 视图来验证所有的归档日志已经应用,然后停止重做应用:
SQL> SELECT SEQUENCE#,APPLIED FROM V$ARCHIVED_LOG ORDER BY SEQUENCE#;
SEQUENCE# APP
--------- ---
8 YES
9 YES
10 YES
11 YES
4 rows selected.
SQL> ALTER DATABASE RECOVER MANAGED STANDBY DATABASE CANCEL;
5.关闭备库
SQL> SHUTDOWN;
6.在备库的操作环境使用操作系统命令,如UNIX的mv命令,来重命名数据文件:
% mv /disk1/oracle/oradata/payroll/tbs_4.dbf /disk1/oracle/oradata/payroll/tbs_x.dbf
7.启动并装载备库:
SQL> STARTUP MOUNT;
8.在备库上重命名数据文件到控制文件里,注意:STANDBY_FILE_MANAGEMENT初始化参数必须设置为MANUAL
SQL> ALTER DATABASE RENAME FILE '/disk1/oracle/oradata/payroll/tbs_4.dbf'
2> TO '/disk1/oracle/oradata/payroll/tbs_x.dbf';
9.在备库重新启动重做应用:
SQL> ALTER DATABASE RECOVER MANAGED STANDBY DATABASE
2> DISCONNECT FROM SESSION;
如果你没有在备库重命名相应的数据文件,那么试着刷新备库控制文件时,备库会尝试使用已命名的数据文件,但是找不到它。因此,你会在告警日志看到如下相似的错误信息:
ORA-00283: recovery session canceled due to errors
ORA-01157: cannot identify/lock datafile 4 - see DBWR trace file
ORA-01110: datafile 4: '/Disk1/oracle/oradata/payroll/tbs_x.dbf'
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/31448824/viewspace-2138153/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/31448824/viewspace-2138153/