docker安装oracle11g

  1. 下载镜像
    docker pull registry.cn-hangzhou.aliyuncs.com/helowin/oracle_11g
  1. 启动容器
  默认启动容器的方式
  docker run -d -it -p 1521:1521 --name oracle11g --restart=always registry.cn-hangzhou.aliyuncs.com/helowin/oracle_11g
  持久化启动的方式
  docker run -d -it -p 1521:1521 --name oracle --restart=always --mount source=oracle_vol,target=/home/oracle/app/oracle/oradata registry.cn-hangzhou.aliyuncs.com/helowin/oracle_11g
  1. 查看运行状态
 docker ps -a
  1. 容器内环境配置
  1.进入容器 docker exec -it oracle11g bash
  2.切换到 root 用户 su root,密码为 helowin
  3.docker容器配置环境变量不是在 /etc/profile 中,容器启动不会走这个文件。
    可以将环境变量的配置设置在 /home/oracle/.bashrc 文件下
  4.编辑环境变量 vi /home/oracle/.bashrc,在文件最后加入以下命令
    export ORACLE_HOME=/home/oracle/app/oracle/product/11.2.0/dbhome_2
    export ORACLE_SID=helowin
    export PATH=$ORACLE_HOME/bin:$PATH
    :wq 保存并退出
  5.然后使用 source /home/oracle/.bashrc 刷新环境变量,并使之生效
  1. 使用 sqlplus /nolog进入oracle命令行
  2. 使用 “操作系统认证” 的方式,登录oracle conn / as sysdba ,这个oracle镜像密码默认是helowin。connected成功之后,即可用数据库软件尝试连接。

我是用数据库软件连接oracle时,用的system用户,密码应该默认是helowin,但是提示我密码不对,所以我手动修改了system的密码。

  sqlplus / as sysdba ---------sysdba为超级用户
  alter user 用户名 account unlock; --------- 解除锁定(必须带“;”号,注意用英文字符)
  alter user 用户名 identified by 密码; -------------修改密码

也有可能连不上是因为需要配置防火墙
防火墙要允许 1521 端口,外部的数据库管理工具才能连的上

    # 打开防火墙
    systemctl start firewalld
    # 查询端口状态
    firewall-cmd --query-port=1521/tcp
    # 永久性开放端口
    firewall-cmd --permanent --zone=public --add-port=1521/tcp
    # 重启防火墙
    firewall-cmd --reload
    firewall-cmd --query-port=1521/tcp
posted @ 2023-03-04 22:11  AIHHUAO  阅读(543)  评论(0)    收藏  举报