oracle 01031 dblink,通过修改基表(link$)让非public dblink变为public
有些朋友创建了一个非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相关推荐
- 用dblink能修改_【学习笔记】通过修改基表(link$)让非public dblink变为public
天萃荷净 开发DBA反映创建好的Oracle DBLINK由于应用需要,要将其变为public dblink.由于忘记dblink的目标段的密码,使用修改基表(link$)让非public dblin ...
- oracle数据库修改写入状态,【学习笔记】Oracle oradebug 使用oradebug修改数据库SCN方法案例...
天萃荷净 使用oradebug修改数据库scn,使用oradebug修改数据库scn的案例. 这里也做了两个测试,发现该功能确实很巧妙,通过修改内存中的scn值,然后写入控制文件和数据文件,实现修改s ...
- 小议Oracle外键约束修改行为
小议Oracle外键约束修改行为(一) Oracle的外键用来限制子表中参考的字段的值,必须在主表中存在.而且在主表的记录发生变化导致外键参考唯一约束值发生了变化时,定义了一系列的动作. 在SQL92 ...
- oracle修改asm参数文件,学习笔记:Oracle RAC参数文件管理 修改创建asm中的spfile文件...
天萃荷净 Oracle rac创建修改asm中的spfile文件内容 create spfile to asm --查看sid SQL> show parameter instance_name ...
- oracle 11g 数据库cmd修改用户名密码及创建用户
oracle 11g 数据库cmd修改用户名密码及创建用户 1. 数据库oracle 11g cmd命令修改用户名和密码 1.1. 前言 1.2. cmd窗口登录oracle 1.3. 更改syste ...
- oracle能不能改外键属性,CSS_小议Oracle外键约束修改行为(五), Oracle的外键用来限制子表 - phpStudy...
小议Oracle外键约束修改行为(五) Oracle的外键用来限制子表中参考的字段的值,必须在主表中存在.而且在主表的记录发生变化导致外键参考唯一约束值发生了变化时,定义了一系列的动作. 前面几篇文章 ...
- oracle数据库归档模式修改ARCHIVELOG
oracle数据库归档模式修改ARCHIVELOG 一.查看当前数据库的归档模式 第一步:查看oracle数据库的归档模式 命令如下:(该命令登录sys用户可查) select log_mode fr ...
- oracle 数据库 alter table 修改字段
oracle 数据库 alter table 修改字段 – 更新表名(很少用) alter table tablename RENAME TO newtablename; – 添加字段语法: alte ...
- oracle改表结构,oracle 表结构的修改
oracle 表结构的修改 更改表的结构 1.编辑表的字段 修改一个列的数据类型(一般限于修改长度,修改为一个不同类型时有诸多限制): 语法: ALTER TABLE 表名 MODIFY(列名 数据类 ...
最新文章
- 安卓从sd引导linux,从android中的adb shell手动挂载SD卡
- [caffe解读] caffe从数学公式到代码实现3-shape相关类
- VTK:几何对象之 Axes
- 优化:更优雅的异步代码?
- java想要生成 字符串,如何在Java中“优雅地”生成String?
- 让Sublime Text 2支持GBK
- IT30:12年前电脑笔记,回忆杀(1)
- 【IoT】 产品设计:结构设计之ABS塑料表面处理工艺
- 白领控诉:被逼下乡5年,我们的幸福何处寻找
- python换零钱有多少种方案_python练习题4.15换硬币(修正)
- C语言求卢卡斯序列,卢卡斯数列 斐波那契数列和卢卡斯数列!
- 图形处理(八)点云重建(上)点云滤波、尖锐特征边增采样、移除离群点
- 嵌入式linux界面开发,基于嵌入式Linux平台实现GUI系统的设计方案
- 继续写usb gadget驱动(解决枚举失败问题)
- 关于安装jdk后为什么要配置环境变量的那些事
- JTextField:单行文本框组件
- 软件质量保证与测试技术实验报告(三)静态测试
- 语音识别入门第七节:语言模型
- HBase2.x(六)HBase API DML的操作
- java里Math求倒数_java倒数60s实现
热门文章
- 使用一组坐标信息拟合圆(matlab)
- 研发组织该如何设计绩效体系?
- 业余无线电通信_享年109岁,美国最年长业余无线电爱好者因感染新冠肺炎逝世...
- TopOpt | 针对99行改进的88行拓扑优化程序完全注释
- Python 告警 UserWarning: .python-egg is writable by group/others 解决方案
- 统计学习方法——K近邻模型
- 计算机术语什么叫袜子,大电脑织袜机部分功能操作与说明
- Oracle数据库的启停命令,脚本启停oracle数据库
- 《Python How to Program》读书笔记
- 牛客10 Popping Balloons