当前位置: 首页 > article >正文

云上Oracle 数据库本地备份部署测试

1.说明
由于运行在云上的Oracle数据库暂无本地备份,为了保障租户业务系统的可持续性以及数据安全,特此进行数据库备份本地部署并进行测试。
2.备份策略
(1)数据库数据量
SQL> select sum(bytes)/1024/1024/1024 from dba_segments;
SUM(BYTES)/1024/1024/1024
-------------------------
           98.9221191
(2)策略内容
根据租户数据量查询统计结果以及租户的业务场景,将租户数据库的备份策略设定如下:
备份类型:逻辑备份
备份方式:采用数据泵expdp导出方式
备份时间:每日0:00
备份保留时间:30天
3.备份部署准备
(1)环境准备
创建存储挂载目录:
mkdir /backup
chown oracle:oinstall /backup
(2)挂载备份存储
mount -t nfs -o vers=3,nolock 10.216.83.205:/   /backup
(3)创建备份存储目录
cd /backup
mkdir fullbackup
(4)创建备份路径
create directory fullbackup as '/backup/fullbackup';
grant read,write on directory fullbackup to public;


4.备份脚本测试

脚本测试环境为本地Oracle测试环境。
1.创建测试用户
create user c##test identfied by test;
grant dba to c##test;
conn c##test/test;
create table test0827 as select * from dba_objects;
create directory fullbackup as ‘/backup/fullbackup’;
grant read,write on directory fullbackup to public;

2.脚本内容
[oracle@rhel fullbackup]$ more fullbackup.sh 
#!/bin/sh
#Oracle环境设置
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/12.1.0/db_1
export ORACLE_SID=ora12c1
export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK
export PATH=$PATH:/u01/app/oracle/product/12.1.0/db_1/bin:$ORACLE_HOME/OPatch
DMP_FILE=fullbackup_expdp_$(date +%Y%m%d%H%M).dmp
LOG_FILE=fullbackup_expdp_$(date +%Y%m%d%H%M).log
#expdp导出数据库开始
expdp 'system/"J(oXhc6bo3"' full=y directory=fullbackup DUMPFILE=$DMP_FILE logfile=$LOG_FILE;

3.执行测试脚本
[oracle@rhel fullbackup]$ chmod +x fullbackup.sh 
[oracle@rhel fullbackup]$ ll
总用量 4
-rwxr-xr-x. 1 oracle oinstall 562 8月  27 15:51 fullbackup.sh

[oracle@rhel fullbackup]$ sh fullbackup.sh 

Export: Release 23.0.0.0.0 - Production on 星期二 8月 27 15:51:08 2024
Version 23.4.0.24.05

Copyright (c) 1982, 2024, Oracle and/or its affiliates.  All rights reserved.

连接到: Oracle Database 23ai Free Release 23.0.0.0.0 - Develop, Learn, and Run for Free

警告: 连接到容器数据库的根或种子时通常不需要 Oracle Data Pump 操作。

