Docker 拉取 oracle 11g镜像配置

/ oracle / 没有评论 / 3047浏览

Docker 拉取 oracle 11g镜像配置

开始记录docker拉取阿里的oracle11g 镜像并进行配置,用pl/sql 可以登录为最终结果。navicat连接是在最后一步。这是我们所需要进行拉取oracle镜像的楼主所给出的说明.

参考:https://blog.csdn.net/zwx521515/article/details/77982884。但是根据这个进行配置会有一些问题,所以写这篇记录一下,希望可以帮助其他人

开始:

一. 开始拉取镜像-执行命令:

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

下载的过程少长,等待吧,喝杯咖啡,休息一会!(镜像6.8G)。下载完成后 查看镜像: docker images。可以看到已经下载好了。

二. 创建容器

docker run -d -p 1521:1521 --name oracle11g registry.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

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

  1. 编辑/etc/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,然后source /etc/profile

  1. 创建软连接。 注意: 一定要写中间的内条 - 必须要,否则软连接无效
ln -s $ORACLE_HOME/bin/sqlplus /usr/bin
  1. 切换到oracle 用户
su oracle

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

sqlplus /nolog
conn /as sysdba

接着执行下面命令

## 修改用户system密码为system
alter user system identified by system;
## 修改用户sys密码为sys
alter user sys identified by sys;

也可以创建用户

## 创建用户test密码为test
create user test identified by test;

并给用户赋予权限

grant connect,resource,dba to test;

注意了这里的坑开始出现了,当执行修改密码 alter user system identified by root; 的时候出现 :database not open。提示数据库没有打开,不急按如下操作

然后就可执行 修改数据库密码的命令了。 改完之后输入:ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED;刷新下表 ,然后用 exit 是退出sql 软连接

六. 使用pl/sql 进行连接

之前我们把端口映射到了1521上,所以我们需要进行配置 tnsnames.ora,几个朋友不知道ora文件在哪,所以添加了这一步

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

打开pl/sql 进行登录 :提示监听程序当前无法识别连接描述符中请求的服务 1 2 这时我们需要去看一下oracle 的 lsnrctl 服务 3 看到这两个了么,任选其一,修改 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)
	)
)

欧克,登录成功。 4

七. Oracle 11g 默认用户名和密码

安装ORACLE时,若没有为下列用户重设密码,则其默认密码如下:

用户名 / 密码登录身份说明
sys/change_on_installSYSDBA 或 SYSOPER不能以 NORMAL 登录,可作为默认的系统管理员
system/managerSYSDBA 或 NORMAL不能以 SYSOPER 登录,可作为默认的系统管理员
sysman/oem_tempsysman为 oms 的用户名
scott/tigerNORMAL普通用户
aqadm /aqadmSYSDBA 或 NORMAL高级队列管理员
Dbsnmp/dbsnmpSYSDBA 或 NORMAL复制管理员

登录身份:指登录时的Role指定,oracle11g中分SYSDBA和default两种。PS:在安装Oracle 10g的时候,提示创建数据库,在创建的同时提示你输入口令,若此时你输入了密码,在登录数据库的时候用户名sys 对应的密码就应该是你创建数据库时候输入的口令。而非默认的manager