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用户的时候也需要配置一下
创建软连接
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 #查看实例状态
连接远程oracle
因为本人是采用的远程服务器,通过docker部署的oracle服务器
所以在连接远程服务器的时候,还需要配置我们的oracle配置,不然的话,只可以在本机上连接.
1. 打开防火墙
修改本地oracle配置
- 进入该文件下
cd /home/oracle/app/oracle/product/11.2.0/dbhome_2/network/admin
- 修改listener.ora
修改host 为 服务器地址,而不是locahost
- 修改tnsnames.ora
同样将host地址写为服务器地址
连接成功!
连接
以下就完成了docker部署远程服务器,并进行远程连接啦,还有什么其他的坑希望大家提出来