使用docker安装Oracle_11g
1.从阿里开源镜像中拉取镜像Oracle_11g
docker pull registry.cn-hangzhou.aliyuncs.com/helowin/oracle_11g
查看镜像:
docker images
docker run -d -p 11521:1521 --name oracle11g registry.cn-hangzhou.aliyuncs.com/helowin/oracle_11g
这里说一下,命令后面的地址一定要是你下载的镜像地址也就是你拉取镜像名字,否则会出现名字已存在等问题!
3、启动容器
docker start oracle11g
docker exec -it oracle11g bash
sqlplus /nolog
切换到root 用户下,密码helowin
编辑profile文件配置ORACLE环境变量,vi /etc/profile
export ORACLE_HOME=/home/oracle/app/oracle/product/11.2.0/dbhome_2
export ORACLE_SID=helowin
export PATH=$PATH:$ORACLE_HOME/bin
source /etc/profile
创建软连接
ln -s $ORACLE_HOME/bin/sqlplus /usr/bin
切换到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;
此时使用navicate连接,显示无监听
这时我们需要去看一下oracle 的 lsnrctl 服务
lsnrctl status
看到这两个了么,任选其一,修改 tnsnames.ora的 service_name=helowinXDB
cd /home/oracle/app/oracle/product/11.2.0/dbhome_2/network/admin
vi tnsnames.ora
docker_oracle11 =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
(CONNECT_DATA =
(SERVICE_NAME = helowinXDB)
)
)