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

70次阅读

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

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 pf_prod/R6GJwHKMPRD@dtrac-scan.goodfirst.cn/dtmdm owner=pf_prod file='/u01/mdm/dbback/'$fname'/pf_prod_'$fname'.dmp'
exp pf_prod/R6GJwHKMPRD@dtrac-scan.goodfirst.cn/dtmdm owner=de_prod file='/u01/mdm/dbback/'$fname'/de_prod_'$fname'.dmp'
#exp pf_prod/R6GJwHKMPRD@dtrac-scan.goodfirst.cn/dtmdm owner=dh_prod file='/u01/mdm/dbback/'$fname'/dh_prod_'$fname'.dmp'
#exp pf_prod/R6GJwHKMPRD@dtrac-scan.goodfirst.cn/dtmdm owner=dp_prod file='/u01/mdm/dbback/'$fname'/dp_prod_'$fname'.dmp'
#exp pf_prod/R6GJwHKMPRD@dtrac-scan.goodfirst.cn/dtmdm owner=mc_prod file='/u01/mdm/dbback/'$fname'/mc_prod_'$fname'.dmp'
#exp pf_prod/R6GJwHKMPRD@dtrac-scan.goodfirst.cn/dtmdm owner=sc_prod file='/u01/mdm/dbback/'$fname'/sc_prod_'$fname'.dmp'

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

oracle 还原

1. 还原 uat

以还原到 uat 环境为例,uat 库中有这些表无需还原:sys_usage_information、actb_notify_url、actb_notify_url_relate、pf_gateway_internal、pf_datasource、sys_parameter、pf_scheduling_job

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

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

set NLS_LANG=AMERICAN_AMERICA.AL32UTF8
    imp pf_uat/R6GJwHKM@orats2.goodfirst.cn/dtmdm_ts file=/u01/mdm/dbback/20200703/pf_prod_20200703.dmp fromuser=pf_prod touser=pf_uat ignore=y
    imp pf_uat/R6GJwHKM@orats2.goodfirst.cn/dtmdm_ts file=/u01/mdm/dbback/20200703/de_prod_20200703.dmp fromuser=de_prod touser=de_uat ignore=y

2. 还原 dev

1.docker ps -l 取得 CONTAINER ID

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

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

`docker cp /home/20200824/pf_prod_20200824.dmp 24651bb321ea:/home/`

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

`export ORACLE_HOME=/u01/app/oracle-product/12.2.0/SE`

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

./imp system/oracle@xe file=/home/20200824/pf_prod_20200824.dmp fromuser=pf_prod touser=dt_pf_dev ignore=y

./imp system/oracle@xe file=/home/20200824/de_prod_20200824.dmp fromuser=de_prod touser=dt_de_dev ignore=y

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

正文完
 0