[英]What happens to schema objects when you DROP USER but don't specify CASCADE?
DROP USER
的Oracle文檔指出:“除非指定CASCADE
否則Oracle數據庫不會刪除其模式包含對象的用戶”。
我的理解是所有模式都必須有一個關聯的用戶帳戶(盡管可以通過限制CREATE SESSION
命令限制該帳戶使用等等)。 但是當您使用DROP USER
命令時,以前擁有的對象實際發生了什么? 如果用戶不再存在...那么哪個帳戶擁有這些對象?
對於Context ,我是開發人員而不是DBA,並且我的數據庫沒有DCL權限,因此我無法自己測試。 我正在進行一個遷移項目,其中可能需要此命令,但我希望在將請求傳遞給我的Enterprise DBA團隊之前更好地理解其含義。
如果您嘗試刪除用戶(例如THE_USER)而未指定CASCADE,則會收到以下錯誤:
ORA-01922: CASCADE must be specified to drop 'THE_USER'
將CASCADE
選項與DROP USER
語句一起使用,或在刪除用戶之前手動刪除所有用戶對象。
HTH
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.