重建outln使用者指令碼(不知道以前在什麼地方看到的,現貼出共享)
-- createoutln.sql的詳細指令碼
[@more@]set serveroutput ondeclare
user_exists exception;
outln_user number;
outln_tables number;
extra_outln_tables number;
ddl_cursor integer;
begin
select count(*) into outln_user from user$ where name = 'OUTLN';
select count(*)
into outln_tables
from obj$
where name in ('OL$', 'OL$HINTS') and
owner# = (select user# from user$ where name = 'OUTLN');
select count(*)
into extra_outln_tables
from obj$
where name not in ('OL$', 'OL$HINTS') and type# = 2 and
owner# = (select user# from user$ where name = 'OUTLN');
ddl_cursor := dbms_sql.open_cursor;
if outln_user = 0
then
dbms_sql.parse(ddl_cursor,
'create user outln identified by outln',
dbms_sql.native);
dbms_sql.parse(ddl_cursor,
'grant connect, resource, execute any procedure to outln',
dbms_sql.native);
dbms_sql.parse(ddl_cursor,
'create table outln.ol$ ( ' ||
'ol_name varchar2(30), ' || 'sql_text long, ' ||
'textlen number, ' || 'signature raw(16), ' ||
'hash_value number, ' || 'category varchar2(30), ' ||
'version varchar2(64), ' || 'creator varchar2(30), ' ||
'timestamp date, ' || 'flags number, ' ||
'hintcount number)',
dbms_sql.native);
dbms_sql.parse(ddl_cursor,
'create table outln.ol$hints ( ' ||
'ol_name varchar2(30), ' || 'hint# number, ' ||
'category varchar2(30), ' || 'hint_type number, ' ||
'hint_text varchar2(512), ' || 'stage# number, ' ||
'node# number, ' || 'table_name varchar2(30), ' ||
'table_tin number, ' || 'table_pos number)',
dbms_sql.native);
dbms_sql.parse(ddl_cursor,
'create unique index outln.ol$name ' ||
'on outln.ol$(ol_name)',
dbms_sql.native);
dbms_sql.parse(ddl_cursor,
'create unique index outln.ol$signature ' ||
' on outln.ol$(signature,category)',
dbms_sql.native);
dbms_sql.parse(ddl_cursor,
'create unique index outln.ol$hnt_num ' ||
' on outln.ol$hints(ol_name, hint#)',
dbms_sql.native);
dbms_output.put_line('OUTLN CREATION SUCCESSFUL');
else
if outln_tables != 2 or extra_outln_tables != 0
then
dbms_output.put_line('ERROR - OUTLN USER ALREADY EXISTS');
raise user_exists;
else
dbms_output.put_line('OUTLN CREATION SUCCESSFUL');
end if;
end if;
exception
when user_exists then
raise;
end;
/
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/802415/viewspace-823070/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 不知道是幹什麼的指令碼指令碼
- 為什麼在 Redis 實現 Lua 指令碼事務?Redis指令碼
- EJB中資料驗證出現在什麼地方最合適(轉載) (轉)
- 什麼是共享WiFi專案,共享WiFi現在還可以做嗎?WiFi
- 企業雲盤的檔案管理優勢體現在什麼地方
- 前端開發的難點到底在什麼地方?前端
- oracle 索引重建提示指令碼Oracle索引指令碼
- 重建重定位表指令碼指令碼
- printf以前不知道的使用方式
- 以前端角度出發做好SEO需要考慮什麼前端
- 什麼是Shell指令碼?Shell指令碼在Linux運維工作中的地位!指令碼Linux運維
- 看小說看到現在
- 刪除七天以前檔案的指令碼指令碼
- 共享wifi貼碼推廣怎麼加入?內部經驗教你共享wifi碼代理怎麼做!WiFi
- 自動重建失效index的shell指令碼Index指令碼
- oracle重建controlfile指令碼Oracle指令碼
- 共享wifi貼碼推廣怎麼賺錢,如何加入?WiFi
- 拿什麼解救你我的指令碼?指令碼
- 什麼是Shell指令碼?指令碼
- REST實戰討論組的文件資料在什麼地方?REST
- 【故障處理】ORA-18008: cannot find OUTLN schema暨OUTLN使用者的建立
- 為什麼網頁出現亂碼現象網頁
- 看到unwrap的,我們也做個自動wrap當前使用者的procedurefunctionpackage指令碼FunctionPackage指令碼
- 最程式碼的上傳的程式碼檔案儲存什麼地方呢?
- [20220328]查詢游標為什麼不共享指令碼.txt指令碼
- oracle 索引什麼時候重建和重建方法討論Oracle索引
- [20170904]11Gr2 查詢游標為什麼不共享指令碼指令碼
- rhel5_shell_刪除重建使用者user_匯入dmp_指令碼指令碼
- 來說說看到的求職路上可以提高的地方——簡歷求職
- 如何讓指令碼在任意地方可執行指令碼
- 轉貼:RMAN備份指令碼(Unix)指令碼
- 區域網在網路層有什麼不安全的地方嗎?(轉)
- 伺服器為什麼這麼貴?成本體現在哪些地方伺服器
- 以前的程式設計師,現在的程式設計師程式設計師
- [20220420]完善查詢游標為什麼不共享指令碼.txt指令碼
- 2米精度的遙感影像能看到什麼?
- 什麼是shell指令碼?Linux為什麼學習shell?指令碼Linux
- 為什麼不允許程式碼裡出現“魔數”