--11g,没有pdb的情况:
sql>
create or replace trigger dg_apply_log
after startup on database
begin
declare
db_role varchar(20);
begin
select database_role
into db_role
from v$database;
if db_role = 'PHYSICAL STANDBY' then
execute immediate 'alter database recover managed standby database using current logfile disconnect from session';
end if;
end;
end dg_apply_log;
/
--12c,有pdb的情况
sql>
create or replace trigger dg_apply_log
after startup on database
begin
declare
database_role varchar(20);
begin
select database_role
into database_role
from v$database;
if database_role = 'PHYSICAL STANDBY' then
execute immediate 'alter database recover managed standby database disconnect from session';
execute immediate 'alter pluggable database all open';
end if;
end;
end dg_apply_log;
/