Oracle-10g

在 oracle 10g 中映射使用者

  • July 2, 2013

這是場景:

在 oracle 10g 中創建了兩個模式,比如 db 1 和 db 2。db1 可以通過使用者名訪問 : sys 和密碼,而 db2 可以通過使用者名訪問 : test 和密碼。

如何使用使用者名訪問 db1 :使用密碼進行測試?在 MSSQL 中有一個選項用於將使用者映射到不同的數據庫。oracle 10g中是否有任何此類選項可以執行相同操作?

假設“db1”和“db2”實際上是 Oracle 數據庫,則沒有類似的選項。

SQL Server 所稱的“數據庫”大致相當於 Oracle 所稱的“模式”。在 Oracle 中,您通常只會在伺服器上執行一個數據庫,儘管該數據庫可能有許多不同的模式來支持多個應用程序。每個 Oracle 數據庫都有一組完全獨立的使用者。

您可以在 db2 中創建一個連接到 db1 的數據庫連結,並允許test使用者使用該數據庫連結來訪問 db1 數據庫上模式中的對象。更進一步,您可以使用該數據庫連結將數據從 db1 複製到 db2,以便您可以在本地查詢它。這與您將一個數據庫中的數據公開給另一個數據庫中的使用者一樣接近。

當然,根據您的描述,您完全有可能在同一個數據庫中只有兩個模式,在這種情況下,您可以使用適當的GRANT語句自由地將任何模式中的對象的訪問權限授予任何使用者。

引用自:https://dba.stackexchange.com/questions/45610