数据恢复咨询热线:400-666-3702  

欢迎访问南京兆柏数据恢复公司,专业数据恢复15年

兆柏数据恢复公司

 行业新闻

 当前位置: 主页 > 行业新闻

oracle修复oracle备份恢复验证测试

浏览量: 次 发布日期:2023-08-11 21:26:54

操作流程:

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 <

REM ------------------------------------------------------------

set pagesize 20

set feedback off

set verify off

set head on

alter session set nls_date_format='HH:MI:SS DD-MON-YY';

col host_name for a15

col instance_name format a11

col version format a15

col status format a8

col RAC for a5

col log_mode format a10

col platform_name format a20

set lines 150

PROMPT

--PROMPT---- Instance general information ----------

select tablespace_name from dba_tablespaces where tablespace_name='${tablespace_name}';

PROMPT

EOF

exit

}

getts=$(gettablespace |grep ${tablespace_name})

echo $getts

#删除表空间,

if [ "${getts}" = "${tablespace_name}" ]; then

wind_var=$(

sqlplus -s ${DB_CONN_STR} <

set heading off

drop tablespace ${tablespace_name} including contents and datafiles;

EXIT;

EOF

)

echo -e "\e[1;32m ${wind_var} \e[0m" #Direct display returns results

else

echo -e "\e[1;31m --------------------------------------- \e[0m"

echo -e "\e[1;31m The tablespace ${tablespace_name} not exits! \e[0m"

echo -e "\e[1;31m --------------------------------------- \e[0m"

exit 1

fi

#创建表空间

if [ $? -eq 0 ];then

wind_var1=$(

sqlplus -s ${DB_CONN_STR} <

set heading off

create tablespace ${tablespace_name} logging datafile '${ora_data}/${ORACLE_SID}/${tablespace_name}.dbf' size 50m autoextend on next 50m maxsize unlimited extent management local;

EXIT;

EOF

)

if [ $? -eq 0 ]; then

echo -e "\e[1;32m ${wind_var1} \e[0m" #Direct display returns results

#添加datafile文件,

if [ $datafile -ne 0 ];then

for i in `seq ${datafile}`

do

wind_var2=$(

sqlplus -s ${DB_CONN_STR} <

set heading off

alter tablespace ${tablespace_name} add datafile '${ora_data}/${ORACLE_SID}/${tablespace_name}${i}.dbf' size 50m autoextend on next 50m maxsize unlimited ;

EXIT;

EOF

)

done

fi

if [ $? -eq 0 ]; then

echo -e "\e[1;32m ${wind_var2} \e[0m" #Direct display returns results

echo -e "\e[1;32m 已附加${datafile}个datafile文件。 \e[0m" #Direct display returns results

exit 1

else

echo "add datafile fail."

fi

else

echo "create tablespace fail."

fi

fi

查询用户名及表空间

catcheck_oracle_user.sh

###########/exp/backup/export.sh

#!/bin/sh

#function:using data pump backup database

#####ORACLE PARATMETER ####################

export ORACLE_SID=orcl #$SID 为oracle sid

export ORACLE_HOME=/home/oracle/app/oracle/product/11.2.0/db_1

export PATH=.:$ORACLE_HOME/bin:$PATH:.

export NLS_LANG="Simplified Chinese_china.AL32UTF8"

ACTION_TIME=`date +%Y_%m_%d`

DB_CONN_STR='/ as sysdba'

function getuser(){

sqlplus -s $DB_CONN_STR <

REM ------------------------------------------------------------------------

set pagesize 20

set feedback off

set verify off

set head on

alter session set nls_date_format='HH:MI:SS DD-MON-YY';

col host_name for a15

col instance_name format a11

col version format a15

col status format a8

col RAC for a5

col log_mode format a10

col platform_name format a20

set lines 150

PROMPT

--PROMPT--------------- Instance general information ------------------

select username,default_tablespace from dba_users where account_status='OPEN'AND DEFAULT_TABLESPACE !='SYSTEM'AND DEFAULT_TABLESPACE !=oracle修复'SYSAUX';

兆柏数据恢复公司

select tablespace_name from dba_tablespaces ;

PROMPT

EOF

exit

oracle修复}

owner=$(getuser)

echo oracle修复 "$owner"


重要数据丢失请联系兆柏数据恢复公司
相关推荐

. oracle11g修复,Oracle 11g TNS-12545错误排查与修复指南

. 控制器坏了如何修复视频,控制器故障排查与视频修复技巧解析

. 磁盘阵列坏了怎么修复啊,RAID磁盘阵列故障诊断与修复全攻略

. 戴尔笔记本硬盘损坏怎么办,戴尔笔记本硬盘故障排查与修复指南

. 数据恢复中心有哪些,揭秘硬盘故障与数据丢失的解决方案n2. 硬盘数据恢复攻略:数据恢

. 戴尔笔记本硬盘损坏修复,戴尔笔记本硬盘故障排查与修复指南

. oracle数据库数据恢复,Oracle数据库数据恢复策略与实战指南

. dell硬盘坏了怎么备份数据,数据备份与恢复全攻略

. 硬盘数据恢复修复团队,硬盘数据恢复修复团队的专业守护

. 硬盘数据恢复维修培训,掌握数据拯救与设备修复的奥秘

. 硬盘数据恢复后文件损坏怎么办,硬盘数据恢复后文件损坏的应对策略与修复方法

. 联想电脑硬盘坏了怎么办,诊断与修复策略

. oracle数据文件损坏 怎么恢复,全面解析与实操步骤

. 机械硬盘怎么修复数据,全面解析故障处理与数据恢复技巧

. 西部数据移动硬盘维修网点,专业数据恢复与故障修复服务

. 电脑硬盘数据恢复原理,从文件系统到物理修复的全方位解析

. oracle数据库收费标准,全面了解授权模式与费用构成

. sql2012还原备份的数据库,sql2012怎么还原数据库

. MySQL备份分类,MySQL存储过程中分支语句有哪些

. oracle数据库官网,深入探索Oracle数据库官网——您的数据库学习与资源宝库