关于Dblink和视图结合,查询数据的疑问

大博力敢 2014-07-03 10:32:15
需要跨实例来查询数据,创建了DBlink和本地视图,然后通过PLSQL 查询的时候,每次plsql那个commit和回滚按钮都会高亮(也就是说都会产生实物,需要处理。)

谁能告诉下我为什么?怎么处理? 这个查询我是要在报表里面用到,所以后面跟个commit不是很好。跪求大神。
...全文
499 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
大博力敢 2014-07-08
  • 打赏
  • 举报
回复
引用 10 楼 cxyy_ 的回复:
在本地新建个物理视图吧,能解决你的问题。
物化视图怎么解决?物化视图 会合适触发同步?我不是很清楚,等我搜索下。谢谢。
cxyy_ 2014-07-05
  • 打赏
  • 举报
回复
在本地新建个物理视图吧,能解决你的问题。
AcHerat 2014-07-03
  • 打赏
  • 举报
回复
对操作的对象建立一个同义词,如果是表建立一个本地的远程视图看看!
流浪川 2014-07-03
  • 打赏
  • 举报
回复
其实细想一下,只要commit rollback开启,证明开启了新事务。。不管你是什么操作查询也好、其他操作也好,是启动了新事务的。
CT_LXL 2014-07-03
  • 打赏
  • 举报
回复
引用 楼主 lidonglz 的回复:
需要跨实例来查询数据,创建了DBlink和本地视图,然后通过PLSQL 查询的时候,每次plsql那个commit和回滚按钮都会高亮(也就是说都会产生实物,需要处理。) 谁能告诉下我为什么?怎么处理? 这个查询我是要在报表里面用到,所以后面跟个commit不是很好。跪求大神。
当你用进行DBlink操作数据库时,远程的数据库并不能识别远程的请求是否是一个DML还是普通的查询,所以每个连接都会新建一个Session,即使是select也是如此
CT_LXL 2014-07-03
  • 打赏
  • 举报
回复
引用 8 楼 lidonglz 的回复:
[quote=引用 7 楼 zlloct 的回复:] [quote=引用 6 楼 lidonglz 的回复:] [quote=引用 1 楼 zlloct 的回复:] [quote=引用 楼主 lidonglz 的回复:] 需要跨实例来查询数据,创建了DBlink和本地视图,然后通过PLSQL 查询的时候,每次plsql那个commit和回滚按钮都会高亮(也就是说都会产生实物,需要处理。) 谁能告诉下我为什么?怎么处理? 这个查询我是要在报表里面用到,所以后面跟个commit不是很好。跪求大神。
当你用进行DBlink操作数据库时,远程的数据库并不能识别远程的请求是否是一个DML还是普通的查询,所以每个连接都会新建一个Session,即使是select也是如此 [/quote] 跪求如何解决。我要在我本地查询[/quote] 是本地数据库的事务 加上set transaction read only; [/quote] 加上这个以后还是不行,在查询的时候还是会有事务产生~~[/quote] 加了这个能让你在远端的DB没有session产生,这样就不会对操作的对象加锁。其实你可以忽略本地产生的事务,因为你并没有对本地对象进行操作,也不会产生lock.
大博力敢 2014-07-03
  • 打赏
  • 举报
回复
引用 7 楼 zlloct 的回复:
[quote=引用 6 楼 lidonglz 的回复:] [quote=引用 1 楼 zlloct 的回复:] [quote=引用 楼主 lidonglz 的回复:] 需要跨实例来查询数据,创建了DBlink和本地视图,然后通过PLSQL 查询的时候,每次plsql那个commit和回滚按钮都会高亮(也就是说都会产生实物,需要处理。) 谁能告诉下我为什么?怎么处理? 这个查询我是要在报表里面用到,所以后面跟个commit不是很好。跪求大神。
当你用进行DBlink操作数据库时,远程的数据库并不能识别远程的请求是否是一个DML还是普通的查询,所以每个连接都会新建一个Session,即使是select也是如此 [/quote] 跪求如何解决。我要在我本地查询[/quote] 是本地数据库的事务 加上set transaction read only; [/quote] 加上这个以后还是不行,在查询的时候还是会有事务产生~~
CT_LXL 2014-07-03
  • 打赏
  • 举报
回复
引用 6 楼 lidonglz 的回复:
[quote=引用 1 楼 zlloct 的回复:] [quote=引用 楼主 lidonglz 的回复:] 需要跨实例来查询数据,创建了DBlink和本地视图,然后通过PLSQL 查询的时候,每次plsql那个commit和回滚按钮都会高亮(也就是说都会产生实物,需要处理。) 谁能告诉下我为什么?怎么处理? 这个查询我是要在报表里面用到,所以后面跟个commit不是很好。跪求大神。
当你用进行DBlink操作数据库时,远程的数据库并不能识别远程的请求是否是一个DML还是普通的查询,所以每个连接都会新建一个Session,即使是select也是如此 [/quote] 跪求如何解决。我要在我本地查询[/quote] 是本地数据库的事务 加上set transaction read only;
大博力敢 2014-07-03
  • 打赏
  • 举报
回复
引用 1 楼 zlloct 的回复:
[quote=引用 楼主 lidonglz 的回复:] 需要跨实例来查询数据,创建了DBlink和本地视图,然后通过PLSQL 查询的时候,每次plsql那个commit和回滚按钮都会高亮(也就是说都会产生实物,需要处理。) 谁能告诉下我为什么?怎么处理? 这个查询我是要在报表里面用到,所以后面跟个commit不是很好。跪求大神。
当你用进行DBlink操作数据库时,远程的数据库并不能识别远程的请求是否是一个DML还是普通的查询,所以每个连接都会新建一个Session,即使是select也是如此 [/quote] 跪求如何解决。我要在我本地查询
大博力敢 2014-07-03
  • 打赏
  • 举报
回复
引用 2 楼 hidanger521 的回复:
其实细想一下,只要commit rollback开启,证明开启了新事务。。不管你是什么操作查询也好、其他操作也好,是启动了新事务的。
那如何解决?以前我记得不是这样的呀。
大博力敢 2014-07-03
  • 打赏
  • 举报
回复
引用 3 楼 AcHerat 的回复:
对操作的对象建立一个同义词,如果是表建立一个本地的远程视图看看!
创建一个同义词就可以吗??

17,086

社区成员

发帖
与我相关
我的任务
社区描述
Oracle开发相关技术讨论
社区管理员
  • 开发
  • Lucifer三思而后行
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