启动 "SYSTEM"."SYS_EXPORT_FULL_01":  "system/********" full=y directory=fullbackup DUMPFILE=fullbackup_expdp_20240827.dmp logfile=fullbackup_expdp_20240827.log 
处理对象类型 DATABASE_EXPORT/EARLY_OPTIONS/VIEWS_AS_TABLES/TABLE_DATA
处理对象类型 DATABASE_EXPORT/NORMAL_OPTIONS/TABLE_DATA
处理对象类型 DATABASE_EXPORT/NORMAL_OPTIONS/VIEWS_AS_TABLES/TABLE_DATA
处理对象类型 DATABASE_EXPORT/SCHEMA/TABLE/TABLE_DATA
处理对象类型 DATABASE_EXPORT/SCHEMA/TABLE/INDEX/STATISTICS/INDEX_STATISTICS
处理对象类型 DATABASE_EXPORT/SCHEMA/TABLE/STATISTICS/TABLE_STATISTICS
处理对象类型 DATABASE_EXPORT/TABLESPACE
处理对象类型 DATABASE_EXPORT/PROFILE
处理对象类型 DATABASE_EXPORT/SCHEMA/USER
处理对象类型 DATABASE_EXPORT/RADM_FPTM
处理对象类型 DATABASE_EXPORT/GRANT/SYSTEM_GRANT/PROC_SYSTEM_GRANT/RULE
处理对象类型 DATABASE_EXPORT/GRANT/SYSTEM_GRANT/PROC_SYSTEM_GRANT/AQ
处理对象类型 DATABASE_EXPORT/GRANT/SYSTEM_GRANT/PROC_SYSTEM_GRANT/SQL
处理对象类型 DATABASE_EXPORT/GRANT/SYSTEM_GRANT/PROC_SYSTEM_GRANT/JVM
处理对象类型 DATABASE_EXPORT/SCHEMA/GRANT/SYSTEM_GRANT
处理对象类型 DATABASE_EXPORT/SCHEMA/ROLE_GRANT
处理对象类型 DATABASE_EXPORT/SCHEMA/DEFAULT_ROLE
处理对象类型 DATABASE_EXPORT/SCHEMA/ON_USER_GRANT
处理对象类型 DATABASE_EXPORT/SCHEMA/TABLESPACE_QUOTA
处理对象类型 DATABASE_EXPORT/RESOURCE_COST
处理对象类型 DATABASE_EXPORT/TRUSTED_DB_LINK
处理对象类型 DATABASE_EXPORT/DIRECTORY/DIRECTORY
处理对象类型 DATABASE_EXPORT/DIRECTORY/GRANT/OWNER_GRANT/OBJECT_GRANT
处理对象类型 DATABASE_EXPORT/DIRECTORY/GRANT/CROSS_SCHEMA/OBJECT_GRANT
处理对象类型 DATABASE_EXPORT/SYSTEM_PROCOBJACT/PRE_SYSTEM_ACTIONS/PROCACT_SYSTEM/LOGREP
处理对象类型 DATABASE_EXPORT/SYSTEM_PROCOBJACT/PRE_SYSTEM_ACTIONS/PROCACT_SYSTEM/RMGR
处理对象类型 DATABASE_EXPORT/SYSTEM_PROCOBJACT/PROCOBJ/RMGR
处理对象类型 DATABASE_EXPORT/SYSTEM_PROCOBJACT/PROCOBJ/SCHEDULER
处理对象类型 DATABASE_EXPORT/SYSTEM_PROCOBJACT/POST_SYSTEM_ACTIONS/PROCACT_SYSTEM/RMGR
处理对象类型 DATABASE_EXPORT/SYSTEM_PROCOBJACT/POST_SYSTEM_ACTIONS/PROCACT_SYSTEM/SRVR
处理对象类型 DATABASE_EXPORT/SYSTEM_PROCOBJACT/POST_SYSTEM_ACTIONS/PROCACT_SYSTEM/SEC
处理对象类型 DATABASE_EXPORT/SCHEMA/PROCACT_SCHEMA/LOGREP
处理对象类型 DATABASE_EXPORT/EARLY_OPTIONS/VIEWS_AS_TABLES/TABLE
处理对象类型 DATABASE_EXPORT/NORMAL_OPTIONS/TABLE
处理对象类型 DATABASE_EXPORT/NORMAL_OPTIONS/VIEWS_AS_TABLES/TABLE
处理对象类型 DATABASE_EXPORT/SCHEMA/TABLE/TABLE
处理对象类型 DATABASE_EXPORT/SCHEMA/TABLE/COMMENT
处理对象类型 DATABASE_EXPORT/SCHEMA/TABLE/INDEX/INDEX
处理对象类型 DATABASE_EXPORT/AUDIT_UNIFIED/AUDIT_POLICY_ENABLE
. . 导出了 "SYS"."KU$_USER_MAPPING_VIEW"                 6.1 KB      35 行
. . 导出了 "AUDSYS"."AUD$UNIFIED":"SYS_P202"            23.5 MB   13870 行
. . 导出了 "AUDSYS"."AUD$UNIFIED":"SYS_P301"            88.6 KB      71 行
. . 导出了 "AUDSYS"."AUD$UNIFIED":"SYS_P387"            67.9 KB      26 行
. . 导出了 "SYS"."SQL_LOG$"                                0 KB       0 行
. . 导出了 "WMSYS"."WM$CONSTRAINTS_TABLE$"                 0 KB       0 行
. . 导出了 "WMSYS"."WM$LOCKROWS_INFO$"                     0 KB       0 行
. . 导出了 "WMSYS"."WM$UDTRIG_INFO$"                       0 KB       0 行
. . 导出了 "SYS"."AUD$"                                    0 KB       0 行
. . 导出了 "SYSTEM"."REDO_DB"                           27.2 KB       1 行
. . 导出了 "WMSYS"."WM$WORKSPACES_TABLE$"               12.5 KB       1 行
. . 导出了 "WMSYS"."WM$HINT_TABLE$"                     10.1 KB      97 行
. . 导出了 "LBACSYS"."OLS$INSTALLATIONS"                 7.1 KB       2 行
. . 导出了 "WMSYS"."WM$WORKSPACE_PRIV_TABLE$"            7.2 KB      11 行
. . 导出了 "SYS"."DAM_CONFIG_PARAM$"                     6.6 KB      13 行
. . 导出了 "SYS"."TSDP_SUBPOL$"                          6.4 KB       1 行
. . 导出了 "WMSYS"."WM$NEXTVER_TABLE$"                   6.5 KB       1 行
. . 导出了 "LBACSYS"."OLS$PROPS"                         6.2 KB       3 行
. . 导出了 "WMSYS"."WM$ENV_VARS$"                        6.1 KB       3 行
. . 导出了 "SYS"."TSDP_PARAMETER$"                         6 KB       1 行
. . 导出了 "SYS"."TSDP_POLICY$"                            6 KB       1 行
. . 导出了 "WMSYS"."WM$VERSION_HIERARCHY_TABLE$"         6.1 KB       1 行
. . 导出了 "WMSYS"."WM$EVENTS_INFO$"                     5.9 KB      12 行
. . 导出了 "LBACSYS"."OLS$AUDIT_ACTIONS"                 5.8 KB       8 行
. . 导出了 "LBACSYS"."OLS$DIP_EVENTS"                    5.6 KB       2 行
. . 导出了 "AUDSYS"."AUD$UNIFIED":"AUD_UNIFIED_P0"         0 KB       0 行
. . 导出了 "LBACSYS"."OLS$AUDIT"                           0 KB       0 行
. . 导出了 "LBACSYS"."OLS$COMPARTMENTS"                    0 KB       0 行
. . 导出了 "LBACSYS"."OLS$DIP_DEBUG"                       0 KB       0 行
. . 导出了 "LBACSYS"."OLS$GROUPS"                          0 KB       0 行
. . 导出了 "LBACSYS"."OLS$LAB"                             0 KB       0 行
. . 导出了 "LBACSYS"."OLS$LEVELS"                          0 KB       0 行
. . 导出了 "LBACSYS"."OLS$POL"                             0 KB       0 行
. . 导出了 "LBACSYS"."OLS$POLICY_ADMIN"                    0 KB       0 行
. . 导出了 "LBACSYS"."OLS$POLS"                            0 KB       0 行
. . 导出了 "LBACSYS"."OLS$POLT"                            0 KB       0 行
. . 导出了 "LBACSYS"."OLS$PROFILE"                         0 KB       0 行
. . 导出了 "LBACSYS"."OLS$PROFILES"                        0 KB       0 行
. . 导出了 "LBACSYS"."OLS$PROG"                            0 KB       0 行
. . 导出了 "LBACSYS"."OLS$SESSINFO"                        0 KB       0 行
. . 导出了 "LBACSYS"."OLS$USER"                            0 KB       0 行
. . 导出了 "LBACSYS"."OLS$USER_COMPARTMENTS"               0 KB       0 行
. . 导出了 "LBACSYS"."OLS$USER_GROUPS"                     0 KB       0 行
. . 导出了 "LBACSYS"."OLS$USER_LEVELS"                     0 KB       0 行
. . 导出了 "SYS"."DAM_CLEANUP_EVENTS$"                     0 KB       0 行
. . 导出了 "SYS"."DAM_CLEANUP_JOBS$"                       0 KB       0 行
. . 导出了 "SYS"."FW_ALLOW_LIST$"                          0 KB       0 行
. . 导出了 "SYS"."FW_ALLOW_LIST_CONTEXT$"                  0 KB       0 行
. . 导出了 "SYS"."FW_ALLOW_LIST_SQL$"                      0 KB       0 行
. . 导出了 "SYS"."FW_CAPTURE$"                             0 KB       0 行
. . 导出了 "SYS"."TSDP_ASSOCIATION$"                       0 KB       0 行
. . 导出了 "SYS"."TSDP_CONDITION$"                         0 KB       0 行
. . 导出了 "SYS"."TSDP_FEATURE_POLICY$"                    0 KB       0 行
. . 导出了 "SYS"."TSDP_PROTECTION$"                        0 KB       0 行
. . 导出了 "SYS"."TSDP_SENSITIVE_DATA$"                    0 KB       0 行
. . 导出了 "SYS"."TSDP_SENSITIVE_TYPE$"                    0 KB       0 行
. . 导出了 "SYS"."TSDP_SOURCE$"                            0 KB       0 行
. . 导出了 "SYSTEM"."REDO_LOG"                             0 KB       0 行
. . 导出了 "WMSYS"."WM$BATCH_COMPRESSIBLE_TABLES$"         0 KB       0 行
. . 导出了 "WMSYS"."WM$CONS_COLUMNS$"                      0 KB       0 行
. . 导出了 "WMSYS"."WM$MODIFIED_TABLES$"                   0 KB       0 行
. . 导出了 "WMSYS"."WM$MP_GRAPH_WORKSPACES_TABLE$"         0 KB       0 行
. . 导出了 "WMSYS"."WM$MP_PARENT_WORKSPACES_TABLE$"        0 KB       0 行
. . 导出了 "WMSYS"."WM$NESTED_COLUMNS_TABLE$"              0 KB       0 行
. . 导出了 "WMSYS"."WM$RESOLVE_WORKSPACES_TABLE$"          0 KB       0 行
. . 导出了 "WMSYS"."WM$RIC_LOCKING_TABLE$"                 0 KB       0 行
. . 导出了 "WMSYS"."WM$RIC_TABLE$"                         0 KB       0 行
. . 导出了 "WMSYS"."WM$RIC_TRIGGERS_TABLE$"                0 KB       0 行
. . 导出了 "WMSYS"."WM$UDTRIG_DISPATCH_PROCS$"             0 KB       0 行
. . 导出了 "WMSYS"."WM$VERSION_TABLE$"                     0 KB       0 行
. . 导出了 "WMSYS"."WM$VT_ERRORS_TABLE$"                   0 KB       0 行
. . 导出了 "WMSYS"."WM$WORKSPACE_SAVEPOINTS_TABLE$"        0 KB       0 行
. . 导出了 "SYS"."GV_$UNIFIED_AUDIT_TRAIL"              88.5 KB      73 行
. . 导出了 "SYS"."FGA_LOG$FOR_EXPORT"                      0 KB       0 行
. . 导出了 "SYS"."SQL$TEXT_DATAPUMP"                       0 KB       0 行
. . 导出了 "SYS"."SQLOBJ$AUXDATA_DATAPUMP"                 0 KB       0 行
. . 导出了 "SYS"."SQLOBJ$DATA_DATAPUMP"                    0 KB       0 行
. . 导出了 "SYS"."SQL$_DATAPUMP"                           0 KB       0 行
. . 导出了 "SYS"."SQLOBJ$PLAN_DATAPUMP"                    0 KB       0 行
. . 导出了 "SYS"."SQLOBJ$_DATAPUMP"                        0 KB       0 行
. . 导出了 "SYSTEM"."SCHEDULER_JOB_ARGS"                   0 KB       0 行
. . 导出了 "SYSTEM"."SCHEDULER_PROGRAM_ARGS"               0 KB       0 行
. . 导出了 "WMSYS"."WM$EXP_MAP"                          7.9 KB       3 行
. . 导出了 "WMSYS"."WM$METADATA_MAP"                       0 KB       0 行
. . 导出了 "MDSYS"."RDF_PARAM$"                          6.6 KB       3 行
. . 导出了 "SYS"."AUDTAB$TBS$FOR_EXPORT"                   6 KB       2 行
. . 导出了 "SYS"."DBA_SENSITIVE_DATA"                      0 KB       0 行
. . 导出了 "SYS"."DBA_TSDP_POLICY_PROTECTION"              0 KB       0 行
. . 导出了 "SYS"."NACL$_ACE_EXP"                           0 KB       0 行
. . 导出了 "SYS"."NACL$_HOST_EXP"                        7.5 KB       1 行
. . 导出了 "SYS"."NACL$_WALLET_EXP"                        0 KB       0 行
. . 导出了 "C##TEST"."TEST0827"                         10.4 MB   70819 行
已成功加载/卸载了主表 "SYSTEM"."SYS_EXPORT_FULL_01" 
******************************************************************************
SYSTEM.SYS_EXPORT_FULL_01 的转储文件集为:
  /backup/fullbackup/fullbackup_expdp_20240827.dmp
