Oracle 在 多个Virtualbox 虚拟机间 跨不同物理宿主机进行通信
因为单位网络管理的原因,不太方便使用 Virtualbox 的Bridge Adapter 模式,故此欲采用NAT模式,不对外不暴露虚拟机IP。
但是此时会有一个问题:采用NAT模式后,在通常情况下,
从外面看,或者从物理机来看,此虚拟机是不可见的。
此时,可通过端口转发,来使得外部机器和此物理机进行通讯。
设置方法如下:
1 先测试 两台物理机是否能够ping通。
例如 物理机地址:192.168.1.104 和 192.168.1.105
物理机 192.168.1.104上的虚拟机地址:10.0.3.15
物理机 192.168.1.105上的虚拟机地址: 10.0.2.15
测试:
从 192.168.1.104 可以ping 通 192.168.1.105; 同时反过来,从 192.168.1.105 可以ping通 192.168.1.104。
2 再测试,通过虚拟机可否访问宿主物理机以及外部物理机:
由于是 NAT 方式,所以从 10.0.2.15,可以ping通 宿主机 192.168.1.105,也可以ping 通外部物理机 192.168.1.104
同样, 从 10.0.3.15,可以ping通 宿主机 192.168.1.104,也可以ping 通外部物理机 192.168.1.105。
3接着,分别设置两台宿主物理机的端口转发。
以 192.168.1.105 为例:
如图所示:单击 端口转发
分别填写主机和子系统信息:
主机IP: 物理宿主机自身IP 192.168.1.105。
主机端口:物理宿主机端口, 因为这里为Oracle数据库而设,故设置1521
子系统IP: 虚拟机IP 10.0.2.15
子系统端口:虚拟机端口,因为这里为Oracle数据库而设,故设置1521
另外的物理宿主机上,Virtualbox作同样的设置,只是
主机IP为物理宿主机自身IP: 192.168.1.104。
主机端口:物理宿主机端口, 因为这里为Oracle数据库而设,故设置1521
子系统IP: 虚拟机IP 10.0.3.15
子系统端口:虚拟机端口,因为这里为Oracle数据库而设,故设置1521
4 测试各虚拟机上自身listener启动状况良好(lsnrctl start/ lsnrctl status),
各虚拟机上数据库已经启动
从各虚拟机,通过本地listener上访问本虚拟机内的数据库没问题。
然后,
从虚拟机上,用netca,来建立到另一台虚拟机上的数据库的连接:
例如,从 10.0.3.15 设置访问 另外的虚拟机(10.0.2.15)的本地命名连接(tnsnames.ora)时,
IP 地址使用 另外的虚拟机的物理宿主机的IP(192.168.1.105)。
这样,通过 10.0.3.15 --〉(本地物理宿主机)--->(远端物理宿主机)---->Virtualbox端口转发--->10.0.2.15:1521;
经过测试,可以连接成功。
反过来,也可以达到
通过 10.0.2.15 --〉(本地物理宿主机)--->(远端物理宿主机)---->Virtualbox端口转发--->10.0.3.15:1521;也可以连接成功。
这样,虽然Oracle软件越来越大,但是不同机器仍然可以在公司办公环境,借助于宿主机,互相协同,达到节省宝贵的内存的作用。
相关文章
- Oracle数据库导出整个Oracle数据库和导入整个oracle数据库命令
- Oracle 中count(1) 、count(*) 和count(列名) 函数的区别
- Oracle数据库:oracle多表查询,等值连接,非等值连接,自连接的sql语句和规则
- Oracle数据库:条件表达式case when then else end,decode函数,oracle单行函数练习示例
- Oracle数据库:oracle字符类型、数字类型、创建表表名的命名规则
- [转]Oracle用户表空间临时表空间等查询
- oracle数据库删除用户(schema)操作
- Oracle 排序问题(null带来的)
- 【Oracle】ORACLE SQL Developer不支持JAVA版本
- 《大话Oracle Grid:云时代的RAC》——1.3 环境准备
- oracle db 产品路线图
- Oracle-oracle中union和union all的区别
- Oracle 常用语句列表
- Oracle重建临时表空间
- Oracle创建自增字段方法-ORACLE SEQUENCE的简介
- oracle常规任务
- ORACLE数据库逐步解决ORA-12541、ORA-01034和ORA-27101、ORA-00119和ORA00132的过程
- Oracle 事务操作
- Oracle 基础系列之1.2 oracle的基本使用
- Mybatis+Oracle搭配insert空值报错之myBatis+mysql驱动+oracle驱动的源码分析