当前位置: 首页 > article >正文

Docker部署Oracle 11g

1,拉取镜像:

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

sudo docker images

2,启动一个临时容器,用于拷贝数据库文件,挂载到宿主主机,使数据持久化:

sudo docker run -d -it -p 1521:1521 --name oracle11g --restart=always registry.cn-hangzhou.aliyuncs.com/helowin/oracle_11g

sudo docker ps 

3,拷贝需要持久化的文件到宿主机:

sudo mkdir -p /data/oracle/oradata
sudo docker cp oracle11g:/home/oracle/app/oracle/oradata/helowin /data/oracle/oradata/helowin
sudo docker cp oracle11g:/home/oracle/app/oracle/flash_recovery_area/helowin /data/oracle/oradata/flash_recovery_area

4,移除容器,重新运行一个:

sudo docker stop oracle11g
sudo docker rm oracle11g
sudo docker run -d -it -p 1521:1521 --name oracle11g --restart=always -v /data/oracle/oradata/helowin:/home/oracle/app/oracle/oradata/helowin -v /data/oracle/oradata/flash_recovery_area:/home/oracle/app/oracle/flash_recovery_area/helowin registry.cn-hangzhou.aliyuncs.com/helowin/oracle_11g

5,查看日志,发现有错误信息:

sudo docker logs oracle11g

6,进容器查看对应错误信息:

sudo docker exec -it oracle11g bash
cat /home/oracle/app/oracle/diag/rdbms/helowin/helowin/trace/alert_helowin.log

发现是挂载的路径没有权限: 

给挂着的路径加上权限:

su - root #密码是helowin
sudo chown -R oracle /home/oracle/app/oracle/flash_recovery_area/helowin
sudo chown -R oracle /home/oracle/app/oracle/oradata/helowin

 按两次Ctrl + D 退出容器编辑

重启一下Oracle容器并查看日志:

sudo docker restart oracle11g
sudo docker logs oracle11g

 日志如下,没有报错说明已经启动成功

7,修改密码:

sudo docker exec -it oracle11g bash
su - root #切换root,密码helowin
vi /etc/profile  #编辑profile文件配置Oracle环境变量

8,在profile文件尾部添加:

export ORACLE_HOME=/home/oracle/app/oracle/product/11.2.0/dbhome_2
export ORACLE_SID=helowin
export PATH=$ORACLE_HOME/bin:$PATH 

 9,保存后重新加载环境变量使其生效:

source /etc/profile

10,创建软连接(可以直接用oracle命令,就不需要进入bin目录中执行相应的命令了) 

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

11,切换到oracle用户,登录sqlplus并修改sys、system用户密码:

su - oracle

sqlplus / as sysdba                   # 登录
CONNECT / AS SYSDBA;                             # 连接,需要进行操作系统验证,才可进行连接登录
alter user system identified by oracle2024;           # 修改system用户账号密码oracle2024
alter user sys identified by oracle2024;                 # 修改sys用户账号密码oracle2024
ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED;      # 修改密码规则策略为密码永不过期
exit;     

12,以下是使用dbeave数据库连接工具创建表:

 


http://www.kler.cn/a/388205.html

相关文章:

  • Java基于SpringBoot+Vue的宠物共享平台的设计与实现(附源码,文档)
  • 15 个改变世界的开源项目:塑造现代技术的先锋力量
  • 基于表格滚动截屏(表格全部展开,没有滚动条)
  • 重学SpringBoot3-整合 Elasticsearch 8.x (三)使用Repository
  • 【智谱开放平台-注册/登录安全分析报告】
  • 「QT」几何数据类 之 QLine 整型直线类
  • selinux与防火墙
  • 【1】虚拟机安装
  • 开源模型应用落地-glm模型小试-glm-4-9b-chat-vLLM集成(四)
  • 快速傅里叶变换(FFT)基础(附python实现)
  • Go语言异常处理
  • Windows配置NTP时间同步
  • Docker:镜像构建 DockerFile
  • Spring 配置绑定原理分析
  • 安全编码实践:反射API的“间谍游戏”
  • java-web-web后端知识小结
  • 让金融数据处理更精准-C#银行回单识别集成示例、回执单识别
  • GNU/Linux - /proc/sys/vm/overcommit_memory
  • 《Python 与 SQLite:强大的数据库组合》
  • thinkphp如何查出值是null的布尔类型的值
  • 代码随想录算法训练营Day13 | 二叉树理论基础、递归遍历、迭代遍历、统一迭代、层序遍历
  • Android智能座驾,carlink场景截屏黑屏问题
  • Pycharm远程调试deepspeed!可用!
  • 前端三件套配合豆包MarsCode 实现钉钉官网动画
  • USB学习(上)
  • 「Mac玩转仓颉内测版1」入门篇1 - Cangjie环境的搭建