参考地址:https://zhuanlan.zhihu.com/p/443324194
1 开始拉取oracle镜像
docker pull registry.cn-hangzhou.aliyuncs.com/helowin/oracle_11g
2 创建容器
docker run -d -p 1521:1521 --name oracle11g registry.cn-hangzhou.aliyuncs.com/helowin/oracle_11g
3 进入镜像进行配置
docker exec -it 容器id bash
4 进行软连接
sqlplus /nolog
发现没有该命令,所以切换root用户。
su root
输入密码:helowin
5 编辑profile文件配置ORACLE环境变量
打开: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
6、保存后执行source /etc/profile 加载环境变量;
7、创建软连接
ln -s $ORACLE_HOME/bin/sqlplus /usr/bin
8、切换到oracle 用户(这里还要说一下,一定要写中间的内条 - 必须要,否则软连接无效)
9、登录sqlplus并修改sys、system用户密码
sqlplus /nolog --登录 conn /as sysdba -- alter user system identified by system;--修改system用户账号密码; alter user sys identified by system;--修改sys用户账号密码; create user test identified by test; -- 创建内部管理员账号密码; grant connect,resource,dba to test; --将dba权限授权给内部管理员账号和密码; ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED; --修改密码规则策略为密码永不过期;(会出现坑,后面讲解) alter system set processes=1000 scope=spfile; --修改数据库最大连接数据;
10、修改以上信息后,需要重新启动数据库;
conn /as sysdba shutdown immediate; --关闭数据库 startup; --启动数据库 exit:退出软链接
11使用navicat连接
如果连接报错:报错ORA-12514:TNS:listener does not currently know of service requested in connect descriptor
使用 select global_name from global_name;语句查询Oracle的服务名发现:连接Oracle时默认的服务名改为HELOWIN,连接成功!账号就是之前创建的test / test