Oracle documentation對於DROP USER
指出: 「除非您指定CASCADE
」,否則Oracle數據庫不會刪除其架構包含對象的用戶。當DROP USER但是不指定CASCADE時,模式對象會發生什麼?
我的理解是,所有模式都必須有一個關聯的用戶帳戶(儘管通過限制CREATE SESSION
命令等可以限制該帳戶的使用)。但是,當您使用DROP USER
命令時,以前擁有的對象實際上發生了什麼?如果用戶不再存在...那麼哪個帳戶擁有這些對象?
對於上下文,我是一名開發人員而不是DBA,對我的數據庫沒有DCL權限,所以我無法親自測試。我正在開發一個遷移項目,在此項命令可能是必要的,但我希望在將請求傳遞給我的企業DBA團隊之前更好地理解其含義。
如果用戶有對象,則不降級沒有CASCADE失敗。 – jarlh
是不是你引用的陳述說的是什麼?如果不指定級聯,它不會(不會)用對象刪除用戶。你不能有孤兒對象。另請注意,如果您放棄了用戶,他們的回收站將被清除;所以如果放棄級聯,那麼用戶的對象將被永久刪除,並且不會進入回收站。 –
@Alex Poole - 是的....第一次肯定讀錯了。我認爲文檔說它不會處理相應的對象,除非你指定了級聯。謝謝 – DanK