关于数据库:docker-oracle数据库备份还原

1次阅读

共计 1079 个字符,预计需要花费 3 分钟才能阅读完成。

oracle 备份

登录须要备份的 oracle 服务器运行脚本:
– 以下是我的门路
1.cd /u01/mdm/dbback
2.sh oracle_prod_backup.sh

oracle_prod_backup.sh:

#!bin/bash
set NLS_LANG=AMERICAN_AMERICA.AL32UTF8
cd /u01/mdm/dbback/

fname=$(date "+%Y%m%d")
mkdir /u01/mdm/dbback/$fname
exp userName/pwd@域名 / 数据库 sid owner=ownerName file='/u01/mdm/dbback/'$fname'/pf_prod_'$fname'.dmp'

#tar -czvf /u01/mdm/dbback/dtmdm_dbback_$fname.tar.gz /u01/mdm/dbback/$fname

oracle 还原

1. 还原 uat

还原步骤:①备份无需还原表,备份 admin 明码 ②删除用户下所有表(可能存在外键关系,多删除几次即可)③还原数据库 ④还原上述表,还原 admin 明码

在指标数据库环境运行以下脚本:
imp 用户名 / 明码 @service_name 或 oracle_sid file= 导出目录 fromuser= 以后 dmp 导入文件中的用户名 touser= 待导入数据库中的用户名 ignore=y 有雷同表构造不创立表,但会导入数据

set NLS_LANG=AMERICAN_AMERICA.AL32UTF8
imp 用户名 / 明码 @service_name 或 oracle_sid file= 导出目录 fromuser= 以后 dmp 导入文件中的用户名 touser= 待导入数据库中的用户名 ignore=y

2. 还原 dev

1.docker ps -l 取得 CONTAINER ID

2.docker exec -it CONTAINER ID bash 进入容器

3. 上传备份文件并复制到 docker 容器中:

`docker cp 备份文件.dmp CONTAINER ID:/home/`

4. 配置环境变量,容器中 bin 目录下运行:

`export ORACLE_HOME=/******/oracle-product/12.2.0/SE`

5. 容器中 bin 目录下运行:

./imp 用户名 / 明码 @service_name 或 oracle_sid file= 备份文件.dmp fromuser=***** touser=****** ignore=y

导入版本不统一问题:指标数据库查问 select t.* from v$version t,批改.dmp 版本,留神格局 如:19.01.20

正文完
 0