Ⅰ oracle怎么通过dblink查数据
你的库A要通过dblink访问其他库B,首先需要做的是在你的库A里创建B的dblink,创建语句可以网络,用到的是B库的用户名密码和IP.
创建好DBLINK然后可以在你的库A里,通过SELECT * FROM TABLENAME@dblinkname的方式来访问B数据库的表了.
印象中好像需要B库授权,具体的网络一下ORACLE创建DBLINK.
Ⅱ 如何查看oracle dblink的密码
根据oracle 的安全机制,是没有办法的,楼主还是去找建dblink的人要吧
Ⅲ l0782041_DBLINK 是什么
数据库之间的链接建立在DATABASE LINK上。要创建一个DB LINK,必须先在每个数据库服务器上设置链接字符串。
1、 配置TNS , $ORACLE_HOME/NETWORK/ADMIN/tnsname.ora
10gstandby =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = HFCC-KF-3068)(PORT = 1522))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = 10gstandby)
)
)
2、创建数据库链接,
create public database link DB_LINK_NAME connect to TargetDatabaseUserName identified by TargetDatabasePassword using 'TargetDatabaseSIDName';
注:TargetDatabaseSIDName为该Oracle数据库所在的主机上的tnsnames.ora文件里边定义的数据库连接串。
SQL>create public database link dvd connect to system identified by system using 'orcl10g';
或者使用:
create PUBLIC database link LINK_NAME
connect to USER identified by PWD
using '(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.1)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = orcl)
)
)';
则创建了一个以system用户和orcl10g数据库的链接dvd,我们查询dvd数据:
SQL>select * from all_users@dvd;
这样就可以把本地和远程的数据做成一个整体来处理。
3、建立同义词,为了使有关分布式操作更透明,ORACLE数据库里有同义词的对象synonym
SQL>create synonym synTest for all_users@dvd;
于是就可以用synTest来替代带@符号的分布式链接操作all_users@dvd;
4、查看所有的数据库链接:
SQL>select owner,object_name from dba_objects where object_type='DATABASE LINK';
5、查看数据库连接
sql> select owner, db_link from dba_db_links;
ower db_link
public DVD.REGRESS.RDBMS.DEV.US.ORACLE.COM
6、删除数据库连接
先从第5步中查看数据库连接,取得其db_link的名称
sql>drop public database link DVD.REGRESS.RDBMS.DEV.US.ORACLE.COM
数据库连接巳丢弃
Ⅳ Oracle 查询局域网内其他电脑上的Oracle数据库表
--创建 CREATE public database link test_link CONNECT TO scott IDENTIFIED BY tiger using '(DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = 127.0.0.1)(PORT = 1521)) ) (CONNECT_DATA = (SERVICE_NAME = LEE) ) )'; --使用 select ename from emp@test_link; --删除 drop public database link TEST_LINK;
一:dblink创建:
1、已经配置本地服务
create public database
link toBeJing connect to scott
identified by tiger using 'BEJING'
数据库连接字符串'BEJING'是当前客户端数据库中TNSNAMES.ORA文件里定义的别名名称.可以用NET8 EASY CONFIG或者直接修改TNSNAMES.ORA里定义.
2、直接建立链接
create database link toBeJing
connect to scott identified by tiger
using '(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = X.X.X.X )(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = BJORCL)
)
)';
host=数据库的ip地址,service_name=数据库的ssid。
其实两种方法配置dblink是差不多的,我个人感觉还是第二种方法比较好,这样不受本地服务的影响。
注意: 假如创建全局dblink,则必须使用systm或sys用户,在database前加public。
1.先创建PUBLIC DATABASE LINK,不用指定用户和密码
scott@TEST>conn system/test
Connected.
system@TEST>CREATE PUBLIC DATABASE LINK orcl USING 'BEJING';
Database link created.
2.再在各个用户下创建私有DATABASE LINK(同PUBLIC DATABASE LINK名称相同),指定用户和密码
system@TEST>conn scott/tiger
Connected.
scott@TEST>CREATE DATABASE LINK orcl CONNECT TO scott IDENTIFIED BY tiger;
Database link created.
实际上相当于:
CREATE DATABASE LINK orcl USING 'BEJING' CONNECT TO scott IDENTIFIED BY tiger;
db link 有3种类型,我这里只讨论其中两种,connected user和fixed user。
connected user,简单来说,连接方数据库以connected的用户来连接远程数据库。
fixed user,简单来说,连接方数据库以fixed(指定的)用户来连接远程数据库。
看看创建db link语法,你对这两种类型就比较清楚了。
创建connected user的db link语法:
create databas link foo connect to scott identified by tiger using 'BEJING' ;
创建fixed user的db link语法:
create databas link foo using 'BEJING' ;
db link 的命名和global_names有关,global_name是数据库全局名称,global_name在你所管理的数据库中要保证唯一。数据库名称是db_name。数据库名称一般都取得比较短,我的习惯一般取长度4个字符,重名概率高。
所以,oracle模仿域名搞出一个global_name,global_name=db_name+db_domain。
有了global_name,就可以实现数据库命名的全局唯一。例:ORCL.REGRESS.RDBMS.DEV.US.ORACLE.COM
数据库全局名称可以用以下命令查出
SELECT * FROM GLOBAL_NAME;
如果global_names=true,那么db link的命名要和远程数据库的global_name相同;
如果global_names=false,那么你可以随便命名db link。
查询global_names是true还是false,在pl/sql中的命令窗口(不是sql窗口)执行:show parameter global_names
二、dblink查询:
查看所有的数据库链接,进入系统管理员SQL>操作符下,运行命令:
SQL>select owner,object_name from dba_objects where object_type='DATABASE LINK';
三、dblink删除:
DROP PUBLIC DATABASE LINK toBeJing
四、dblink使用:
SELECT……FROM表名@数据库链接名;
查询、删除和插入数据和操作本地的数据库是一样的,只不过表名需要写成“表名@dblink服务器”而已。
例:查询北京数据库中emp表数据 select * from emp@toBeJing;
五、同义词配合:
第四点中from emp@toBeJing可以创建同义词来替代:
CREATE SYNONYM同义词名FOR 表名;
CREATE SYNONYM同义词名FOR 表名@数据库链接名;
如:create synonym bj_scott_emp for emp@toBeJing;
于是就可以用bj_scott_emp来替代带@符号的分布式链接操作emp@toBeJing
DB LINK是独立于创建用户(USER_DB_LINKS的USERNAME)起作用的,其他用户无法使用这个连接,无权限也不能删除它。
Ⅳ 怎么查看数据库中哪些表的数据是用DBLink 来的,看哪个过程也可以
表的数据是永久存贮的,
DBLink只是建立了一个链接,
二者间没有必然关系。
Ⅵ ORACLE 如何检查dblink是否正常
select sysdate from al@dblink;
能查到当前时间说明正常。
Ⅶ oracle怎么查看一个dblink所链接的数据库的所有表名
select*from all_all_tables@dblink
Ⅷ oracle怎么如何查看dblink
可以用toad或者plsql的工具,可以直接选择 DB Links 来查看
Ⅸ oracle 创建好了dblink之后,该如何查询远程数据呢
远程数据库也是oracle吗? 那你应该配置tnsnames.ora才对,增加
DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.22.23)(PORT = 1521))
)
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = gametrd)
)
才对