跳至主要内容

Oracle学习笔记20080108

设置双重备份
RMAN> CONFIGURE DATAFILE BACKUP COPIES FOR DEVICE TYPE disk TO 2;
设置备份为最佳:(默认为off)
RMAN> CONFIGURE BACKUP OPTIMIZATION ON;
使用clear选项回到默认
RMAN> CONFIGURE RETENTION POLICY CLEAR;
RMAN> CONFIGURE CHANNEL DEVICE TYPE sbt CLEAR;

SHOW命令显示现在的配置参数
用SHOW显示单个
用SHOW ALL 显示所有

list命令列出所有备份的文件
RMAN> LIST BACKUP OF DATABASE;
列出所有关于users01的文件
RMAN> LIST BACKUP OF DATAFILE "/db01/ORADATA/u03/users01.dbf"
列出所有复制关于system的表空间
RMAN> LIST COPY OF TABLESPACE "SYSTEM"

report命令
report need backup命令显示所有的文件
需要database,保证3个选项
REPORT NEED BACKUP incremental 3;
REPORT NEED BACKUP days 3;
REPORT NEED BACKUP redundancy 3;
如果没有选项,用retention policy设置
Recovery Manager Packages

RMAN的使用考虑资源:
共享内存,更多的进程给用户的权限:database是sysdba,操作系统:访问权限远程控制:建立密码文件,保证密码文件备份。全局环境格式和时间参数

User-Managed Backups术语
完整数据库备份,部分数据库备份(表空间,数据文件,控制文件),一致备份,不一致备份

SQL中的视图
V$DATAFILE
V$CONTROLFILE
V$LOGFILEDBA_DATA_FILES

backup的动作(methods)非归档模式下,关闭。
归档模式下打开或关闭连在一起完整的备份(关闭状态下的)
做一个整体备份数据录入后,shutdown immediate,然后再liunx/windows下cp所有的文件到另一边,然后再startup open
Open Database Backups的缺点就是不能备份online的redo log
Making a Backup of an Online Tablespace
SQL> ALTER TABLESPACE users BEGIN BACKUP;
SQL> !cp /users01.dbf /BACKUP/users01.dbf;
先更换一个tablespace然后再备份它
SQL> ALTER TABLESPACE users END BACKUP;
用到的视图
V$BACKUP
V$DATAFILE_HEADER

停止online备份用V$BACKUP查看状态
ALTER DATABASE DATAFILE '' ENdACKUP;
发行alter database在9i中用下面的命令
ALTER DATABASE END BACKUP;

read-only tablespace的备份只有一个backup需要当被设置成read only后,确保正常的backup日历在那以后是可读写的,控制文件也要和Tablespace一样是read-only否则的话要重新覆盖
logging和nologging选项 logging所有改变的东西都记录在redo,从上次开始完整恢复,没有附加的backup.nologging最小的redo记录。。。

手动对控制文件备份建立一对镜像
ALTER DATABASE BACKUP CONTROLFILE TO 'control1.bkp'
建立一个trace file
ALTER DATABASE BACKUP CONTROLFILE TO TRACE;

Backing Up the Initialization Parameter File
CREATE PFILE FROM SPFILE;CREATE PFILE = '/backup/init.ora' FROM SPFILE;

RMAN BACKUPS
backup piece size可以用下面来限制
RMAN> RUN {
2> ALLOCATE CHANNEL t1 TYPE 'SBT'
3> MAXPIECESIZE = 4G;
4> BACKUP
5> FORMAT 'df_%t_%s_%p' FILESPERSET 3
6> (tablespace users); }

backup命令
RMAN> BACKUP
2> FORMAT '/BACKUP/df_%d_%s_%p.bus'
3> DATABASE filesperset = 2;

backup的并行度通过filesperset这个参数
归档redo log的备份只包括归档redo log,经常是全备份
RMAN> BACKUP
2> FORMAT '/disk1/backup/ar_%t_%s_%p'
3> ARCHIVELOG ALL DELETE ALL INPUT;

Backup Constraints
The database must be mounted or open.Online redo log backups are not supported.Only 'clean' backups are usable in NOARCHIVELOG mode.Only 'current' datafile backups are usable in ARCHIVELOG mode.

镜像拷贝
RMAN> COPY
2> DATAFILE '/ORADATA/users_01_db01.dbf' TO
3> '/BACKUP/users01.dbf' tag=DF3,
4> ARCHIVELOG 'arch_1060.arc' TO
5> 'arch_1060.bak';

copy命令
RMAN> COPY
2> DATAFILE 3 TO '/BACKUP/file3.dbf',
3> DATAFILE 1 TO '/BACKUP/file1.dbf';

一个COPY命令可以有多个通道
RMAN> CONFIGURE DEVICE TYPE disk parallelism 4
2> COPY # 3 files copied in parallel
3> datafile 1 TO '/BACKUP/df1.dbf',
4> datafile 2 TO '/BACKUP/df2.dbf',
5> datafile 3 TO '/BACKUP/df3.dbf';

RMAN> COPY # Second copy command
2> datafile 4 TO '/BACKUP/df4.dbf';

复制整个数据库
Mount the database for a whole consistent backup.Use the REPORT SCHEMA command to list the files.Use the COPY command or make an image copy of each datafile. Use the LIST COPY command to verify the copies.

增加备份
备份非归档模式保证足够的空间来备份,shutdown使用normail,immediate,挂载数据库,如果不自动允许多线路,用backup命令,
RMAN> BACKUP DATABASE FILESPERSET 3;

RMAN Control File AutobackupsUse the CONFIGURE CONTROLFILE AUTOBACKUPcommand to enableWhen enabled, RMAN automatically performs a control file autobackup after BACKUP or COPY commandsBackup is given a default name