作业 "SYSTEM"."SYS_EXPORT_FULL_01" 已于 星期二 8月 27 15:58:30 2024 elapsed 0 00:06:52 成功完成

根据日志信息显示,执行备份脚本成功,数据库导出备份成功,无报错。

4.备份文件导入测试
    删除测试用户及数据:
drop user c##test cascade;
SQL> drop user c##test cascade;
用户已删除。
查看备份文件:
fullbackup_expdp_20240827.dmp
fullbackup_expdp_20240827.log

使用备份文件进行数据导入:
[oracle@rhel fullbackup]$ impdp 'system/"J(oXhc6bo3"' schemas=c##test directory=fullbackup DUMPFILE=fullbackup_expdp_20240827.dmp logfile=fullbackup_impdp_20240827.log

Import: Release 23.0.0.0.0 - Production on 星期二 8月 27 16:10:55 2024
Version 23.4.0.24.05

Copyright (c) 1982, 2024, Oracle and/or its affiliates.  All rights reserved.

连接到: Oracle Database 23ai Free Release 23.0.0.0.0 - Develop, Learn, and Run for Free

警告: 连接到容器数据库的根或种子时通常不需要 Oracle Data Pump 操作。

已成功加载/卸载了主表 "SYSTEM"."SYS_IMPORT_SCHEMA_01" 
启动 "SYSTEM"."SYS_IMPORT_SCHEMA_01":  "system/********" schemas=c##test directory=fullbackup DUMPFILE=fullbackup_expdp_20240827.dmp logfile=fullbackup_impdp_20240827.log 
处理对象类型 DATABASE_EXPORT/SCHEMA/USER
处理对象类型 DATABASE_EXPORT/SCHEMA/GRANT/SYSTEM_GRANT
处理对象类型 DATABASE_EXPORT/SCHEMA/ROLE_GRANT
处理对象类型 DATABASE_EXPORT/SCHEMA/DEFAULT_ROLE
处理对象类型 DATABASE_EXPORT/SCHEMA/PROCACT_SCHEMA/LOGREP
处理对象类型 DATABASE_EXPORT/SCHEMA/TABLE/TABLE
处理对象类型 DATABASE_EXPORT/SCHEMA/TABLE/TABLE_DATA
. . 导入了 "C##TEST"."TEST0827"                         10.4 MB   70819 行
处理对象类型 DATABASE_EXPORT/SCHEMA/TABLE/STATISTICS/TABLE_STATISTICS
作业 "SYSTEM"."SYS_IMPORT_SCHEMA_01" 已于 星期二 8月 27 16:12:16 2024 elapsed 0 00:00:50 成功完成

    根据导入日志信息提示,备份文件导入成功,c##用户数据导入成功。

