簡體   English   中英

當您DROP USER但未指定CASCADE時,架構對象會發生什么?

[英]What happens to schema objects when you DROP USER but don't specify CASCADE?

DROP USEROracle文檔指出:“除非指定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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM