Oracle当前数据库用户访问另一个用户的表
2014-02-24 09:50
591 查看
故事背景是这样的:一个项目大概涉及到4个工程同时开发,在我自己的工程中需要做一个报表,但是要访问另一个工程所连接的DB,当然两个工程的DB Server是在同一个IP上,也就是说我们之间只是schema不一样,那我怎样完成下面的报表的开发呢?
一开始我直接创建了一个DBLink,但是回头和同时沟通,他认为DBLink的影响过大,当两个数据库不在同一个服务器上的时候才会用到这个,当前的情况最好用schema,但是此处还是把创建DBLink的方法写出来方便记忆:
create database link link名称 connect to 对方数据库用户名 identifiedby 对方数据库用户密码using '对方数据库ip:端口/实例名';
Eg:create database linkdbLinkToAA connect to Jason identified by abc123 using ‘serviceA’,创建一个连接就行了
接下来就是用schema了,下面的语句就是用schema做关联
Eg:grant select on Jason.emp to Lucy;
授权查询
关于schema我个人的理解是:A要见B,当A和B在河岸的同一侧(同一个Server),B只要允许A见他就可以了,当A和B不在河岸的同一侧(不同Server),那A要搭一座桥,并且还得获得B的同意,也就是知道B的用户名和密码。
以上是个人理解,如果那里不合适,还请各位指正,共同学习。
一开始我直接创建了一个DBLink,但是回头和同时沟通,他认为DBLink的影响过大,当两个数据库不在同一个服务器上的时候才会用到这个,当前的情况最好用schema,但是此处还是把创建DBLink的方法写出来方便记忆:
create database link link名称 connect to 对方数据库用户名 identifiedby 对方数据库用户密码using '对方数据库ip:端口/实例名';
Eg:create database linkdbLinkToAA connect to Jason identified by abc123 using ‘serviceA’,创建一个连接就行了
接下来就是用schema了,下面的语句就是用schema做关联
Eg:grant select on Jason.emp to Lucy;
授权查询
关于schema我个人的理解是:A要见B,当A和B在河岸的同一侧(同一个Server),B只要允许A见他就可以了,当A和B不在河岸的同一侧(不同Server),那A要搭一座桥,并且还得获得B的同意,也就是知道B的用户名和密码。
以上是个人理解,如果那里不合适,还请各位指正,共同学习。
相关文章推荐
- oracle如何查看当前有哪些用户连接到数据库
- oracle用户权限问题造成访问数据库出错
- oracle访问另一个数据库
- oracle跨数据库跨用户访问注意事项
- Oracle12c Client安装出现"[INS-30131]"错误“请确保当前用户具有访问临时位置所需的权限”解决办法之完整版
- oracle在相同数据库将一个用户的数据备份到另一个用户
- oracle查询在当前数据库下当前用户拥有的表语句
- oracle如何查看当前有哪些用户连接到数据库
- Oracle 数据库权限管理及用户创建以及查看当前实例名
- oracle把一个用户下数据库对象的某个权限赋给另一个用户
- Oracle12 安装:请确保当前用户具有访问临时文件的权限
- Oracle 数据库下 查询当前用户下所有表的记录总数
- Oracle 当前用户给另一个用户授权查询指定表或视图的权,否则另一个用户提示不存在视图或表
- Oracle 删除用户、删除当前用户的数据库表、删除表空间的过程
- 显示当前用户所拥有的表&当前用户可以访问的所有表&数据库中的所有表&当前用户信息&当前用户所能管理的用户&数据库中所拥有的用户
- Oracle中当前用户使用另一用户数据库表的方法
- SQL Server 2008 服务器主体 "某用户" 无法在当前安全上下文下访问数据库 "某数据库"。 (.Net SqlClient Data Provider)
- 安装数据库提示"请确保当前用户具有访问临时文件的权限"解决方法
- oracle 同一个数据库实例下 一个用户下面导入到另一个用户表结构还有数据