[20180328]不要在sys建立使用者物件.txt
[20180328]不要在sys建立使用者物件.txt
--//好幾年前遇到的問題,開發安裝UTL_DBWS在linux下遇到問題,最後選擇winows下安裝.
--//隨著業務增加,無法支撐,需要資料庫組遷移到linux下,也就是我當時的安裝筆記:
--//http://blog.itpub.net/267265/viewspace-2099501/
--//但是在遷移中遇到一件我苦笑不得的事情,開發把整個應用建立在sys使用者下,無語.好在應用不大,很容易移植.
--//實際上不要在sys下建立任何用物件.透過一個簡單的例子加強印象.
1.環境:
SYS@book> @ &r/ver1
PORT_STRING VERSION BANNER
------------------------------ -------------- --------------------------------------------------------------------------------
x86_64/Linux 2.4.xx 11.2.0.4.0 Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
SYS@book> select count(*) from dba_objects where status = 'INVALID';
COUNT(*)
----------
1
--//僅僅有1個無效物件.
SYS@book> create table SYS.SYSTEM (id number);
Table created.
SYS@book> select count(*) from dba_objects where status = 'INVALID';
COUNT(*)
----------
176
--//建立一個特殊的表system,就導致無效物件增加到176.
--//重新編譯看看:
SYS@book> @ /u01/app/oracle/product/11.2.0.4/dbhome_1/rdbms/admin/utlrp.sql
SYS@book> select count(*) from dba_objects where status = 'INVALID';
COUNT(*)
----------
39
--//依舊有39-1個.
SYS@book> drop table sys.system purge ;
Table dropped.
SYS@book> @ /u01/app/oracle/product/11.2.0.4/dbhome_1/rdbms/admin/utlrp.sql
...
SYS@book> select count(*) from dba_objects where status = 'INVALID';
COUNT(*)
----------
1
--//實際上建立在sys下還有許多問題,比如一些oracle特性無效,資料建立在system表空間等等.
--//總之下次拿這個例子來嚇唬一下開發...
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/267265/viewspace-2152280/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- [20181006]建立測試使用者scott.txt
- [20211112]SYS_CONTEXT ('USERENV','DBID').txtContext
- [20210223]sys與Extended Data Types.txt
- 在身份認證後建立使用者物件ICurrentUser物件
- Linux 建立使用者不建立家目錄,配置ssh金鑰的方式Linux
- [20191206]確定sys.file$相關資訊.txt
- 做學問要在不疑之處有疑
- 物件建立模式物件模式
- JS 建立物件JS物件
- [20180702]物件名重用.txt物件
- [20181116]SYS_CONTEXT函式的使用(12c).txtContext函式
- JavaScript物件與建立物件的方式JavaScript物件
- Java 中建立子類物件會建立父類物件麼?Java物件
- JS-建立物件JS物件
- ajax建立XMLHttpRequest物件XMLHTTP物件
- 07物件的建立物件
- AJAX 建立 XMLHttpRequest物件XMLHTTP物件
- Java物件建立模式Java物件模式
- PHP 建立流式物件PHP物件
- JS物件導向設計-建立物件JS物件
- [20231011]查詢sys.optstat_snapshot$瞭解表的DML情況.txt
- js 建立圖片物件JS物件
- JavaScript 建立物件的方式JavaScript物件
- js物件建立進階JS物件
- 建立和銷燬物件物件
- js建立物件的方式JS物件
- js建立物件的方法JS物件
- createObjectStore() 建立物件倉庫Object物件
- [JVM]物件建立過程JVM物件
- 類與物件的建立物件
- PHP 建立鏈式物件PHP物件
- javascript使用new建立物件JavaScript物件
- 物件的建立和分配物件
- JavaScript物件導向—物件的建立和操作JavaScript物件
- [20181113]Logical Standby建立2.txt
- [20191122]schama建立同義詞.txt
- [20201110]oracle建立索引nosrt.txtOracle索引
- [20190531]建立job與commit.txtMIT