【求助】 让表空间启动后offline
各位大大,本人新手,想在启动数据库实例后让某个指定的表空间offline,需要时再手动Online,从而给外部用户整体感觉就是该表空间从未online过。
由于对oracle启动顺序的了解仅限于nomount mount open的阶段,因此希望在open之前改变该表空间的相关参数从而使之不open。
我是这样处理的:
创建一个系统事件触发器,里面调用一个存储过程:
create or replace trigger my_trigger after startup on database
begin
my_procedure;
end;
存储过程是:
create or replace procedure my_procedure authid current_user
is
begin
execute immediate 'alter tablespace my_tablespace offline normal';
end;
单独在sqlplus里面执行my_procedure是可以的,触发器也能正常触发。但是重启oracle服务(直接在windows服务管理器里面重启OracleServiceXXX服务),它为什么没起作用呢?还是我的处理方向有问题?
跪求大神们解惑,本人感激不尽。