导入信息验证:
select count(*) from c##test.test0827;
SQL> select count(*) from c##test.test0827;

  COUNT(*)
----------
     70819

SQL> 

导入数据验证成功。

5.正式部署
    创建备份脚本:
cd /backup/fullbakcup
vi fullbackup.sh
脚本内容如下:
#!/bin/sh
#Oracle环境设置
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/12.1.0/db_1
export ORACLE_SID=ora12c1
export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK
export PATH=$PATH:/u01/app/oracle/product/12.1.0/db_1/bin:$ORACLE_HOME/OPatch

DMP_FILE=fullbackup_expdp_$(date +%Y%m%d%H%M).dmp
LOG_FILE=fullbackup_expdp_$(date +%Y%m%d%H%M).log
#expdp导出数据库开始
expdp 'system/"J(oXhc6bo3"' full=y directory=fullbackup DUMPFILE=$DMP_FILE logfile=$LOG_FILE;
Oracle用户下设置定时任务:

6.注意事项
(1)注意备份时间需要设置为业务空闲时段,避免由于备份引起IO资源占用,导致业务受影响。
(2)定期进行备份任务查看,确认备份结果是否成功,出现报错及时进行处理。
(3)定期进行备份文件维护,避免过多的备份文件占用存储空间,减少不必要的空间浪费。


