这是场景:
在 oracle 10g 中创建了两个模式,比如 db 1 和 db 2。db1 可以通过用户名访问:sys 密码,db2 可以通过用户名访问:test 密码。
如何使用用户名访问 db1:使用密码进行测试?在 MSSQL 中,有一个选项可以将用户映射到不同的数据库。oracle 10g 中是否有这样的选项来做同样的事情?
这是场景:
在 oracle 10g 中创建了两个模式,比如 db 1 和 db 2。db1 可以通过用户名访问:sys 密码,db2 可以通过用户名访问:test 密码。
如何使用用户名访问 db1:使用密码进行测试?在 MSSQL 中,有一个选项可以将用户映射到不同的数据库。oracle 10g 中是否有这样的选项来做同样的事情?
假设“db1”和“db2”实际上是 Oracle 数据库,则没有类似的选项。
SQL Server 所说的“数据库”大致相当于Oracle 所说的“模式”。在 Oracle 中,您通常只会在一台服务器上运行一个数据库,尽管该数据库可能有许多不同的模式来支持多个应用程序。每个 Oracle 数据库都有一组完全独立的用户。
您可以在连接到 db1 的 db2 中创建一个数据库链接,并允许
test
用户使用该数据库链接来访问 db1 数据库上模式中的对象。更进一步,您可以使用该数据库链接将数据从 db1 复制到 db2,以便您可以在本地查询它。这与您将一个数据库中的数据公开给另一个数据库中的用户一样接近。当然,根据您的描述,完全有可能您在同一个数据库中只有两个模式,在这种情况下,您可以使用适当的
GRANT
语句自由地向任何用户授予对任何模式中对象的访问权限。