官网下载对应操作系统:https://www.docker.com/get-started
1.下载拉取 oracle11g镜像
-- docker pull registry.cn-hangzhou.aliyuncs.com/helowin/oracle_11g
文件较大,2.9G,解压后6.85G
下载完成之后输入 docker iamges
查看,如上图表示完成.
docker run -d --name oracle11g -p 1521:1521 -v ${HOME}/docker/app/:/app/ registry.cn-hangzhou.aliyuncs.com/helowin/oracle_11g
docker运行加载 刚才拉取的oracle11g镜像。
-d:后台运行
–name oracle11g : 等于添加别名 ,给registry.cn-hangzhou.aliyuncs.com/helowin/oracle_11g 起 "oracle11g"的别名.
-p 端口映射 将docker容器映射到宿主机(就是你安装docker的电脑),
宿主机端口:容器端口。 如果不指定,容器将随机分配宿主机端口。
-v 路径映射: 将docker容器中的路径映射至宿主机上。
运行之后输入 docker ps -a.
container id:12位id.
IMAGE: 刚才拉取的镜像名称。
STATUS:运行状态。可以看到oracle11g在运行中。mongodb容器处于关闭状态。
PORTS:端口映射。
NAMES:别名(之前命令中如果未命名,可以docker rename 对应的Names名 新的别名).中间有空格。
然后开始执行 目标镜像。
docker exec -it oracle11g bash
此时进入镜像中,
先切换到root下,
su root
密码:helowin(不要问我为什么密码是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
完成之后 先按esc,之后shift+:,输入wq!退出
(linux命令:q不保存退出,q!不保存强制退出,wq保存后退出,wq!强制退出)。
出现退出异常情况使用。
退出之后创建软连接:ln -s $ORACLE_HOME/bin/sqlplus /usr/bin
su - oracle
切换到oracle下。
sqlplus /nolog
使用oraclesqlplus。
conn /as sysdba
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
我们打开ta,alter database open
此时可能会报
database not mounted
继续
alter database mount;
alter database open;
alter user system identified by system;
alter user sys identified by sys;
ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED
修改密码完成 system 和 sys 的密码 分别是 system和sys。
现在去配置一下 tnsnames.ora。
先查看一下服务
lsnrctl status
随便选一个进行配置。
docker_oracle11 =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.211.135)(PORT =1521))
)
(CONNECT_DATA =
(SERVICE_NAME = helowinXDB)
)
)
host中的地址填写你服务器的地址。。。
参考资料地址:https://blog.csdn.net/qq_38380025/article/details/80647620
----- linux 命令下创建oracle实例待续 -------