docker安装Oracle容器
使用docker方式手动方式安装各类容器(服务)
镜像查找方式:https://hub.docker.com/
安装Oracle
参考1:https://blog.csdn.net/javaboyweng/article/details/125486242
参考2:Docker-14:Docker安装Oracle11g (赞)
参考3:[docker安装Oracle数据库-腾讯云开发者社区-腾讯云 (tencent.com)] (赞)
镜像:https://hub.docker.com/r/akaiot/oracle_11g
安装视频教程:参考
这里使用云服务器,通过docker方式安装Oracle容器
服务器使用的是2核4G的,
操作
前置知识需要熟悉docker常用命令
拉取镜像
docker pull 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
--mount source=oracle_vol,
target=/home/oracle/app/oracle/oradata ,服务器本地目录,可以自定义,比如:/root/docker-data/oracle/oracledata
registry.cn-hangzhou.aliyuncs.com/helowin/oracle_11g
修改文件,先进入容器内,执行一下操作:
docker exec -it oracle /bin/bash
#切换root用户
su root
然后输入密码
#密码:
helowin
修改/etc/profile
文件,将ORACLE_HOME和ORACLE_SID配置到其中,然后生效。 输入:
vi /etc/profile
#配置内容
export ORACLE_HOME=/home/oracle/app/oracle/product/11.2.0/dbhome_2
export ORACLE_SID=helowin
export PATH=$ORACLE_HOME/bin:$PATH
--restart
表示docker重启是容器自动重启
--mount
表示要将Host上的路径挂载到容器中export ORACLE_SID=helowin ,ORACLE_SID=自定义sid,后面连接的时候会用到
然后让配置文件生效:
#配置文件生效
source /etc/profile
创建软连接
ln -s $ORACLE_HOME/bin/sqlplus /usr/bin
登录sqlplus
#切换回oracle用户
su oracle
# 启动了一个客户端进程
sqlplus /nolog
# 连接身份
connect / as sysdba
#修改system帐号的密码
alter user system identified by 密码;
#修改sys帐号的密码
alter user sys identified by 密码;
# 设置密码永不过期:
alter profile default limit PASSWORD_LIFE_TIME UNLIMITED;
创建一个用户(看自己了)
#创建用户
create user jiefei identified by 用户名;
#赋权限给用户
grant connect,resource,dba to 用户名;
顺带修改一下连接次数:
alter system set processes=1000 scope=spfile;
还有一步,修改以上信息后,需要重新启动数据库;
conn /as sysdba
数据库服务关闭:
shutdown immediate;
数据库服务启动:
startup open;
退出软链接:
exit
工具连接
使用的是Navicat Premium16工具连接Oracle数据库进行测试。
工具下载:参考这里
可能遇到问题
当执行修改密码的时候出现 : database not open
解决办法:
输入:
alter database mount;
输入 :
alter database open;
然后就可修改数据库密码的命令了
改完之后输入:
ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED;
刷新下表
exit 表示退出sql,软连接 i