http://www.kler.cn/a/283162.html

相关文章:

  • ️️一篇快速上手 AJAX 异步前后端交互
  • 深入探讨 MySQL 配置与优化:从零到生产环境的最佳实践20241112
  • C++初阶——list
  • 【C++】类与对象的基础概念
  • Unity3D学习FPS游戏(11)敌人AI巡逻(NavMesh)
  • 人脸识别技术:从算法到深度学习的全面解析
  • Redis/ElaticSearch/kafka入门
  • 《经典图论算法》卡恩(Kahn)算法
  • 【电控笔记z27】相对位置控制(无前馈)
  • 【算法】递归、回溯、剪枝、dfs 算法题练习(N皇后、单词搜索、数独问题;C++)
  • Nginx: 反向代理和动静分离概述
  • 02. 开发前准备,Docker安装MySQL,Redis
  • SpringBoot优雅的封装不同研发环境下(环境隔离)RocketMq自动ack和手动ack
  • python实战二-筛选多个Excel中数据
  • 深度学习论文被评“创新性不足、工作量不够”怎么办?
  • Java毕业设计 基于SSM校园心理咨询服务平台
  • 应对Nginx负载均衡中的请求超时:策略与配置
  • HTTPS 通信时是对称加密还是非对称加密?
  • 基于SpringBoot的医疗服务系统
  • 贝塞尔曲线
  • uniapp小程序怎么判断滑动的方向
  • Redis—基础篇
  • 如何让大模型学会自我反思
  • VMware安装Ubuntu 23.10.1系统图文版
  • Yolo环境搭建(深度学习基础环境)
  • 在Docker中,本地的镜像文件都存放在哪里?