Как выполнить запрос при запуске оракула?

У меня есть вопрос. Я хочу выполнить SQL-запрос при запуске оракула (инициализация).

например, Linux, Windows и т. д. ОС позволяют запускать программы при запуске компьютера.

В любом случае, моя цель - выполнить какой-либо запрос в oracle 11g r1, когда oracle запускается.

2 ответа

Решение

Вы могли бы использовать AFTER STARTUP Triggers,

create or replace trigger
   tr_startup_actions
after startup on database
begin

procedure_runing_query(p_arg1);
end;
/

Запустите запрос, который вам нужен, внутри процедуры или внутри блока, если вам это нужно. Но вы должны решить, где хранить результат запроса. хранить его в таблице было бы лучше.

Вот пример:

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;

Это то, что тебе надо?

Другие вопросы по тегам