用dblink能修改_【学习笔记】通过修改基表(link$)让非public dblink变为public
天萃荷净
开发DBA反映创建好的Oracle DBLINK由于应用需要,要将其变为public dblink。由于忘记dblink的目标段的密码,使用修改基表(link$)让非public dblink变为public
创建了一个非public的dblink,现在该数据库的其他用户需要去使用该dblink,在正常情况下无访问权限,需要重新建一个dblink,或者将原dblink修改为public。但是由于忘记了原dblink的目标段的密码,使得创建或者修改dblink的步骤无法进行下去。这里通过修改基表(link$),解决该问题。
1.创建dblink
SQL> show user;
USER is "SYS"
SQL> create database link "xff_dblink"
2 connect to TEST
3 identified by "test"
4 using '11.1.1.1:1521/mcrm';
Database link created.
SQL> select * from dba_db_links where db_link like 'XFF_DBLINK%';
OWNER DB_LINK USERN HOST CREATED
----- ------------------------------------------- ----- ------------------ --------
SYS XFF_DBLINK.REGRESS.RDBMS.DEV.US.ORACLE.COM TEST 11.1.1.1:1521/mcrm 29-MAR-12
SQL> select sysdate from dual@xff_dblink;
SYSDATE
---------
29-MAR-12
SQL> CONN TEST/TEST
Connected.
SQL> SELECT SYSDATE FROM DUAL@XFF_DBLINK;
SELECT SYSDATE FROM DUAL@XFF_DBLINK
*
ERROR at line 1:
ORA-02019: connection description for remote database not found
--该dblink不是public的,所以test用户无权访问
2.dblink变为public类型
SQL> CONN / AS SYSDBA
Connected.
SQL> set long 1000
SQL> select text from dba_views where view_name='DBA_DB_LINKS';
TEXT
-------------------------------------------------------------------
select u.name, l.name, l.userid, l.host, l.ctime
from sys.link$ l, sys.user$ u
where l.owner# = u.user#
--查询出dblink相关的基表有link$和user$
SQL> desc sys.link$
Name Null? Type
----------------------------- -------- --------------------
OWNER# NOT NULL NUMBER
NAME NOT NULL VARCHAR2(128)
CTIME NOT NULL DATE
HOST VARCHAR2(2000)
USERID VARCHAR2(30)
PASSWORD VARCHAR2(30)
FLAG NUMBER
AUTHUSR VARCHAR2(30)
AUTHPWD VARCHAR2(30)
PASSWORDX RAW(128)
AUTHPWDX RAW(128)
SQL> select owner# from sys.link$ where name like 'XFF_DBLINK%';
OWNER#
----------
0
--XFF_DBLINK对应的用户标识记录在link$.owner#中
SQL> SELECT USER#,NAME FROM USER$ WHERE name in ('SYS','PUBLIC');
USER# NAME
---------- ------------------------------
1 PUBLIC
0 SYS
--现link$.owner#值为0,表示该dblink所属用户为SYS,现在让该dblink变为public
--现需要让该dblink变为public,需要做的是修改link$.owner#的值为1
SQL> UPDATE LINK$ SET OWNER#=1 WHERE name like 'XFF_DBLINK%';
1 row updated.
SQL> COMMIT;
Commit complete.
--需要刷新shared_pool
SQL> ALTER SYSTEM FLUSH SHARED_POOL;
System altered.
--查看dblink所属者,已经修改为public
SQL> select owner from dba_db_links where db_link like 'XFF_DBLINK%';
OWNER
----------
PUBLIC
--测试dblink是否成功
SQL> CONN TEST/TEST
Connected.
SQL> SELECT SYSDATE FROM DUAL@XFF_DBLINK;
SYSDATE
---------
29-MAR-12
--------------------------------------ORACLE-DBA----------------------------------------
最权威、专业的Oracle案例资源汇总之【学习笔记】通过修改基表(link$)让非public dblink变为public
用dblink能修改_【学习笔记】通过修改基表(link$)让非public dblink变为public相关推荐
- db4o_8.0对象数据库官方文档翻译_学习笔记三
紧接上篇:db4o_8.0对象数据库官方文档翻译_学习笔记二 3. Object Manager Enterprise Overview(OME视图)即OME插件的使用 If you did not ...
- 友盟统计+渠道包_学习笔记
友盟统计+渠道包_学习笔记 资料: 官网:https://developer.umeng.com/docs/66632/detail/66889#h3-u5E38u89C1u95EEu9898 视频资 ...
- 图论01.最短路专题_学习笔记+模板
图论01.最短路专题_学习笔记+模板 一.定义与性质 ● 需要的前导知识点 路径 最短路 有向图中的最短路.无向图中的最短路 单源最短路.每对结点之间的最短路 ● 最短路的性质 对于边权为正的图,任意 ...
- DHCP服务_学习笔记
DHCP服务_学习笔记 DHCP(Dynamic Host Configuration Protocol):动态主机配置协议 Lease:租约 续租时间需要是租期时间的一半 UDP协议: Ser ...
- 韩顺平php可爱屋源码_韩顺平_php从入门到精通_视频教程_第20讲_仿sohu主页面布局_可爱屋首页面_学习笔记_源代码图解_PPT文档整理...
韩顺平_php从入门到精通_视频教程_第20讲_仿sohu首页面布局_可爱屋首页面_学习笔记_源代码图解_PPT文档整理 对sohu页面的分析 注释很重要 经验:写一点,测试一点,这是一个很好的方法. ...
- c++ qt工作量和移动端相比_学习笔记 --- QT
0.前序 别问,问就是选修... 那毕竟3dMax动画那边结课了,我怎么就不能再发一篇笔记(极其嚣张) QT其实会去好好学的,虽然最近为了选修结课又得恶补一波 不过以后给策划造编辑器是要用的,这篇笔记 ...
- SSRS:使用SQL2008教程学习Reporting Services之数据库AdventureWorks2008问题_学习笔记1
首先声明我是菜鸟,刚开始学习Reporting Services.在学习教程中的一点笔记. 从SQL2005开始,微软就提供了强大的Reporting Services功能,的确好用,对于经常需要出复 ...
- Git学习笔记:修改
前言 在补习python的时候主要参考的是廖雪峰的教程Python教程,在学习完后准备完成期末作业时,遇到了一个技术难题,需要初步掌握git,因此开始了git的学习. 本教程参考廖雪峰的Git教程 G ...
- python aop编程_学习笔记: AOP面向切面编程和C#多种实现
AOP:面向切面编程 编程思想 OOP:一切皆对象,对象交互组成功能,功能叠加组成模块,模块叠加组成系统 类--砖头 系统--房子 类--细胞 系统--人 面向对象是非常适合做大型 ...
- oracle拆分分区语法详解大全_学习笔记:Oracle分区表 添加 删除 合并 删除 交换 拆分等分区表的操作案例...
天萃荷净 Oracle分区表管理,记录关于Oracle分区表的管理案例:创建.删除.合并.拆分.交换.更改分区表的操作方法 1.添加创建分区表 1.1)增加分区(add partition) 语法是: ...
最新文章
- Windows Phone开发(16):样式和控件模板
- Arrays.binarySearch 面试的坑
- [原创]浅谈对华为34岁以上员工“退休”
- Flex DataGrid可编辑对象实现Enter跳转
- 强化学习(四)用蒙特卡罗法(MC)求解
- 将R非时间序列的data.frame转变为时序格式
- linux 备份文件
- sgu 175 Encoding
- leetcode 279 四平方定理
- python接口 同花顺_利用python探索股票市场数据指南
- 【拨云见日】企业上云时代,多样化的公有云服务你了解多少?
- 2017.9.22 松鼠的聚会 失败总结
- java 封装dll_java调用C#封装的DLL文件
- 没有编辑器时,使用echo更换源
- NOIP2018 复赛提高组一等奖获奖名单
- Bezier曲线及其de casteljau算法 matlab实现
- Fomo玩法加持的PixelMaster为什么火了?
- Carsim安装教程-破解carsim2016.01和Carsim2018
- java fx scen,java基础:10.2 Java FX之显示图片
- 居家办公,无需公网IP远程桌面内网电脑【免费内网穿透】
热门文章
- [COCI2015]COCI
- GhostBSD 10.1-ALPHA1 发布
- PHP的SQL注入攻击的技术实现以及预防措施
- bootrom启动流程【转】
- 详解Makefile 函数的语法与使用
- 解决MySQL命令行无法连接问题错误ERROR1045(28000)
- TortoiseGit入门(图文教程) Git,Github,puttygen,SSH
- mysql字符串相加函数concat()
- 自动管理Windows2003好用的“远程桌面”
- Java 增强型的for循环 for each