docker下安装oracle,附常见的问题解决

1.拉取oracle_11g镜像

从远程镜像拉取数据,需要**注意**的是在拉取oracle镜像的时候,因为数据量过大,导致我的阿里云服务器在一段时间内连接不上了,只需要等待一段时间即可,

docker pull registry.cn-hangzhou.aliyuncs.com/helowin/oracle_11g

2. 创建oracle容器

docker run -d -p 1521:1521 --name oracle11g registry.cn-hangzhou.aliyuncs.com/helowin/oracle_11g
  • -d后台运行
  • -p 1521:1521 对外暴露的端口为1521 ,此时需要注意你的服务器端口是否打开,没有打开的情况下无法连接到
  • –name oracle11g xxxx具体的镜像名称 , 为镜像取一个方便使用的名字
    当然可以的话,可以选着 -v 挂载文件到容器外

3. 检查

在刚开始下载和启动容器 的阶段速度都会比较慢,请用心等待

docker ps -a			# 查看容器是否存在
docker start oracle11g    # 启动容器


4. 进入容器,对环境配置

docker exec -it oracle11g bash # 进入容器
su root   # 切换文root 用户
helowin # 密码

5.编辑环境变量

vi etc/profile
# 在profile的末尾添加以下内容
export ORACLE_HOME=/home/oracle/app/oracle/product/11.2.0/dbhome_2   
export ORACLE_SID=helowin
export PATH=$ORACLE_HOME/bin:$PATH

保存 :wq
让配置生效:source /etc/profile
需要注意的是在root 用户的 时候,需要让配置生效一下,在oracle用户的时候也需要配置一下
docker下安装oracle,附常见的问题解决_第1张图片

创建软连接

ln -s $ORACLE_HOME/bin/sqlplus /usr/bin

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


sqlplus /nolog
conn /as sysdba

修改密码

alter user system identified by oracle;
alter user sys identified by oracle; # 密码为oracle
ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED;
lsnrctl status #查看实例状态

docker下安装oracle,附常见的问题解决_第2张图片

连接远程oracle

因为本人是采用的远程服务器,通过docker部署的oracle服务器
所以在连接远程服务器的时候,还需要配置我们的oracle配置,不然的话,只可以在本机上连接.

1. 打开防火墙

docker下安装oracle,附常见的问题解决_第3张图片

修改本地oracle配置

  1. 进入该文件下
cd /home/oracle/app/oracle/product/11.2.0/dbhome_2/network/admin

docker下安装oracle,附常见的问题解决_第4张图片

  1. 修改listener.ora
    修改host 为 服务器地址,而不是locahost
    docker下安装oracle,附常见的问题解决_第5张图片
  2. 修改tnsnames.ora
    同样将host地址写为服务器地址
    docker下安装oracle,附常见的问题解决_第6张图片
    docker下安装oracle,附常见的问题解决_第7张图片

连接成功!

连接
docker下安装oracle,附常见的问题解决_第8张图片
docker下安装oracle,附常见的问题解决_第9张图片

docker下安装oracle,附常见的问题解决_第10张图片

以下就完成了docker部署远程服务器,并进行远程连接啦,还有什么其他的坑希望大家提出来

你可能感兴趣的:(Docker,oracle,docker,数据库)