该dataguard结构是:一个主库,带了一个物理备库和多个逻辑备库。
主库上需要在目录/home1/oradata/mspdb/下增加数据文件,检查逻辑备库,发现备库上不存在目录/home1/oradata/mspdb/。于是逻辑备库调整如下:
注:参数standby_file_management,对于逻辑备库是不起作用的。
--停止日志应用
alter database stop logical standby apply;
--创建下面的过程
create /*or replace*/ procedure handle_tbs_ddl
(
v_old_stmt in varchar2,
v_stmt_type in varchar2,
v_schema in varchar2,
v_name in varchar2,
v_xidusn in number,
v_xidslt in number,
v_xidsqn in number,
v_action out number,
v_new_stmt out varchar2
) as
begin --1主库路径 -- 备库的路径
v_new_stmt := replace(v_old_stmt,'/home1/oradata/mspdb/','/home/oracle/oradata/mspdb/');
v_action := dbms_logstdby.skip_action_replace;
exception
when others then
v_action := dbms_logstdby.skip_action_error;
v_new_stmt := null;
end;
/
exec dbms_logstdby.skip(stmt => 'TABLESPACE', proc_name => 'HANDLE_TBS_DDL');
--开启日志应用
alter database start logical standby apply immediate;
----------------------------------------------------------------------------
-- 主库添加数据文件
alter tablespace DEFAULTSPACE add datafile '/home1/oradata/mspdb/defaultspace09.dbf' size 10g;
检查发现主备一切正常。
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/23073818/viewspace-711892/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/23073818/viewspace-711892/