安装
oracle12c企业版安装
前提
oracle的安装目录需要有全部可写权限,在安装之前请先设置安装目录权限。
假设安装目录是/data/oracle/data
,执行以下命令:
chmod 777 /data/oracle/data
载入镜像
docker load < oracle-12c.tar
注:时间可能较长,请耐心等待
打私有库标签
打上已经装好的Docker私有云
标签,如:10.10.10.52:4000
docker tag lucksoft/oracle:12c 10.10.10.52:4000/lucksoft/oracle:12c
推送到私有库
docker push 10.10.10.52:4000/lucksoft/oracle:12c
##启动
由于在项目实际使用中发现Oracle12c
的Docker
版本在Rancher
中出现经常卡死重启的现象,所以统一改为命令启动方式。
docker run --name oracle --privileged --restart=always \
-p 30521:1521 -p 30500:5500 \
-e ORACLE_SID=ITPM \
-e ORACLE_PDB=ITPMDB \
-e ORACLE_PWD=Ygluck!orcl \
-e AUTO_BACKUP=true \
-v /data/oracle/data:/opt/oracle/oradata \
-d \
10.10.10.52:4000/lucksoft/oracle:12c
参数说明:
-
ORACLE_SID:sid名称
-
ORACLE_PDB:pdb名称
-
ORACLE_PWD:默认管理密码
-
AUTO_BACKUP:是否启动备份策略
注:-p hostPort:containerPort 是端口映射,-v hostDir:containerDir 是数据目录映射,可以根据实际环境修改
备份配置
当环境变量中,配置有AUTO_BACKUP
键值时,会启用自动备份功能,如果不想启用请删除该键值。
备份策略如下:
-
每周的周六晚上23:59执行一个全备操作
-
周日和周一到周五每晚23:59执行一个1级备份
-
全备保留一个月,超过一个月的全备和1级备份全都删除
-
归档日志保留最近七天的,七天前的归档日志全部删除
这样的条件就会产生以下的效果
-
可以恢复从现在到七天前这段时间任意时刻的数据库状态
-
比七天前还早的时间我可以恢复到任意某天晚上24:00的状态
-
一个月之前的备份都被删除,不占用磁盘空间
备份是用Oracle
自带的RMAN
工具实现,关于备份的管理和恢复请自行查看RMAN
工具的使用方法
备份文件及日志在数据目录下的backup目录中
注:新版的
lucksoft/oracle:12c
镜像默认已开启归档模式,不再需要手动打开
从日志中我们可以查看备份服务的启动信息:
自定义备份
(待补充)
##自定义备份(忽略表)
关于Oracle的自定义忽略表备份 需要提供自定义备份脚步增加 EXCLUDE,示例:
expdp test/luckserver@10.10.10.59:1521/itpm dumpfile=test1.dmp logfile=test.log directory=ITPM_DIR EXCLUDE=TABLE:\"IN\(\'STD_POWER\',\'STD_RISK\'\)\"
配置文件位置
所有的配置文件都在安装目录下的dbconfig
文件夹中,如图: