oracle基于docker部署(持久化数据)

4 篇文章 0 订阅
3 篇文章 0 订阅

一. 获取官方提供的Oracle_11g镜像

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

二.开始部署服务

2.1部署服务选择abxadmin/oracle_11g:latest

2.2配置服务(服务内部端口号必须为1521)

在这里插入图片描述

2.3完成服务初步部署(无需做其他操作)

2.4 创建数据库用户

在这里插入图片描述

每次进入 oracle 容器都需要加载环境变量
cd /home/oracle
source .bash_profile
sqlplus / as sysdba
创建用户
create user 用户名 identified by 密码;
grant connect,resource,dba to 用户名;

2.5设置Oracle归档日志大小(可不做)

1)登录oracel,如果已经登录则不用。
sqlplus / as sysdba  
2)查询当前设置大小
select * from v$recovery_file_dest; ---查询归档日志
3) 修改当前大小
shutdown abort     ----关闭进程  
startup mount       ---- 装载数据库  
ALTER SYSTEM SET db_recovery_file_dest_size=10g scope=both;
4)再次查询当前设置大小
	select * from v$recovery_file_dest; ---查询归档日志  
退出登录,执行3.3步。

2.6 创建存储盘

在这里插入图片描述

2.7 启动远程文件传输

在这里插入图片描述
使用远程传输文件命令
在这里插入图片描述

2.8拷贝文件至存储盘中

在这里插入图片描述

进入数据存储目录
cd /home/oracle/app/oracle/oradata
复制存储盘提供的远程传输文件夹命令进行拷贝
scp -P 23633 -r helowin root@ip:/oracle

2.9 修改文件权限

在这里插入图片描述

使用存储盘提供的远程登录命令进行登录修改
chown -R 500.500 ./helowin

三. 修改服务配置完成服务持久化部署

3.1 关闭存储盘远程传输(略)

3.2 添加存储盘

路径:/home/oracle/app/oracle/oradata/

在这里插入图片描述

3.3 等待服务重启完成后进入终端修改配置

cd /home/oracle source .bash_profile
删除新生成的版本控制文件,将数据卷中的版本控制文件复制为新生成的版本控制文件 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.ct

至此服务修改完成。

#重启数据库实例
sqlplus / as sysdba
SQL> shutdown immediate
SQL> startup

四 总结

4.1 每次进入容器中加载环境变量(我觉得容器不重启应该不需要)

cd /home/oracle
source .bash_profile

4.2 当容器重启后重复3.3步骤即可

4.3 附创建用户命令及修改用户命令

#修改用户密码命令
SQL> alter user 用户名称 identified by 用户名称;
SQL> alter user 用户名称 identified by 用户名称;

#设置密码永不过期 SQL> alter profile default limit password_life_time unlimited;

#创建用户命令 SQL> create user 用户名称 identified by 用户名称; SQL> select * from dba_users t where t.username = ‘用户名称’; SQL> grant connect, resource to
用户名称

五 FAQ

5.1 ora-03113

在这里插入图片描述

执行2.5步。

六 参考链接:

https://blog.csdn.net/edutech_wang/article/details/120176447
https://www.cnblogs.com/MrXiaoAndDong/p/docker_oracle.html

七 常用命令

查询sql日志

select SQL_TEXT , FIRST_LOAD_TIME from v$sqlarea t where t.SQL_TEXT like ‘%文本%’ AND FIRST_LOAD_TIME BETWEEN ‘时间1’ AND ‘时间2’ ORDER BY FIRST_LOAD_TIME DESC;
注意 时间1<=时间2
在这里插入图片描述

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值