Linux离线安装Docker-Oracle_11g

拉取oracle11g镜像

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

创建11g容器

docker run -d -p 1521:1521 --name oracle11g registry.cn-hangzhou.aliyuncs.com/helowin/oracle_11g

查看容器是否创建成功

docker ps -a

导出oracle容器,查看正在运行的 Docker 容器的 ID 或名称,假设容器的名称为oracle11g

docker export oracle11g > oracle11g.tar

给导出容器加775权限

chmod 775 oracle11g.tar

离线环境先重启docker

sudo systemctl restart docker

把oracle11g.tar拷贝到离线环境,用以下命令加载docker镜像

docker load -i oracle11g.tar

查看镜像

docker images

修改镜像版本名称和名字

docker tag id name:v

修改成功后再查看
docker images

启动oracle,把docker 里面的db文件外挂到宿主机,做文件的持久化

docker run -d -p 1521:1521 --name oracle11g -v /my/local/path/oracle11g:/opt/oracle/oradata oracle11g:v1


这条命令运行一个名为 ​oracle11g​的容器,映射主机的1521端口到容器的1521端口,并将容器内的 ​/opt/oracle/oradata​目录映射到主机上的 ​/my/local/path/oracle11g​路径。下面是一些解释:

​​-d​ :以守护进程方式在后台运行容器。
​​-p 1521:1521​:将主机的1521端口映射到容器的1521端口,允许通过主机访问Oracle数据库服务。
​​--name oracle11g​:为容器指定一个名称为 ​oracle11g​,方便管理和识别容器。
​​-v /my/local/path/oracle11g:/opt/oracle/oradata​ :将主机上的 ​/my/local/path/oracle11g​目录挂载到容器内的 ​/opt/oracle/oradata​目录,用于持久化存储Oracle数据库数据。
​​oracle11g:v1​:运行的镜像名称及版本。
综上所述,这个命令的目的是以后台模式运行一个 Oracle 11g 数据库容器,可以通过主机的1521端口访问数据库服务,并且数据存储在主机的 ​/my/local/path/oracle11g​目录中。如果镜像名称和版本正确,并且本地路径 ​/my/local/path/oracle11g​存在且合适,那么这个命令会成功运行容器。

配置oracle

docker exec -it oracle11g bash

切换到root下

su root


密码:helowin

配置profile文件

vi /etc/profile


在最后加3行
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

创建连接

ln -s $ORACLE_HOME/bin/sqlplus /usr/bin



切换到oracle账户
su - oracle


修改sys、system密码
sqlplus /nolog
conn /as sysdba


alter user system identified by oracle;
alter user sys identified by oracle;
ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED;

修改中文编码

select * from nls_database_parameters;

alter database character set  ZHS16GBK;


如果遇到不能修改,则调用以下步骤:

alter system enable restricted session;

alter system set job_queue_processes=0;

alter system set aq_tm_processes=0;

alter database open;

alter database character set ZHS16GBK;


当系统提示字符集必须为旧字符集的超集时,可用下面的句强制修改字符集
alter database character set internal_use ZHS16GBK;

查看实例

lsnrctl status

到上面数据库就准备好了

解决连接受限问题

ALTER SYSTEM DISABLE RESTRICTED SESSION:

连接成功

参考:Docker安装Oracle_11g的方法_docker安装oracle11g-CSDN博客

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值