docker、docker-compose部署oracle,plsql连接远程oracle

一、docker部署oracle

1. 下载镜像并启动容器

# 拉取阿里oracle_11g的镜像
  docker pull registry.cn-hangzhou.aliyuncs.com/helowin/oracle_11g
# 创建容器并启动
  docker run -d -p 1521:1521 --name oracle11g registry.cn-hangzhou.aliyuncs.com/helowin/oracle_11g

2. 进入oracle容器内修改配置


# 进入容器内配置(以root用户进入)

docker exec -it -u root oracle11g bash


# 修改oracle环境变量
  vi /etc/profile
编辑追加下面3行

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

保存编辑  esc shift+q   wq 回车

修改profile后使它立即生效的命令
  source /etc/profile 或 . /etc/profile

# 创建软链
  ln -s $ORACLE_HOME/bin/sqlplus /usr/bin

3. 修改用户密码、创建用户

# 切回oracle用户并修改sys、system用户密码
  sqlplus / as sysdba(约等于sqlplus /nolog +  conn /as sysdba)

  alter user system identified by system;
  alter user sys identified by sys;
  // 创建用户  
  create user testUsr identified by 123;
  // 并给用户赋予权限
  grant connect,resource,dba to testUsr;
若出现database not open, 进入SQL命令行去 alter database mount;alter database open;

刷新刚才改密码操作
ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED

4. 验证端口

可以去其他服务器使用telnet验证

telnet oracle所在宿主机ip 1521

---- 至此已经部署完了,看plsql配置 ----
数据库状态的指令: 在sql命令行下 startup、 shutdown指令
监控状态:             oracle用户下 lsnrctl status

一图流:

docker、docker-compose部署oracle,plsql连接远程oracle_第1张图片

 

二、docker-compose部署oracle

TODO

三、plsql连接远程oracle

注:连接一、二里docker部署的oracle


1. 下载plsql和instant_client,最好版本匹配或高一点点(百度找链接)


2. 配置plsql


plsql的工具->首选项->连接,里配置主目录和oci库
oracle主目录:
D:\****\instantclient_12_2
oci库:
D:\****\instantclient_12_2\oci.dll

3 修改instant_client的tnsnames.ora


在instant_client的目录里找network\admin\tnsnames.ora(没有就自己创建)
D:\software\instantclient_12_2\network\admin

docker_oracle =
 (DESCRIPTION =
   (ADDRESS_LIST =
     (ADDRESS = (PROTOCOL = TCP)(HOST = oracle容器ip)(PORT =1521))
   )
   (CONNECT_DATA =
     (SERVICE_NAME = helowinXDB)
   )
)

service_name对应oracle容器里的服务名,可以在进入容器内oracle用户下lsnrctl status选一个

4. plsql连接登录

docker、docker-compose部署oracle,plsql连接远程oracle_第2张图片

docker、docker-compose部署oracle,plsql连接远程oracle_第3张图片

四、出现的问题

1. 启动容器时出现WARNING: IPv4 forwarding is disabled. Networking will not work.
答案:https://blog.csdn.net/cljdsc/article/details/115207336

2. 不是叫你修改oracle容器里的tnsnames.ora和listener.ora。

看了些资料修改了导致无法连接

参考资料:

Docker 拉取 oracle 11g镜像配置_荡漾-的博客-CSDN博客_docker 访问oracle

docker警告:WARNING: IPv4 forwarding is disabled. Networking will not work._杰哥的技术杂货铺的博客-CSDN博客

你可能感兴趣的:(软件安装问题,java学习,oracle,docker)