重命名数据文件
如果primary 数据库重命令了一个或多个数据文件,该项修改并不会自动传播到standby 数据库。
如果你想让standby 和数据文件与primary 保持一致,那你也只能自己手工操作了。就算STANDBY_FILE_MANAGEMENT 也帮不上忙啦,不管它是auto 还是manual。
下面通过示例做个演示:
A).将重命名的数据文件所在表空间offline –primary 数据库操作
SQL> alter tablespace users offline; Tablespace altered.
B).手工将数据文件改名(操作系统) –primary 数据库操作
C).通过命令修改数据字典中的数据文件路径,并online 表空间–primary 数据库操作
SQL> alter tablespace users rename datafile '/u01/app/oracle/oradata/jytest/users01.dbf' to '/u01/app/oracle/oradata/jytest/myusers01.dbf'; Tablespace altered. SQL> alter tablespace users online; Tablespace altered.
D).暂停redo 应用,并shutdown –standby 数据库操作
SQL> alter database recover managed standby database cancel; Database altered. SQL> shutdown immediate; ORA-01507: database not mounted
E).手工将数据文件改名(操作系统) –standby 数据库操作
F).重启standby,修改数据文件路径(数据字典) –standby 数据库操作
SQL> startup mount; ORACLE instance started. Total System Global Area 6442450944 bytes Fixed Size 2030368 bytes Variable Size 1090520288 bytes Database Buffers 5335154688 bytes Redo Buffers 14745600 bytes Database mounted. SQL> alter database rename file 2 '/u01/app/oracle/oradata/jytest/users01.dbf' to 3 '/u01/app/oracle/oradata/jytest/myusers01.dbf'; 表空间已更改
G).重新启动redo 应用。
SQL> alter system set standby_file_management='MANUAL' scope=both; System altered. SQL> alter database rename file '/u01/app/oracle/oradata/jytest/users01.dbf' to '/u01/app/oracle/oradata/jytest/myusers01.dbf'; Database altered. SQL> alter system set standby_file_management='AUTO' scope=both; System altered.
H).切换日志–primary 数据库操作
SQL> alter system switch logfile; 系统已更改。