rancher安装oracle 11g

一,采用 docker-compose 安装

1,创建相关文件 docker-compose.yml

version: '2'
services:
  oracle:
    image: registry.cn-hangzhou.aliyuncs.com/helowin/oracle_11g

2,启动服务

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

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 用户,密码 oracle
select * from dba_users t where t.username = 'TEST';      # 查询用户是否创建成功
grant connect, resource 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 的实例安装在:/home/oracle/app/oracle/oradata/helowin 目录下
2,拷贝数据到本地,并修改拥有者

docker cp oracle:/home/oracle/app/oracle/oradata/helowin /root/rancher/develop/oracle/oradata:/home/oracle/app/oracle/oradata
cd /root/rancher/develop/oracle/oradata:/home/oracle/app/oracle/oradata
chown -R 500.500 ./helowin  # 500 500 是容器内 oracle 组合用户的 id

3, 添加数据卷配置

4,查看启动日志:docker logs -f oracle,我们发现了一个错误,这是由于 oracle 为了数据安全,添加的版本验证

5,进入容器内,解决错误

docker exec -it oracle bash
cd /home/oracle              # 进入到 oracle 用户目录
source .bash_profile         # 加载 oracle 环境变量(每次进入容器都要加载配置文件)

6.删除新生成的版本控制文件,将数据卷中的版本控制文件复制为新生成的版本控制文件

rm -rf /home/oracle/app/oracle/flash_recovery_area/helowin/control02.ctl
cp /home/oracle/app/oracle/oradata/helowin/control01.ctl /home/oracle/app/oracle/flash_recovery_area/helowin/control02.ctl
sqlplus / as sysdba          # 以 dba 身份连接 oracle 数据库
shutdown immediate           # 关闭数据库实例(这里会报错,不用管)
startup                      # 启动实例

7,再次使用 plsql 连接,发现之前创建 test 用户可以连接,数据持久化顺利完成
PS,镜像的 root 用户账号密码:root/helowin

三.验证数据库是否正常

验证成功,enjoy it

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

HBLOGA

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值