0

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

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

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

4

2 回答 2

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;

这是你需要的吗?

于 2017-12-15T09:04:06.177 回答
0

你可以使用AFTER STARTUP Triggers.

create or replace trigger
   tr_startup_actions
after startup on database
begin

procedure_runing_query(p_arg1);
end;
/

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

于 2017-12-15T09:04:56.797 回答