在宿主机中使用PLSQL连接Docker中配置的Oracle

一、宿主机环境

宿主机操作系统:Windows 10
Docker版本:Docker version 20.10.7
VMware版本:VMware® Workstation 16 Pro 16.0.0
Instantclient版本:instantclient_19_11
PL/SQL 版本:version 13.0.2.1898(64 bit)

二、操作步骤

1、下载 Oracle instantclient 下载地址下载 Basic Package 即可。
2、解压到指定目录,如: D:\Develop\instantclient_x_x。
3、在宿主机D:\Develop\instantclient_19_11目录下新建 network/admin/ 并在其目录下 新建 tnsnames.ora 文件。
4、在 Docker 中进入Oracle 容器,使用 sqlplus 登录 Oracle,并查看 service_names 。
5、更新宿主机 tnsnames.ora 文件内容

  • 使用如下命令进入 Oracle 的 bash
docker exec -it oracle11g bash
  • 如果登录sqlplus,发现sqlplus命令不可用,所以需要进行相关配置,操作步骤如下(可能登录直接跳过):
(1)、切换到root用户模式下
        su root
        输入密码helowin

(2)、编辑profile文件配置ORACLE环境变量 (如果找不到sqlplus,请在这执行完输入:source /etc/profile)

        vi /etc/profile 并在文件最后添加如下命令

        export ORACLE_HOME=/home/oracle/app/oracle/product/11.2.0/dbhome_2
        export ORACLE_SID=helowin
        export PATH=$ORACLE_HOME/bin:$PATH

        退出并保存。       
  • 软件连接
ln -s $ORACLE_HOME/bin/sqlplus /usr/bin
  • 切换到oracle 用户(先退出其它用户)
su - oracle

-- 登录sqlplus并修改sys、system用户密码
sqlplus /nolog
conn /as sysdba

-- 接着执行下面命令,修改用户密码
alter user system identified by system;
alter user sys identified by sys;
-- alter user scott identified by tiger;

oracle关闭和重启:shutdown immediate,startup
  • 查看oracle 的 service name
SQL> show parameter service_name;

NAME                    TYPE     VALUE
--------------------    -------- --------------------------
service_names          string    helowin
SQL> 


  • 查看oracle的本地tnsnames.ora文件 ,copy下 来
-- 注意这里一定是进入到Oracle容器内,否则看不到配置(docker exec -it oracle11g bash)
 vi /home/oracle/app/oracle/product/11.2.0/dbhome_2/network/admin/tnsnames.ora 

HELOWIN =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = helowin)
    )
  )

-- 退出容器
exit
  • 更新先前建立好的 tnsnames.ora 文件,粘贴刚刚在Oracle 容器中复制下来的内容,并保存

HELOWIN =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = helowin)
)
)
这里的HOST是虚拟机的IP,虚拟机是NAT网络模式这里保持不变,如果要直接远程连接就设置为 docker ps 中Oracle的地址或是虚拟机地址
(SERVICE_NAME = helowin) 是刚刚查询的 service_name 的值

三、VMware端口映射
  • 查看虚拟机IP地址


    image.png
  • 设置VMware NAT 端口映射

VMware -> 编辑 -> 虚拟网络编辑器


image.png

image.png

image.png

添加端口映射,IP地址为刚刚查询的虚拟机的IP,端口是Oracle容器的端口,这样就把Docker下的Oracle容器端口映射到宿主机上了

四、设置环境变量

ORACLE_HOME = D:\Develop\instantclient_19_11
TNS_ADMIN = %ORACLE_HOME%\network\admin
NLS_LANG = SIMPLIFIED CHINESE_CHINA.ZHS16GBK
将 ORACLE_HOME 配置到 Path 变量中。

五、设置PL/SQL连接Oracle
image.png

在OCI library(empty is autodete) 一栏中设置:D:\Develop\instantclient_19_11\oci.dll(无法选择直接把目录地址复制进去),Apply -> OK ,重启 PL/SQL 后就有 Connect as 选项了


image.png

输入用户名/密码 OK


image.png
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 216,240评论 6 498
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,328评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 162,182评论 0 353
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,121评论 1 292
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,135评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,093评论 1 295
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,013评论 3 417
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,854评论 0 273
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,295评论 1 310
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,513评论 2 332
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,678评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,398评论 5 343
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,989评论 3 325
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,636评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,801评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,657评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,558评论 2 352

推荐阅读更多精彩内容