1,创建一个表记录所有参数 create table pp as select * from v$parameter; 2,创建一个记录修改的表 create table xg(NAME VARCHAR2(64),NAME vRCHAR2(64)); 3,在pp表上创建一触发器; ceate trigger tg after update on pp for each row begin insert into xg values(:new.name,:new.value); alter system set :new.name=:new.value; end; / 同过修改pp表,来记录并修改系统
1,创建一个表记录所有参数 create table pp as select * from v$parameter; 2,创建一个记录修改的表 create table xg(NAME VARCHAR2(64),NAME vRCHAR2(64)); 3,在pp表上创建一触发器; ceate trigger tg after update on pp for each row declare v_name xg.name%type; v_value xg.value%type; v_str varchar2(1000); begin insert into xg values(:new.name,:new.value); v_str:='alter system set :1=:2'; execute immediate v_str using :new.name,:new.value; end; / 同过修改pp表,来记录并修改系统
create table pp as select * from v$parameter;
2,创建一个记录修改的表
create table xg(NAME VARCHAR2(64),NAME vRCHAR2(64));
3,在pp表上创建一触发器;
ceate trigger tg
after update
on pp
for each row
begin
insert into xg values(:new.name,:new.value);
alter system set :new.name=:new.value;
end;
/
同过修改pp表,来记录并修改系统
create table pp as select * from v$parameter;
2,创建一个记录修改的表
create table xg(NAME VARCHAR2(64),NAME vRCHAR2(64));
3,在pp表上创建一触发器;
ceate trigger tg
after update
on pp
for each row
declare
v_name xg.name%type;
v_value xg.value%type;
v_str varchar2(1000);
begin
insert into xg values(:new.name,:new.value);
v_str:='alter system set :1=:2';
execute immediate v_str using :new.name,:new.value;
end;
/
同过修改pp表,来记录并修改系统
你的方案我也考虑国,通过job是可以解决每天记录某个数据库的init参数;
但是如何做到适时记录init参数的修改呢?
你说的触发器是建立在表pp上的,可是pp表不是时时同步v$parameters视图的。如何做到pp表和v$parameters表同步呢,即:parameter被修改的时候,适时触发记录到表xg呢?
create table pp as select * from v$parameter;表建立了之后,就没有办法同步了吧。而且,补充一下:
需要提取某个数据库a的parameter的值,记录到数据库b中