oracle 远程数据库查询

具体需求:除了查询本地数据库的信息还要查询远程数据库的表信息。为了避免建立两个数据库。

Database Links:使用户可以通过一个数据库访问到另外一个远程数据库

 

Database Link有哪几种连接方式的Link:

 

Link类型

说明

Connected user link

看这个类型的名称就可以判断出,用的是当前连接的用户的帐户及其密码来访问远程数据库的。所以这个类型就要求需要在远程数据库上有一个和本地帐户一样的username和password.

Fixed user link

这个类型是说使用指定的帐户和密码来访问远程数据库。所以只需指定的帐户能够有权限访问远程数据库就可以。

Current user link

需要用户连接到本地数据库的时候是全局用户的身份连接的。这样这个全局用户就可以使用指定帐户的上下文,而无需存储密码信息到link中。

Database Link有以下类型: 

 

类型

说明

Private

来类型的Database Lin只能由这个Database Link的Owner才能使用它。

Public

在这个数据库里的所有用户均可使用该Database Link

Global

网络中的数据库中的用户均可使用该database link. 因为当Oracle 使用目录服务器的时候,它会在该目录下的所有数据库里都创建这个 global database link,并且统一控制。因此所有在目录下的数据库里的用户均可使用。

 

语法:create [type] database link

 

语句

说明

访问方式类型

连接类型

Create database link dblinkName using ‘NSName’;

创建一个database link ,通过使用网络服务名称创建。其中Database Link的名称为dbLinkName. 网络服务的名称为NSName.

Connected user link

Private

Create public database link dblinkName connect to CURRENT_USER using ‘NSName’;

创建一个database link ,通过使用网络服务名称创建。其中Database Link的名称为dbLinkName. 网络服务的名称为NSName.

Current user link

public

Create database link dblinkName dblinkName connect to username identified by password using ‘NSName’;

创建一个database link ,通过使用网络服务名称创建。其中Database Link的名称为dbLinkName. 网络服务的名称为NSName. 通过用户帐户username及其密码password来访问远程数据库。

Fixed user link

private

 

 

具体创建例子:

第一步:

create public database link linkname connect to user_name identified by user_pwd using '(DESCRIPTION =

    (ADDRESS_LIST =

      (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.33)(PORT = 1521))

    )

    (CONNECT_DATA =

      (SERVER = DEDICATED)

      (SERVICE_NAME = INTRANET)

    )

  )';

第二步:

select * from remoteTableName@linkname;

 

附上删除命令:drop public database link linkName;

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要在远程计算机上连接 Oracle 数据库,需要进行以下几个步骤: 1. 确认数据库是否允许远程连接。在 Oracle 数据库服务器上运行 SQL*Plus 或 SQL Developer,使用 sysdba 身份登录,然后运行以下查询语句: ```sql select value from v$parameter where name = 'remote_login_passwordfile'; ``` 如果查询结果是 `EXCLUSIVE`,则示只允许本地连接。如果查询结果是 `SHARED`,则示允许远程连接。 2. 如果数据库允许远程连接,需要在数据库服务器上创建一个监听(Listener)。监听是一个进程,用于监听来自客户端的连接请求,并将请求转发到数据库实例。可以使用 Oracle Net Configuration Assistant 工具来创建监听。在创建监听时,需要指定监听的名称、端口号和协议等信息。 3. 在客户端上安装 Oracle 客户端软件。Oracle 客户端软件包括了连接 Oracle 数据库所需的所有驱动和工具。可以从 Oracle 官网下载并安装客户端软件。 4. 在客户端上配置 tnsnames.ora 文件。tnsnames.ora 文件是 Oracle 客户端的配置文件,用于指定需要连接的数据库实例的名称、主机名、端口号和协议等信息。可以使用 Oracle Net Configuration Assistant 工具来编辑 tnsnames.ora 文件。 5. 在客户端上使用连接字符串连接 Oracle 数据库。连接字符串的格式为: ``` Data Source=(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=database_server_name)(PORT=1521))(CONNECT_DATA=(SERVICE_NAME=database_service_name)));User ID=username;Password=password; ``` 其中,`database_server_name` 是数据库服务器的主机名或 IP 地址,`database_service_name` 是数据库服务的名称,`username` 和 `password` 分别是连接数据库所使用的用户名和密码。 需要注意的是,远程连接 Oracle 数据库需要跨越网络,因此需要考虑网络安全问题。建议使用 SSL 加密协议来保护数据传输的安全性。同时,还需要配置防火墙以允许来自客户端的连接请求。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值