Docker搭建Oracle数据库
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 start oracle11g
4.进入镜像配置
docker exec -it oracle11g bash
进行软连接,若是没有该命令则转到root用户下
[oracle@3516e43ce00c /]$ sqlplus /nolog
bash: sqlplus: command not found
[oracle@3516e43ce00c /]$ su root
Password: helowin
编辑环境变量在文件的末尾添加以下内容:
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
使得修改生效:
source /etc/profile
5.创建软连接
ln -s $ORACLE_HOME/bin/sqlplus /usr/bin
6、切换到oracle 用户
su - oracle
7.登陆sqlplus 修改system用户密码
执行以下命令:
sqlplus /nolog
接着执行:
conn /as sysdba
alter user system identified by system;
alter user sys identified by sys;
exit
8.用客户端连接oracle
如果此时去连接oracle的话,navicat会报错。
还需要进入oracle的docker容器做一个配置:
需要找到这个文件tnsnames.ora;
这个文件在: $ORACLE_HOME/network/admin
然后修改tnsnames.ora
docker_oracle11 =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT =1521))
)
(CONNECT_DATA =
(SERVICE_NAME = helowinXDB)
)
)
然后重启容器:
docker restart 容器id
现在可以用system用户连接,密码:system