用Docker搭建Oracle数据库
1,拉取镜像:
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
进行软连接: sqlplus /nolog
如果没有该命令则切换到root用户下:
su root;
密码: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
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;
---------------------
如果此时去连接oracle的话,navicat会报错:
ORA-12514, TNS:listener does not currently know of service requested in connect descriptor
不着急,还需要进入oracle的docker容器做一个配置:
docker exec -it oracle11g bash
需要找到这个文件tnsnames.ora;
然后修改tnsnames.ora
docker_oracle11 =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT =1521))
)
(CONNECT_DATA =
(SERVICE_NAME = helowinXDB)
)
)
然后重启容器:
docker restart 容器id
现在可以用system用户连接,密码:system
连接之后创建表空间,创建用户就可以使用了