docker 安装oracle_rancher安装oracle 11g

一,采用 docker-compose 安装

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

version: '2'

services:

oracle:

image: registry.cn-hangzhou.aliyuncs.com/helowin/oracle_11g

2,启动服务

5ed785068de40d8053e82ada1c728c87.png

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

4f581b1a998778147560441fa8880f9b.png

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, 添加数据卷配置

d316d20b1867bd7e1a8dbb7ed8744b35.png

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

68ba31a65ca0f097374fe0160b92092f.png

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

三.验证数据库是否正常

e052c0c6e057b5e6ca22e2725119701c.png

验证成功,enjoy it


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部