年月日备份

相关视图
V$ARCHIVED_LOG
V$BACKUP_CORRUPTION
V$COPY_CORRUPTION
V$BACKUP_DATAFILEV$BACKUP_REDOLOG
V$BACKUP_SETV$BACKUP_PIECE

监视rman的备份用关联的server session通道 command id命令查询V$PROCESS和V$SESSION查看RMAN通道查询V$SESSION LONGOPS去查看backups和copies用系统工具去查看进程

User-Managed Complete Recoverymedia recovery
用来恢复一个丢失或损坏当前的数据文件或控制文件需要详细的invocation操作如下:从备份中找到文件,redo从归档redo log和online redo log中应用

具体step回复数据文件,应用redo,数据文件中包括提交和未提交的,应用undo,恢复数据
在非归档模式下回复在非归档模式下,你必须恢复所有的数据文件和控制文件你也可以回复redo log files,password file,parameter file

非归档模式下恢复没有redo log

归档模式下恢复
-------------------------

幸福与其说是用任何其他方法,不如说是用情感的这种敏感性来达到的。如果一个人具有了那种能力,他由趣味的愉快中所得到的幸福,要比由欲望的满足中所得到的幸福更大。他从一首诗、一段推理中获得的欢乐要比昂贵的奢侈生活所能提供的欢乐更大。 ———— 休漠

评论

此博客中的热门博文

Python学习笔记20100117

映射list   Dictionary 是用{}. list 是一那个[]. turple是用() 当你定义过dictionary后,你可以使用d.keys(), d.values(),d.items()将定义后的时候分别显示出来 当然可以将list里的值加减乘除,也可以如一般的定义直接重新复制这个list. 链接与分割字符串的 li=";", join(li) 则显示的就是 分隔符为;的数 如果使用li=li.split(";")则将刚刚;的分隔符删除,而split里也可定义域,如li.split(";",1)   自省 <---这是啥 之前在使用的时候发觉有些书本上的模块不能调用,很多是py脚本定义过的函数。 下载该脚本s,然后上传至指定位置。 >>>import sys >>>sys.path >>>sys.path.append("绝对位置")然后就能调用这些脚本和参数了。 删除 >>>sys.path.pop() 定义一个参数是 def info(test, test1=10.test2=12): info是函数名,test是必备参数,因为没有定义值,test1和test2是可选参数,定义了初始值   以上是外部函数的调用,下面转到内部函数 内部函数有type,str,dir及其他   ---type 返回任意字符的类型,模块也可以。types模块 >>> type(1) <type 'int'> >>> li=[] >>> type(li) <type 'list'> >>> import odbchelper >>> type(odbchelper) <type 'module'> >>> type(sys) <type 'module'> >>> import types ...

投名状

昨天晚上实在无聊,就屁颠屁颠的去看了《投名状》,本来去奥斯卡的,发觉已经只有9点以后的场次,还特别的翘,我说那九点看了直接去看《集结号》首映算了,别人不愿意,那行,然后出来瞎晃悠,还好几个周围的电影院还近,去了胜利,人那还没上片,看来没希望,突然想去唱歌,行,反正金歌也进,就那么走过去吧,突然眼前豁然开朗,这不是西湖电影院么,一阵小跑,发觉上片,最近的场次还只有头牌了,虽然头牌脖子有点罩不住,但是至少看看片子还可以的。 网上大概了解了下《投名状》,陈可辛翻拍的《刺马》,加上了几个现代的演员。故事的大概是:姜午阳、赵二虎本为草莽,在一次争斗中与庞青云结识。三人惺惺相惜,结为异姓兄弟。不料日就生变,赵二虎的妻子莲生爱上了大哥庞青云,庞青云也对莲生心生爱慕。不久后,庞青云升为两江总督,欲望逐渐膨胀,变得心狠手辣。他的道德防线也逐渐崩溃,霸占莲生,还要对兄弟下手…… 剧情也就那么个回事情,其实故事梗概不然,一个从死人堆里爬出来的人,什么都失去过了 。已经改变了他的原有个性,他已经从开始就知道什么是他要的,而唯一觉得真是的就是老徐那一次,其实古时候也挺简单的,说得好就上了。只是一种人性做本质的释放。受苦挨饿无非就是为了有着一日飞黄腾达,为了生活隐姓埋名,别人都在抢军粮的时候什么都不做,唯一的只是在金城武快要被杀掉的时候救助,然后直接取了押送大将的首级。擒贼先擒王。。。。 而刘德华的出场也特别犀利,从他的眼神看出他已经被锻炼的很老练,已经是一个大将之才,错的地方就是信错了人,在后面苏州一役的时候,从为了一个被困一年的军队,只身一人去刺城主。被困一年无论对于城内还是城外都是极大的考验,心里防线都已经到了崩溃的边缘。而城主以他的解脱来换大众的解脱,这是很等的伟大,而战争是残酷的,不能收编的俘虏虽然答应了别人,可没有粮食来养活那么多人。敌军的气节也让人唏嘘不已。 刘德华的演绎的性格有情有义,到最后死也不认为是李连杰派人杀的他。李连杰演绎的则是在战场上全军覆没后,心里从此极大改变,为了目的不择手段,从始至终就是在利用刘和金,但也为曾经的战场情了矛盾,权还是义一直是在他的心理纠结着,当苏州一役,李看到刘走出城那种又喜又悲的感情时,看出了他心理是多的纠结。金城武么,唉,演技确实很好,但是角色赋予的他是个傻蛋的角色,只为了情谊,一心想挽回情谊,而在战场上也为了情谊能甘当敢死队,同时也为了情谊...