oracle备份恢复验证测试 | 您所在的位置:网站首页 › oracle恢复表空间 › oracle备份恢复验证测试 |
oracle备份恢复验证测试
操作流程: 1、 创建表空间、用户等,注意根据数据量大小,预估多add几个datafile文件,否则会出现空间不足的情况 2、 备份文件恢复到数据库中 3、 验证(挂测试业务或将还原后数据内容与原库做对比) 4、 重置表空间,为下一次恢复测试准备 一、创建表空间、用户等 /*第1步:创建临时表空间 */ SQL>create temporary tablespace dbuser_temp tempfile '/home/oracle/app/oracle/oradata/orcl/ dbuser_temp.dbf' size 50m autoextend on next 50m maxsize unlimited extent management local;/第2步:创建数据表空间/ SQL>create tablespace dbuser logging datafile '/home/oracle/app/oracle/oradata/orcl/dbuser.dbf' size 50m autoextend on next 50m maxsize unlimited extent management local;/添加datafile文件(根据实际数据量大小添加,一个为32G,具体看DB_BLOCK_SIZE配置:2K = 8G、8K = 32G、16K = 64G、32K = 128G)/ SQL>alter tablespace dbuser logging add datafile '/home/oracle/app/oracle/oradata/orcl/dbuser1.dbf' size 50m autoextend on next 50m maxsize unlimited extent management local; SQL>alter tablespace dbuser logging add datafile '/home/oracle/app/oracle/oradata/orcl/dbuser2.dbf' size 50m autoextend on next 50m maxsize unlimited extent management local;…………………. /*第3步:创建用户并指定表空间 */ SQL>create user dbuser identified by dbuser0769test default tablespace dbuser temporary tablespace dbuser_temp;/*第4步:给用户授予权限 * SQL>grant connect,resource,dba to dbuser ;二、备份文件恢复到数据库中 将备份数据库文件里的数据导入指定的数据库SampleDB 中,假设SampleDB 已存在该表,则不再导入; imp dbuser/dbuser0769test@orcl file=/data/sampleDB.dmp full=y ignore=y \#imp system/systempwd@orcl file=/home/oracle/sampledb.dmp fromuser=dbuser1 touser=dbuser2#导入部分表: imp dbuser/dbuser0769test@orcl file=/data/sampleDB.dmp ignore=y tables=(table1)三、验证:对比数据 完全还原后,随机抽取某表数据与原DB系统中表数据做对比 或还原部分表数据与DB系统中表数据做对比 四、重置表空间 #cat reset_tablespace.sh #!/bin/bash DB_CONN_STR='/ as sysdba' echo "#####################################################################" echo "Usage: $0 TABLESPACE_NAME ADDFILENUM" echo "TABLESPACE_NAME:要重置的表空间名称,即已存在的表空间,重置会删除表空间,请谨慎操作!" echo "ADDFILENUM:新建表空间时指定需要附加的datafile文件数量,若只有一个datafile,此处填写0,若附加一个(即共2个),此处写1" #删除表空间, if [ $# -ne 2 ]; then echo "Usage: $0 TABLESPACE_NAME ADDFILENUM " exit 1 fi read -p $'此脚本会删除指定名称的表空间(若存在),后重建此表空间(不涉及临时表空间)。\x0a 确定要执行? y:确认,其他:退出 :' par if [ "$par" != "y" ];then exit 1 fi ORACLE_BASE=/home/oracle/app/oracle ORACLE_HOME=${ORACLE_BASE}/product/11.2.0/db_1 ORACLE_SID=orcl ora_data=${ORACLE_BASE}/oradata tablespace_name=$(echo $1 | tr '[a-z]' '[A-Z]') datafile=$(echo $2) echo $datafile function gettablespace(){ sqlplus -s $DB_CONN_STR |
CopyRight 2018-2019 实验室设备网 版权所有 |