CREATE TABLE t_test (id VARCHAR2(255), name VARCHAR2(255));
DROP TABLE t_test;
當我按下面的查詢看user_recyclebin
表,空的結果在USER_RECYCLEBIN表
SELECT * FROM user_recyclebin;
沒有選擇行,我不能閃回t_test
表。請解釋我。爲什麼?
CREATE TABLE t_test (id VARCHAR2(255), name VARCHAR2(255));
DROP TABLE t_test;
當我按下面的查詢看user_recyclebin
表,空的結果在USER_RECYCLEBIN表
SELECT * FROM user_recyclebin;
沒有選擇行,我不能閃回t_test
表。請解釋我。爲什麼?
回收站僅適用於非系統,本地管理表空間。
你這樣做是因爲SYSTEM
,這是一個非常糟糕的主意,原因很多。在這種情況下,SYSTEM
的默認表空間爲SYSTEM
,這可能是本地管理的,但不符合「非系統」要求。
但實際上don't create your own objects as SYSTEM
:
系統用戶名來創建更多的表和視圖 這顯示管理信息,以及內部表和視圖 各種Oracle數據庫選項和工具使用。切勿使用 SYSTEM架構來存儲非管理用戶感興趣的表。
請勿使用SYS
或者任何默認帳戶。創建您自己的用戶並在該架構下創建對象。
我可以由具有DBA角色的新用戶執行此操作嗎? –
我喜歡那個** GRANT DBA TO用戶名**。但它還沒有工作。 –
@PyaeThuAung - 除非您真的需要,否則您不應該授予DBA;您應該授予用戶最低權限以讓他們執行其活動;而且您應該通過角色授予這些角色以便更輕鬆地進行管理。儘管如此,評論的討論太長了。也許從[安全指南]開始(http://docs.oracle.com/cd/E11882_01/network.112/e16543/users.htm)。 –
SQL * Plus中'show parameters recyclebin'的輸出是什麼? –
NAME是「recyclebin」,TYPE是「string」,VALUE是「on」。 –
您的模式是否符合您的用戶;它可以通過登錄觸發器更改,也許?你是否從'select user',sys_context('USERENV','CURRENT_SCHEMA')中得到了相同的值;'? –