Docker安装Oracle及Win10安装PLSQL远程

目录

一、环境简介及操作目的

二、Ubuntu20.04配置及操作

2.1  Docker安装

2.2  Docker拉取Oracle11g镜像

2.3 Docker运行Oracle容器

2.4 Docker配置oracle11g容器

2.4.1 进入镜像

2.4.2 配置Oracle软连接

2.4.3 登录sqlplus,并修改sys、system用户密码

三、确认监听是否已开启

四、PLSQL15连接配置

 五、Navicat连接配置

六、长时间没登录报错


一、环境简介及操作目的

本实验并不在本地开虚拟机模拟远程(这种方式也可行),而是在云服务器上远程,勉强算是小实战吧,没学docker多久,略粗浅

1、使用云服务器 Ubuntu Server 20.04 LTS 64位(用的腾讯云)安装Docker拉取Oracle11g镜像

2、连接工具:这里介绍两种在Win10上安装PLSQLNavicat两种远程连接方式

二、Ubuntu20.04配置及操作

2.1  Docker安装

参考菜鸟教程: Ubuntu Docker 安装 | 菜鸟教程

 参考博客:https://www.jb51.net/article/223369.htm

--新手建议使用官方安装脚本自动安装
curl -sSL https://get.daocloud.io/docker | sh

2.2  Docker拉取Oracle11g镜像

1、拉取镜像:

ubuntu@VM-0-9-ubuntu:~$ docker pull registry.cn-hangzhou.aliyuncs.com/helowin/oracle_11g

2、查看镜像:

ubuntu@VM-0-9-ubuntu:~$ docker images

可以看到下载之后的镜像列表如下:

2.3 Docker运行Oracle容器

1、创建容器,并命名为oracle11g,端口映射1521,创建成功能会返回容器id

ubuntu@VM-0-9-ubuntu:~$  docker run -d -p 1521:1521 --name oracle11g registry.cn-hangzhou.aliyuncs.com/helowin/oracle_11g

 这边我已经运行过这个容器了所以出现以下提示:

 2、确认容器是否已创建:

ubuntu@VM-0-9-ubuntu:~$ docker ps

3、启动容器,会返回容器名字

ubuntu@VM-0-9-ubuntu:~$ docker start oracle11g

2.4 Docker配置oracle11g容器

2.4.1 进入镜像

ubuntu@VM-0-9-ubuntu:~$ docker exec -it oracle11g bash

2.4.2 配置Oracle软连接

默认用户是oracle,需要在容器内切换root用户(密码默认为 helowin):

[oracle@72ab19b482ed /]$ su root

编辑profile文件(可先备份):

 [root@72ab19b482ed /]# vi /etc/profile

在profile文件中配置ORACLE环境变量,在最后面加上以下内容:

export ORACLE_HOME=/home/oracle/app/oracle/product/11.2.0/dbhome_2

export ORACLE_SID=helowin

export PATH=$ORACLE_HOME/bin:$PATH

创建软连接

[root@72ab19b482ed /]# ln -s $ORACLE_HOME/bin/sqlplus /usr/bin

切换回oracle用户(注意中间的“ - ”必须要加上)

[root@72ab19b482ed /]# su - oracle

 软连接配置完成。

2.4.3 登录sqlplus,并修改sys、system用户密码

[oracle@72ab19b482ed ~]$ sqlplus /nolog 

SQL> conn /as sysdba

接着修改用户密码:

alter user system identified by system;
alter user sys identified by sys;
ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED;

有可能会提示database not open,可以用

alter database open; 

若提示ORA-01507: database not mounted,可以用startup启动一下

startup

之后就可以继续修改密码了

密码修改完成exit退出

三、确认监听是否已开启

若监听未开启,PLSQL则无法连接

参考:oracle登录后无法使用,显示Connected to an idle instance - zhangfd - 博客园

[oracle@localhost ~]$ lsnrctl status

若未启动则 lsnrctl start 启动监听

[oracle@localhost ~]$ lsnrctl start

四、PLSQL15连接配置

1、可以直接官网下载安装PLSQL15

正常安装即可(可参考教程极多)

2、下载instantclient-basic-windows压缩包并解压

解压后在D:\Program Files\instantclient_21_6\network\admin路径下找到tnsnames.ora文件

添加以下配置内容,IP地址填写自己的Oracle数据库IP即可

docker_oracle11 =
 (DESCRIPTION =
   (ADDRESS_LIST =
     (ADDRESS = (PROTOCOL = TCP)(HOST = "IP地址")(PORT =1521))
   )
   (CONNECT_DATA =
     (SERVICE_NAME = helowinXDB)
   )
)

打开PLSQL点取消直接进入PLSQL界面,选取instantclient文件夹作为配置文件

 重启PLSQL

登录成功

​ 

 五、Navicat连接配置

配置如下:

 连接成功

六、长时间没登录报错

一段时间没登录,再登录时连接不上报 lsnrctl 错,解决如下:

1、查看状态

[oracle@localhost ~]$ lsnrctl status

2、报 lsnrctl 不存在,解决方案

切换root,初始密码还是(helowin);创建软连接;切换回oracle用户(“-”一定要加);

[oracle@72ab19b482ed /]$ su 

[root@72ab19b482ed /]# ln -s $ORACLE_HOME/bin/sqlplus /usr/bin

[root@72ab19b482ed /]# su - oracle
[oracle@72ab19b482ed ~]$ lsnrctl status

[oracle@72ab19b482ed ~]$ lsnrctl start

3、管理员登录,启动数据库等待完成即可

[oracle@72ab19b482ed ~]$ sqlplus / as sysdba

SQL> startup

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值