SQL?
shutdoun
已强卸戢数据库。
ORfiCLE例霍尅经关闭。
£QL>startupmount;
塚94血9%Jb处辭2003752bytes121638104bytes1&3577856h壯"218726-(bsites
ORACLE诩捲己经启眾k
TotaitenQloJbalAi*eaFixed£iae
Uari«ibleSi^eDM话恥旳Suffer?
BedoBuffers
数据库装载完毕。
SQli>alterdatabasearchiuelogr;
数据库已更改。
SQL>alterdatabaseopen;
数据库己更改。
6.验证数据库是否已归档。
输入“alterdatabasearchivelog;”,按回车。
JQL>scLeetstatusFronriv^lns'ta-nce:
:
TfiTIJS
列列
0&Jl式志志箱日曰列hi志彰序rc已宿点唇志鼻库套的个日-L>据礬早一前IL>
如上图所示,若“自动存档”为“启用”模式,则数据库已经启用自动归档模式。
四.Oracle数据备份策略通过OracleRMAN实现数据的增量备份,每周进行两次LevelO的数据确全备份,其余时间进行Level1的增量备份,;同时每天对Oraclearchivelog进行两次备份(备份次数及备份时间点应根据实际运行情况加以调整),。
这样的备份策略的目的时一旦发生故障需要进
行数据库恢复时,只需要恢复一个全备份和至多两个增量备份,大大加快了数据库的备份速度。
在进行数据库recover时,实际上只需要
最后一天的archivelog。
Rman备份策略示意图
五.备份脚本的编写
⑶开启控制文件自动备份。
输入“configurecontrolfileautobackupon;”,按
回车
3=\Docu_rierttsa_ndlSettIngsdminisrti'atorArriantai*gre七/
贋复管理稚:
Belease10.2.BA.6-Productionon星期三1月823:
2S:
412014
Copyright1982r2005,01**0le-A11I'ightEreszerued.
建按到目标数据库二ORCL
RMAH>confi^fuir-econtr-olFileautobackupon;
使月目标数据steS'J文件替代恢复目录
紡曲nnnw配豊参甑
20MFIGURICOMIROLFILEAUTOEACKUP0H:
己咸功存储新的«MAN配置参数
RMAN>
(4)更改控制文件备份路径。
输入“CONFIGURECONTROLFILEAUTOBACKUP
FORMATFORDEVICETYPEDISKTOE:
\orabackup\%F'”,按回车。
RMAN>CONFIGURECOHTHOLFILEAUTOBftCKUPFORMATFOBDEVICETVPIDISKTO'E:
\arabacfkups^F*j\
新的RMftN配置参数:
CONFIGtJRECONTROLFILEAUTOBACKUPFORMATFORDEWICETYPEDISKTOJE:
\orabachupX>:
F
J-
宜成助存储新的RHAH配置参数,
RNAN>
(5)备份保留策略。
输入“CONFIGURERETENTIONPOLICYTORECOVERYWINDOWOF7DAYS;”。
基于
时间的备份保留策略,保留最近7天的备份文件,可以将数据库系统恢复到最近七天的任意时刻。
任何超过最近七天的数据库备份将被标记为obsolete。
RMftN>CONFIGURERETENTIONPOLICVTOJIECOUERVIHMDOWOF7DftVS;前的RHAH配置参数匚
CONFIGURERETENTIONPOLlCVTOSECOUEBVWINDOWDF7DA?
&;己戎功挣储翕的RMAN盲己瞽参数
IW
2.按照制定的备份策略编写备份脚本
(1)设置显示已知文件的扩展名
“文件夹选项”
打开文件夹选项设置页面后,点击上方标签栏的中间,即查看标签栏
在查看标签中,向下拖动右边进度条,找到隐藏已知文件扩展名这个选项,将前面小方框中取消选定。
设置完成,点击确定退出。
E:
/orabackup_script/auto_level_0_rman.bat。
容如下:
remrunrman
rmancmdfilePevel_0_rman.txtmsglog=e:
/orabackup/level_0_rmanlog%date:
〜0,10%」og
然后新建一个“E:
/orabackup_script/level_0_rman.txt”文本文件。
容如下:
connecttarget/
listbackup;
reportobsolete;
deleteobsolete;
run{
allocatechannelchidevicetypedisk;allocatechannelch2devicetypedisk;
backupascompressedbackupsetformat'e:
/orabackup/full_%d_%T_%s'
plusarchivelog
format'e:
/orabackup/arch_%d_%T_%s'
deleteallinput;
releasechannelch1;
releasechannelch2;}
⑵做一个文件后缀为.bat的1级备份批处理文件
E:
/orabackup_script/auto_level_1_rman.bat。
容如下:
然后新建一个“E:
/orabackup_script/level_1」man.txt”文本文件。
(1)新建一个文件类型扩展名为.bat的批处理文件,文件名称为
(2)新建一个E:
/orabackup_script/arch_rman.txt文本文件
connecttarget/
run{
backuparchivelogalldeleteinputformat'e:
/orabackup/arch_%d_%T_%s';
}
※注意:
备份脚本存放在E:
/orabackup_script目录
六.设置windows定时任务(以windowsserver2003为例)
数据库备份策略:
全库每周三、日备份1次,其余时间做一级备份,归
档1天1次
1.设置定时任务每周做一次全库备份
(1)开始一>设置--控制面板-任务计划-添加任务计划。
操作步骤如图所示:
向辱会帮助悠计划■込丘狀弓任寒的运行时
1青先澤要程$、罰仆卜话讦的母序,燃百计射舍适的連行时间O
要藝塚』活单击“下~步"・
…r「Ice三歩jce因取谐]
点击測览
单击要在血上运行的程序(£)n要查看其他程序』诸单击”浏麓川□
<上一步®]下一步⑰>|取消]
(2)找到你所写的0级备份脚本,然后点击打开
(3)设置1级备份的定时任务,重复步骤一。
然后找到1级备份任务脚本然后打开。
任等计划耳导
诸输入任务的名称。
任药名可同程序名相同@九
Ifiiutol电"11rinan
执行这个任务:
C每天@)
♦••■■♦••••••••••■•••••
c毎月如
r一次性(Q)
C计篡机启动时$)
「登录时❷)
任务计划耳导
<上一步迈)|下一步®>1
职消I
谓选择任务运行的起贻时间和日期•
备份时间凌晨一点半
每②|网
谯选择下面日期:
p星期一血)p星期四op
<星悶二&星期五住)r星期三追)&星期六⑤厂星期日@)
略走、養、五常一、
BS0n
、执根一为一!
d八
狂务计划向导
席已成功地计划了下列任务;
iu+o_l电V色1_1_rnan
将运行此忏务;
後’購畀書磽轆評」麺二前
I-莊单吾魅融評附「打群抚住轄苗着级4
厂H.®.-..._…_.„_.…._...._.…—I
单击“亮成”*捋Jtf任务忝加到的计划中口
生击完成,宾咸左时任务的谡定
<上1步曲『兗成j|则
2.设置定时任务每天做一次联机日志归档备份开始一>设置--控制面板-任务计划-添加任务计划操作步骤如图所示:
衣fHH巳彌車巳全否t也收程就qJi-UtzJimfeMCLD帮肋ftu
X■*>|03亍
Ak2Q14-1・孑眉«
Ak.2Q14-1-7妲«
I下沁咖rm司[
2r39»:
OCh201.h
丸弓氐匚|0卫…
向令会帮肋您计划Wir.dow=任傅的运行时间・
诸选择要在Windows上运行的程序,然后计划合迨的运袒旳何.
要继渎丿佶单击■,下一步,‘o
L际三互莎"匚]取消
六.利用rsync实现rman备份数据的异地备份
1.系统环境
windows2003
rsync服务端:
172.16.1.246(远端备份机器)
rsync客户端:
172.16.1.151(oracle数据库安装端)
服务端:
cwRsyncServer_4.1.0_lnstaller
客户端:
cwRsync_4.1.0_Installer
2.rsync服务端安装配置
cwRsync
,密码为其
(1)双击cwRsyncServer_4.1.0_Installer.exe然后就一路下一步,安
服务端默认有一个管理员账户SvcCWRSYN这里修改为administrator对应的密码
疔cwRsyncServer4.1.0Setu.D
ServiceAccotri
Rsvricserver^31besetup閃awindowsservicewiththelogoncredentialsbelow;
CA'RsyrrrServsrrequiresadedicatedsemoeaccountforfiJIftjnctiDnahtyrYoucaneitheracceptvalusssuggestedbytheirstaller(user;SvcCWRSYNCj.paESWord:
hBDG9fEnoa%95)orsoeoifyyourownvalues.ExistingacocuntEareala^nedLInaHcas«rdieaocant
NultsoftInstaill5ystein-
安装完成后,在“开始”“管理工具”“服务”里面就可以看到cwRsync对
应的服务了,安装完成后将手动启动改为自动启动服务。
(2)修改rsyncd.conf
配置文件(一般在C:
\ProgramFiles\ICW\rsyncd.conf
usechroot=false#strictmodes=falsehostsallow=*logfile=rsyncd.log
不使用chroot
#静态模式
#所有IP均可
#log文件名,可以指定路径
uid=0#不指定uid,不加这一行将无法使用任何账户
gid=0#不指定gid
#Moduledefinitions
#Remembercygwinnamingconventions:
c:
\workbecomes/cygwin/c/work
#
[test]
path=/cygdrive/d/oracle_backup
readonly=false#关闭只读
transferlogging=yes#记录传输日志
authusers=root#用户名
hostsallow=*#所有IP均可
secretsfile=/cygdrive/c/rsyncd.secrets#密码文件位置
(3)创建密码文件rsyncd.secrets容为root:
123qwe
⑷配置文件修改完成后,就手动启动RsyncServer服务,netstat-an,看873端口监听没。
3.rsync客户端安装配置
(1)双击cwRsync_4.1.0_Installer.exe,然后一路下一步。
(2)编写批处理文件定时同步更新
分别在编写的rman备份脚本auto_level_0_rman.bat、auto_level_1_rman.bat和auto_arch_rman.bat后面加入
"C:
\ProgramFiles'cwRsync\bin'rsync"-avzP—progress
/cygdrive/E/orabackup/root172.16.1.246:
:
test\passwd.txt>>d:
\rsync_%date:
~0,10%.log
(3)创建密码文件C:
\passwd.txt容为123qwe
(4)参数说明
-a参数,相当于-rlptgoD,
-r是递归
-l是文件,意思是拷贝文件;
-p表示保持文件原有权限;
-t保持文件原有时间;
-g保持文件原有用户组;
-o保持文件原有属主;
-D相当于块设备文件;
-z传输时压缩;
-P传输进度;
-vverbose,详细模式输出;
-u是只同步已经更新的文件,避免没有更新的文件被重复更新一次,不过要注意两者机器时钟的同步;
--progress显示备份过程;
--delete删除那些DST中SRC没有的文件,用作同步文件用;
七、使用rman备份文件恢复oracle数据库
1.参数文件spfile损坏恢复
(1)选择“开始”“系统”“运行”,输入cmd按回车。
⑵输入“setoracle_sid=orcl”,按回车。
(0「aCle_Sid根据自己库的设置
填写)
(3)输入“rmantarget/”,按回车
⑷输入“setdbid=133584829o”,按回车。
Dbid具体值,请从rman日志
文件e:
/orabackup/full_rmanlog%date:
〜0,10%.log中查找
(5)关闭数据库。
输入“shutdownimmediate;”,按回车。
(6)将数据库启动到nomount状态。
输入“startupnomount;"按回车
⑺恢复spfile参数文件。
输入“restorespfileto“SPFILEORCL.ORA”from
D:
\ORABACKUP\C-13358488-04”;”,按回车。
“D:
\ORABACKUP\C-13358488-04从距离磁盘崩溃时间最近生成的备
份日志文件中获得。
(8)关闭数据库。
输入“shutdownimmediate;”,按回车。
(9)启动数据库。
输入“startup”,按回车
2.控制文件丢失恢复数据库启动报错ORA-00205
SQL》s:
tArtup;
ORACLE例程己经启动°
TotalGlobalArea612368384h^tesFi)cedSiae12S04S2bytesVariableSize176163€^2bytesDatabaseBuffers432013312hytesRedoBufFet*s294G928bytesORA-90205=,^
检查oracle的报警日志包含如下报错:
Ialterdatabase-moukT
MonFeb1714:
0^:
292014
URA-0fl2D2:
controlFile:
'D:
\0RACLE\PR0DUCT\10.2.0\ORfiDfiTfi\ORCL\£dHrRaLB1-CTL
DRfi-27ff41:
unabletaopenfile
hsD-04|Bfl2;无法打幵文件
D/S-Error:
(OS2)索魏找不到指定的文件©
P
onFeb1714:
0^:
322014
Rft-205signalledduring:
ALTEROftTABASEMOUNT...
说明oracle数据库控制文件有损坏,需要对其进行恢复。
步骤如下所示。
(1)选择“开始”“系统”“运行”,输入cmd按回车
(2)输入“rmantarget/”,按回车
(3)输入“setdbid=1335848290”,按回车。
dbid具体值,请从rman日志文件e:
/orabackup/full_rmanlog%date:
〜0,10%.log
中查找(4)关闭数据库。
输入“shutdownimmediate;”,按回车。
(5)将数据库启动到mount状态。
输入“startupnomount;”按回车
(6)恢复控制文件。
输入“restorecontrolfilefrom
D:
\ORABACKUP\C-13358488-04”;”,按回车
(8)
,按回车
启动数据库到mount。
输入“alterdatabasemount;
(9)
RMAM>ailtdatzabasenciunt;
髒針5」
(9)恢复数据库。
输入“recoverdatabase;”,按回车。
RMAN>recoue?
database:
所二求的ft目*Q-§-^sfc件編区文件1^
有搜正战
使用通道ORA_DISK_1
正左开始介质的饭复
(10)启动数据库。
输入“alterdatabaseopenresetlogs;”,按回车。
RMAN>alterdatabaseopenpesetlogs;
数据库己打开
RMAN>
3.数据库指定数据文件恢复启动数据库的时候报错
SQL>startup;
ORACLE例程己经启动。
TotalGlobalArea6123&8384bt/tes
FixedSise1250452bytes
U^riableSiee184552^50bytww
DatabaseBuffers123624704bytes
RedoBuffeirs294092Bbytes
薮据库装载完毕
OHR-01157:
无法标讪锁定数据文件?
-请参阅DWR跟踪文件
ORA-01110:
数据文件7:
JD:
\OEACL^\FRODUCT\10.Z.0\ORRDATA\ORCL\GPS_DftTft.DBFJ
或者查看oracle数据库的报警日志出现错误
k)nFebV15:
64:
352014
Bft-01157;
Rft-2?
C41:
SD-MOR;/S-Errar:
rrorsinfiled:
\orjGl?
\prQ(iu^t\19-210\jdnin\crcl\bduFip\crcl_d|)vO_3103-trc:
cdnn»tidcntif^/loch聽凉file7-se?
DE懈t