oracle使用小记:dblink、网闸及未设置密码
来源:互联网 发布:测井曲线解释软件 编辑:程序博客网 时间:2024/05/16 05:24
一、dblink
在本地数据库中连接远程数据库,可以在本地数据库建立一个DbLink,然后凭此来对远程数据库进行访问。
1、建立一个dblink
--建立一个名为“dblink1”的dblinkCREATE PUBLIC database link dblink1CONNECT TO user IDENTIFIED BY passwordUSING '(DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.213)(PORT = 1521)) ) (CONNECT_DATA = (SERVICE_NAME = pdb1) ))';
通常创建这种数据库连接应该加上public选项,方便本地数据库中,不同用户一起使用。
2、访问远程数据库
select * from table1@dblink1;--注意dblink放在@后面
二、网闸
客户部署了一个网闸,将内网和外网(互联网)隔开。由于我们有个程序要访问互联网上资料,所以部署在外网的一台机器上,他们称为前置机。前置机本身有个数据库,内网访问该数据库,就是通过上面说的,在内网数据库上建立一个DbLink指向外网数据库。好处是对原来部署好的程序而言,并没有感觉多了一个数据库,还是继续访问一个数据库。
不过我有个疑问,为何通过网闸,还能进行数据库层面的访问?我昨天读到的资料,网闸实际上为物理隔离,同一时刻只有对内网和外网其中一方进行连接,并没有同时连接两方的。网闸两边,只能通过“摆渡”的形式,来进行数据交换,也就是只能进行文件级别的访问,为何数据库还可以?要么是降低了安全标准,网闸支持协议级别的互连,已经沦为防火墙一般;要么是我读到的资料是老旧的,现在的网闸已经改进了工作方式,支持数据库的连接了。(大概是用到了映射?)
不过,通过网闸方式,LOB等字段并不支持。我想到的解决方案是:
在前置机数据库,新建一个表空间,并建立一个与含有LOB字段的表同名的视图,将LOB字段处理后映射为VARCHAR类型,在网闸另一侧的内网,改为访问这个视图。这样,对于使用ORM的的程序来说,并不需要怎么改,只需在表名前加个表空间名字即可。
三、sys默认密码
上面说的前置机数据库,由同事部署,他安装过程中,并未设置sys\system的密码。那么,sys和system的密码就是它们自己本身,即分别为sys和system。
我们用的数据库为oracle 12c。
- oracle使用小记:dblink、网闸及未设置密码
- ORACLE dblink 小记
- oracle dblink调整密码
- Oracle创建dblink和同义词小记
- Oracle DBLink的使用
- Oracle DBLINk的使用
- oracle dblink创建使用
- oracle-dblink使用
- oracle dblink使用
- Oracle 使用 DBLINK详解
- Oracle DBLINk的使用
- Oracle 使用 DBLINK详解
- oracle DBlink的使用
- oracle DBLink的使用
- Oracle快照及dblink使用(两台服务器数据同步)
- ORACLE-014:oracle中查看DBLink密码
- oracle数据库dblink设置错误
- Cygwin本地设置不使用密码登陆问题小记
- C++中this与*this的区别
- Python——注释
- hbase1.x的coprocessor应用
- qwtplot3d安装配置过程
- PET
- oracle使用小记:dblink、网闸及未设置密码
- 字符数组初始化书写格式
- ubuntu 16.04 安装opencv3.3
- seaborn可视化库分析库基础02
- opencv window 2411 依赖项
- 修复TortoiseGit文件夹和文件图标不显示问题
- 树莓派-wiringPi-优先级&中断&线程
- JAVA的CAS
- 前端——小知识积累