有些朋友创建了一个非public的dblink,现在该数据库的其他用户需要去使用该dblink,在正常情况下无访问权限,需要重新建一个dblink,或者将原dblink修改为public。但是由于忘记了原dblink的目标段的密码,使得创建或者修改dblink的步骤无法进行下去。这里通过修改基表(link$),解决该问题。

创建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用户无权访问

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 01031 dblink,通过修改基表(link$)让非public dblink变为public相关推荐

  1. 用dblink能修改_【学习笔记】通过修改基表(link$)让非public dblink变为public

    天萃荷净 开发DBA反映创建好的Oracle DBLINK由于应用需要,要将其变为public dblink.由于忘记dblink的目标段的密码,使用修改基表(link$)让非public dblin ...

  2. oracle数据库修改写入状态,【学习笔记】Oracle oradebug 使用oradebug修改数据库SCN方法案例...

    天萃荷净 使用oradebug修改数据库scn,使用oradebug修改数据库scn的案例. 这里也做了两个测试,发现该功能确实很巧妙,通过修改内存中的scn值,然后写入控制文件和数据文件,实现修改s ...

  3. 小议Oracle外键约束修改行为

    小议Oracle外键约束修改行为(一) Oracle的外键用来限制子表中参考的字段的值,必须在主表中存在.而且在主表的记录发生变化导致外键参考唯一约束值发生了变化时,定义了一系列的动作. 在SQL92 ...

  4. oracle修改asm参数文件,学习笔记:Oracle RAC参数文件管理 修改创建asm中的spfile文件...

    天萃荷净 Oracle rac创建修改asm中的spfile文件内容 create spfile to asm --查看sid SQL> show parameter instance_name ...

  5. oracle 11g 数据库cmd修改用户名密码及创建用户

    oracle 11g 数据库cmd修改用户名密码及创建用户 1. 数据库oracle 11g cmd命令修改用户名和密码 1.1. 前言 1.2. cmd窗口登录oracle 1.3. 更改syste ...

  6. oracle能不能改外键属性,CSS_小议Oracle外键约束修改行为(五), Oracle的外键用来限制子表 - phpStudy...

    小议Oracle外键约束修改行为(五) Oracle的外键用来限制子表中参考的字段的值,必须在主表中存在.而且在主表的记录发生变化导致外键参考唯一约束值发生了变化时,定义了一系列的动作. 前面几篇文章 ...

  7. oracle数据库归档模式修改ARCHIVELOG

    oracle数据库归档模式修改ARCHIVELOG 一.查看当前数据库的归档模式 第一步:查看oracle数据库的归档模式 命令如下:(该命令登录sys用户可查) select log_mode fr ...

  8. oracle 数据库 alter table 修改字段

    oracle 数据库 alter table 修改字段 – 更新表名(很少用) alter table tablename RENAME TO newtablename; – 添加字段语法: alte ...

  9. oracle改表结构,oracle 表结构的修改

    oracle 表结构的修改 更改表的结构 1.编辑表的字段 修改一个列的数据类型(一般限于修改长度,修改为一个不同类型时有诸多限制): 语法: ALTER TABLE 表名 MODIFY(列名 数据类 ...

最新文章

  1. 安卓从sd引导linux,从android中的adb shell手动挂载SD卡
  2. [caffe解读] caffe从数学公式到代码实现3-shape相关类
  3. VTK:几何对象之 Axes
  4. 优化:更优雅的异步代码?
  5. java想要生成 字符串,如何在Java中“优雅地”生成String?
  6. 让Sublime Text 2支持GBK
  7. IT30:12年前电脑笔记,回忆杀(1)
  8. 【IoT】 产品设计:结构设计之ABS塑料表面处理工艺
  9. 白领控诉:被逼下乡5年,我们的幸福何处寻找
  10. python换零钱有多少种方案_python练习题4.15换硬币(修正)
  11. C语言求卢卡斯序列,卢卡斯数列 斐波那契数列和卢卡斯数列!
  12. 图形处理(八)点云重建(上)点云滤波、尖锐特征边增采样、移除离群点
  13. 嵌入式linux界面开发,基于嵌入式Linux平台实现GUI系统的设计方案
  14. 继续写usb gadget驱动(解决枚举失败问题)
  15. 关于安装jdk后为什么要配置环境变量的那些事
  16. JTextField:单行文本框组件
  17. 软件质量保证与测试技术实验报告(三)静态测试
  18. 语音识别入门第七节:语言模型
  19. HBase2.x(六)HBase API DML的操作
  20. java里Math求倒数_java倒数60s实现

热门文章

  1. 使用一组坐标信息拟合圆(matlab)
  2. 研发组织该如何设计绩效体系?
  3. 业余无线电通信_享年109岁,美国最年长业余无线电爱好者因感染新冠肺炎逝世...
  4. TopOpt | 针对99行改进的88行拓扑优化程序完全注释
  5. Python 告警 UserWarning: .python-egg is writable by group/others 解决方案
  6. 统计学习方法——K近邻模型
  7. 计算机术语什么叫袜子,大电脑织袜机部分功能操作与说明
  8. Oracle数据库的启停命令,脚本启停oracle数据库
  9. 《Python How to Program》读书笔记
  10. 牛客10 Popping Balloons