当前位置:   article > 正文

Linux离线安装Docker-Oracle_11g

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

修改镜像版本名称和名字

  1. docker tag id name:v
  2. 修改成功后再查看
  3. docker images

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

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

配置oracle

docker exec -it oracle11g bash

切换到root下

  1. su root
  2. 密码:helowin

配置profile文件

  1. vi /etc/profile
  2. 在最后加3
  3. export ORACLE_HOME=/home/oracle/app/oracle/product/11.2.0/dbhome_2
  4. export ORACLE_SID=helowin
  5. export PATH=$ORACLE_HOME/bin:$PATH
  6. 保存:wq
  7. 让配置生效:source /etc/profile

创建连接

  1. ln -s $ORACLE_HOME/bin/sqlplus /usr/bin
  2. 切换到oracle账户
  3. su - oracle
  4. 修改sys、system密码
  5. sqlplus /nolog
  6. conn /as sysdba
  7. alter user system identified by oracle;
  8. alter user sys identified by oracle;
  9. ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED;

修改中文编码

  1. select * from nls_database_parameters;
  2. alter database character set ZHS16GBK;
  3. 如果遇到不能修改,则调用以下步骤:
  4. alter system enable restricted session;
  5. alter system set job_queue_processes=0;
  6. alter system set aq_tm_processes=0;
  7. alter database open;
  8. alter database character set ZHS16GBK;
  9. 当系统提示字符集必须为旧字符集的超集时,可用下面的句强制修改字符集
  10. alter database character set internal_use ZHS16GBK;

查看实例

lsnrctl status

到上面数据库就准备好了

解决连接受限问题

ALTER SYSTEM DISABLE RESTRICTED SESSION:

连接成功

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

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/凡人多烦事01/article/detail/280445
推荐阅读
相关标签
  

闽ICP备14008679号