oracle启动时如何执行查询?

时间:2017-12-15 08:58:15

标签: oracle oracle11gr1

我有一些问题。 我希望在oracle启动(初始化)时执行一些SQL查询。

例如,Linux,Windows等操作系统可以在计算机启动时运行程序。

无论如何,当oracle启动时,我的目的是在oracle 11g r1中执行一些查询。

2 个答案:

答案 0 :(得分:0)

这是一个例子:

CREATE OR REPLACE TRIGGER 
   manage_service
after startup on database
DECLARE
   role VARCHAR(30);
BEGIN
   SELECT DATABASE_ROLE INTO role FROM V$DATABASE;
   IF role = 'PRIMARY' THEN
      DBMS_SERVICE.START_SERVICE('sales_rw');
   ELSE
      DBMS_SERVICE.START_SERVICE('sales_ro');
END IF;
END;

这就是你需要的吗?

答案 1 :(得分:0)

您可以使用AFTER STARTUP Triggers

create or replace trigger
   tr_startup_actions
after startup on database
begin

procedure_runing_query(p_arg1);
end;
/

如果需要,可以在过程内或块内运行所需的查询。但是,您应该决定在某处存储查询结果的方法。将它存储在表格中会更好。