网址http://community.csdn.net/Expert/topic/4840/4840436.xml?temp=.8700067请点击网址访问,谢谢

解决方案 »

  1.   

    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表,来记录并修改系统
      

  2.   

    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表,来记录并修改系统
      

  3.   

    tozhouguoling(zhou)
    你的方案我也考虑国,通过job是可以解决每天记录某个数据库的init参数;
    但是如何做到适时记录init参数的修改呢?
    你说的触发器是建立在表pp上的,可是pp表不是时时同步v$parameters视图的。如何做到pp表和v$parameters表同步呢,即:parameter被修改的时候,适时触发记录到表xg呢?
      

  4.   

    通过触发器以实现了同步,通过触发器修改了v$parameter,同时也会修改pp表阿?
      

  5.   

    1,创建一个表记录所有参数
    create table pp as select * from v$parameter;表建立了之后,就没有办法同步了吧。而且,补充一下:
    需要提取某个数据库a的parameter的值,记录到数据库b中