新闻动态
新闻动态
NEWS INFORMATION

Docker 拉取 oracle 11g镜像配置的详细教程

发布日期:2021-12-10 20:16 | 文章来源:gibhub

话不多说

开始记录docker拉取阿里的oracle11g 镜像并进行配置,

用pl/sql 可以登录为最终结果

navicat连接是在最后一步

参考:https://www.jb51.net/article/223375.htm

但是根据这个进行配置会有一些问题,所以写这篇记录一下,希望可以帮助其他人

开始:

①、开始拉取镜像-执行命令:

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

下载的过程少长,等待吧,喝杯咖啡,休息一会!(镜像6.8G)

下载完成后 查看镜像: docker images

可以看到已经下载好了

② 、创建容器

docker run -d -p1521:1521 --name oracle11gregistry.cn-hangzhou.aliyuncs.com/helowin/oracle_11g

这里说一下,命令后面的地址一定要是你下载的镜像地址也就是你拉取镜像名字,否则会出现名字已存在等问题!

如果创建成功能会返回容器id

③、启动容器

docker start oracle11g

④、进入镜像进行配置

1、 docker exec -it oracle11g bash

2、进行软连接

sqlplus /nolog

发现没有这个命令,用不了

3、切换到root 用户下

su root

密码:helowin

注意这里还是在容器当中。。有朋友退去了。。。。。。。

4、编辑profile文件配置ORACLE环境变量

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、创建软连接

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

6、切换到oracle 用户

这里还要说一下,一定要写中间的内条 - 必须要,否则软连接无效

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

sqlplus /nolog

conn /as sysdba

接着执行下面命令

alter user system identified by system;

alter user sys identified by sys;

也可以创建用户create user test identified by test;

并给用户赋予权限 grant connect,resource,dba to test;

注意了这里的坑开始出现了
当执行修改密码的时候出现 : database not open

提示数据库没有打开,不急按如下操作

输入:

alter database open;

注意了:这里也许还会提示 :

ORA-01507: database not mounted

不急!继续!

===========解决方法===========

输入:alter databasemount;

输入 :alter database open;

然后就可执行 修改数据库密码的命令了

改完之后输入:ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED;

刷新下表

exit 是退休sql 软连接

⑥、使用pl/sql 进行连接

navicat 连接的直接跳过 第 ⑥ 步 但是oracle 的 lsnrctl 服务在第6步所以你还是看完在看第7步(虽然不需要干啥) 第7步是navicat连接的在最后

之前我们把端口映射到了1521上,所以我们需要进行配置tnsnames.ora

几个朋友不知道ora文件在哪,所以添加了这一步

pl/sql 安装包,汉化包,秘钥工具

http://xiazai.jb51.net/202109/yuanma/PLSQL_Developer_jb51.rar

本地下载:

https://www.jb51.net/softs/737035.html

plsql安装配置工具包

https://www.jb51.net/article/170088.htm

docker_oracle11 =
 (DESCRIPTION =
   (ADDRESS_LIST =
     (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.211.135)(PORT =1521))
   )
   (CONNECT_DATA =
     (SERVICE_NAME = orcl)
   )
)

打开pl/sql 进行登录 :提示监听程序当前无法识别连接描述符中请求的服务

这时我们需要去看一下oracle 的 lsnrctl 服务

看到这两个了么,任选其一,修改tnsnames.ora的 service_name=helowinXDB

docker_oracle11 =
 (DESCRIPTION =
   (ADDRESS_LIST =
     (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.211.135)(PORT =1521))
   )
   (CONNECT_DATA =
     (SERVICE_NAME = helowinXDB)
   )
)

欧克,登录成功。

第7步是navicat连接

有几个朋友用的是navicat连的所以故此添加这一步

打开navicat后(navicat12不用配置oci.dll文件了)

直接新建连接

到此这篇关于Docker 拉取 oracle 11g镜像配置的文章就介绍到这了,更多相关Docker oracle 11g镜像配置内容请搜索本站以前的文章或继续浏览下面的相关文章希望大家以后多多支持本站!

版权声明:本站文章来源标注为YINGSOO的内容版权均为本站所有,欢迎引用、转载,请保持原文完整并注明来源及原文链接。禁止复制或仿造本网站,禁止在非www.yingsoo.com所属的服务器上建立镜像,否则将依法追究法律责任。本站部分内容来源于网友推荐、互联网收集整理而来,仅供学习参考,不代表本站立场,如有内容涉嫌侵权,请联系alex-e#qq.com处理。

实时开通

自选配置、实时开通

免备案

全球线路精选!

全天候客户服务

7x24全年不间断在线

专属顾问服务

1对1客户咨询顾问

在线
客服

在线客服:7*24小时在线

客服
热线

400-630-3752
7*24小时客服服务热线

关注
微信

关注官方微信
顶部