oracle启动时如何执行查询?
How to execute query when oracle starting up?
我有一些问题。
我想在 oracle 启动(初始化)时执行一些 SQL 查询。
例如,Linux、Windows等OS在计算机启动时启用运行程序。
无论如何,我的目的是在 oracle 启动时在 oracle 11g r1 中执行一些查询。
这里有一个例子:
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;
这是您需要的吗?
您可以使用 AFTER STARTUP Triggers
.
create or replace trigger
tr_startup_actions
after startup on database
begin
procedure_runing_query(p_arg1);
end;
/
运行 您需要在过程内或块内进行的查询(如果需要)。但是,您应该决定一种将查询结果存储在某处的方法。将其存储在 table 中会更好。
我有一些问题。 我想在 oracle 启动(初始化)时执行一些 SQL 查询。
例如,Linux、Windows等OS在计算机启动时启用运行程序。
无论如何,我的目的是在 oracle 启动时在 oracle 11g r1 中执行一些查询。
这里有一个例子:
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;
这是您需要的吗?
您可以使用 AFTER STARTUP Triggers
.
create or replace trigger
tr_startup_actions
after startup on database
begin
procedure_runing_query(p_arg1);
end;
/
运行 您需要在过程内或块内进行的查询(如果需要)。但是,您应该决定一种将查询结果存储在某处的方法。将其存储在 table 中会更好。