oracle 10g 备份与还原小结(二)

来源:互联网 发布:铅酸电池老化原因知乎 编辑:程序博客网 时间:2024/05/23 12:10

1.从正常的文件系统中,将oracle 10g数据库迁移到ASM上。

首先,通过dbca命令运行窗体创建ASM存储介质

取名为"DATA",同时使其进入mount状态

/***************控制文件迁移动控制文件*****************
修改配置文件设置(initorcl.ora)
create pfile from spfile,生成pfile.即(initorcl.ora)
修改从controlfile='+DATA'.
/**************************************8
A修改参数asm_disk
export ORACLE_SID='+ASM'
show parameter asm
---设置参数指定,ASM设备
alter system set asm_disk='/dev/raw/raw*'
--设置参数强度 asm_powlimit
alter system set asm_powlimit=11
0:没关,11:最强。
//得到修改pfile即(controlfile='+DATA')
create spfile from pfile(nomount状态)
//增加3路磁盘组,备份
create diskgroup data normal redundancy
failgroup f1 disk '/dev/raw/raw6' name d6
failgroup f2 disk '/dev/raw/raw7' name d7
failgroup f3 disk '/dev/raw/raw8' name d8

可以查询的示图
select * from V$asm_disk name,failgroup
       //显法格式(更为亲切的显示数据的设置)
      col name format a10
      col failgroup format a10
//查看一些基本参数
select name,failgroup,mount_start from $asm_disk;
//完全晕了
shutdown immediate(先正常关机)
//用export ORACLE_SID='+ASM'
create pfile from spfile
//修改pfile的controlfile="+DATA";

//用ORACLE_SID="orcl"  ,orcl进入nomount
rman target /
startup nomount(orcl进入nomount)
//用ORACLE_SID="+ASM",  asm时入nomount
rman target /
startup nomount
/********************需要恢复全部的控制文件**********(不能仅部分)*********
restore controlfile from “*****.ctl”

restore controlfile from “*****.ctl”
/**************在恢复控制文件后**************************************
alter database mount;//进入mount阶段
/**********************必须在所有的控制都备拷备后,就可以进行以下命令(拷备数据)******
backup as copy database format '+DATA'
switch database to copy;
/***********在有数据文件,控制文件之后,就可以open了************
alter database open;

/************查看以下文件的地址************************
select * from V$confile;
select * from V$datafile;
select * from dba_data_file;
/*******************************************************

/****进入asmcmd必须是ORACLE_SID='+ASM'*******************

/*****增加磁盘空间(必须是root的用户)********************
fdisk /dev/sda/
p查看,
n新增
4651,第一次默认,这个柱面的开始地址。
+5G,这个磁盘空间。
最后的命令
w:写入
最后执行命令,读取磁盘,不用重启,让系统识别新盘。
partprobe
/********修改rawdevices的服务(三路备份闪回区)*******************
raw /dev/raw/raw13 /dev/sda13
raw /dev/raw/raw14 /dev/sda14
raw /dev/raw/raw15 /dev/sda15
启用服务
service rawdevices restart
/*****增加闪问区的备份**************************************
转到+ASM用户
export ORACLE_SID='+ASM'
启用到('+ASM'启动到nomount,‘orcl启动到startup'.)
/****************因为数据启用了三路,所以必须也启用三路(闪回区)********************
create diskgroup FRA high redundancy
failgroup f1 disk '/dev/raw/raw13' name d13
failgroup f2 disk '/dev/raw/raw14' name d14
failgroup f3 disk '/dev/raw/raw15' name d15
/**************************改变raw的所有者***********************/
chown oracle:oinstall raw*所有者
select * from v$asm_disk_group
/*********************设置备份闪回区***************************/
查看实例
show parameter instance_name
show parameter db_recovery
alter system  set db_recovery_file_dest="+FRA"
alter system archive log current;
/***********************asmcmd查看一些信息*(备份archivelog)*************
asmcmd
>cd thread...
/*************
rman target  /
=======================
backup database plus archivelog format "+FRA"
========================================
list backup
/********************************备份集的备份******************
backup backupset 29 delete input all;
delete backset 29
/*************备份日志文件**********************
select * from v$logfile
/*************************
alter database add logfile group 4 '+DATA' size 100M;

/**************临时文件********************
select * from dba_temp_file
alter tablespace temp add tempfile '+DATA' size 20M
/********************************

 

2处理不完全恢复,可以回到历史上的某个点,以空间换取时间。

/**************************************
/***************不完全恢复**********************
/*************************************

./s1.h|grep oracle | ora '/n' ''
删除查询后的所有数据
rm -i $(./s1.h|grep oracle | ora '/n' '')

run{
set until sequence 3(current+1)
recove database
alter database until cancel 3
}

alter database open resetlogs

 

/****************回到过去的一个点*****************
run{
set until time '***';
restore database;
recover database;
}

startup mount
alter database open resetlog
/**********增量说明************

list incarnation of database(进行不完全恢复的记录)
/****************************
reset database to incarnation cur+1

select open_mode from V$database(读写状态)r/w

delete backupset 2
修改并行度
alter table noparallce4 4()

 

3.断点恢复机制

  创建断点

 create restore point p1;
 alter session set nls_data_format="2009:07:27:12:23:32"

 shutdown abort
 rman target /
 run{
  set until time ''
  restore database
  recover database
}

 

 run{
 restore database;
 recover database until restore point p1;
 }

原创粉丝点击