欢迎访问 生活随笔!

生活随笔

当前位置: 首页 >

centos8 kernel source 安装_什么?你在物理机上安装Oracle总失败?那就试试Docker吧

发布时间:2023/12/3 62 豆豆
生活随笔 收集整理的这篇文章主要介绍了 centos8 kernel source 安装_什么?你在物理机上安装Oracle总失败?那就试试Docker吧 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

写在前面

有些小伙伴按照我写的《【Oracle】什么?作为DBA,你竟然不会安装Oracle??》一文,在CentOS 8.0服务器上来安装Oracle,总是说:安装不成功!但是我确实也是在CentOS 8.0服务器上安装的啊!没办法,如果在物理机上安装总是失败,那我们就来试试在Docker上来安装Oracle吧,在Docker上安装Oracle也要实现数据的持久化。

注意:Docker安装Oracle需要提前安装好Docker和docker-compose,这些基础环境的安装我就不在这篇文章中写了,后续我会将这些统一写到【云原生】专题。

采用 docker-compose 安装

1.创建相关文件

mkdir /usr/local/dockercd /usr/local/dockermkdir oraclecd oracletouch docker-compose.yml 

2.docker-compose.yml 配置文件的内容如下

version: '3.1'services:  master:    image: registry.cn-hangzhou.aliyuncs.com/helowin/oracle_11g    container_name: oracle    privileged: true    ports:      - 1521:1521

3.启动容器,并进入容器

docker-compose up -ddocker exec -it oracle bash

4.配置环境,并创建一个用户,实现外部连接

cd /home/oracle                                           # 进入到 oracle 用户目录source .bash_profile                                      # 加载 oracle 环境变量$PATH                                                     # 查看 oracle 环境变量是否生效sqlplus / as sysdba                                       # 连接 oracle 数据库alter user system identified by oracle;                   # 修改 DBA 账号的密码alter user sys identified by oracle;                      # 修改 DBA 账号的密码alter profile default limit password_life_time unlimited; # 设置密码为永不过期create user test identified by oracle;                    # 创建一个 test 用户,密码 oracleselect * from dba_users t where t.username = 'TEST';      # 查询用户是否创建成功grant connect, resource, dba to test;                     # 给用户授予连接和数据权限

5.相关配置(可省略)

grant select on V_$session to test;grant select on V_$sesstat to test;grant select on V_$statname to test;show parameter deferred_segment_creation;          -- 查看是否启用 true 为启动alter system set deferred_segment_creation=false;  -- 修改为不启用show parameter deferred_segment_creation;          -- 查看是否修改成功 false 未启用

6,使用 plsql 连接

  • 账号:test
  • 密码:oracle
  • 连接:ip:1521/helowin

数据持久化

1.查看helowin实例

可以发现,helowin 的实例安装在:/home/oracle/app/oracle/oradata/helowin 目录下

2.拷贝数据到本地,并修改拥有者

docker cp oracle:/home/oracle/app/oracle/oradata/helowin /usr/local/docker/oracle/helowincd /usr/local/docker/oraclechown -R 500.500 ./helowin  # 500 500 是容器内 oracle 组合用户的 id

3.关闭容器

docker-compose down

4.重新启动容器,并在 docker-composr.yml 添加数据卷配置

version: '3.1'services:  master:    image: registry.cn-hangzhou.aliyuncs.com/helowin/oracle_11g    container_name: oracle    privileged: true    ports:      - 1521:1521    volumes:      - ./helowin:/home/oracle/app/oracle/oradata/helowin

5.查看启动日志

docker logs -f oracle

我们发现了一个错误,这是由于 oracle 为了数据安全,添加的版本验证

6.进入容器内,解决错误

docker exec -it oracle bashcd /home/oracle              # 进入到 oracle 用户目录source .bash_profile         # 加载 oracle 环境变量(每次进入容器都要加载配置文件)# 删除新生成的版本控制文件,将数据卷中的版本控制文件复制为新生成的版本控制文件rm -rf /home/oracle/app/oracle/flash_recovery_area/helowin/control02.ctlcp /home/oracle/app/oracle/oradata/helowin/control01.ctl /home/oracle/app/oracle/flash_recovery_area/helowin/control02.ctlsqlplus / as sysdba          # 以 dba 身份连接 oracle 数据库shutdown immediate           # 关闭数据库实例(这里会报错,不用管)startup                      # 启动实例

7.问题解决

再次使用 plsql 连接,发现之前创建 test 用户可以连接,数据持久化顺利完成。

PS:Oracle镜像的 root 用户账号密码:root/helowin。

好了,今天就聊到这儿吧!别忘了点个赞,给个点赞和转发,让更多的人看到,一起学习,一起进步!!

后记:

记住:你比别人强的地方,不是你做过多少年的CRUD工作,而是你比别人掌握了更多深入的技能。不要总停留在CRUD的表面工作,理解并掌握底层原理并熟悉源码实现,并形成自己的抽象思维能力,做到灵活运用,才是你突破瓶颈,脱颖而出的重要方向!

转载于:冰河技术

https://mp.weixin.qq.com/s/WaSauCx9N3PcJihuep9g1g

总结

以上是生活随笔为你收集整理的centos8 kernel source 安装_什么?你在物理机上安装Oracle总失败?那就试试Docker吧的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。