跳至主要内容

Oracle学习笔记20080110

基于时间恢复的例子
情节:当前的时间是晚上12点,employees表被删了,表被删除的时间大概(approximately)是在11点45,数据正在使用的人很少因为大多数的部门正在开会,这个表必须被恢复

步骤:Shut down and back up--Restore all datafiles--Mount the database--Archived log file--Open with Resetlogs--Back up the database

基于取消恢复的例子
情节:当前的时间是晚上12点,employees表被删了当有人试着修复坏块,log file存在于同样的disk,表被删除的时间大概(approximately)是在11点45,大多数的部门正在开会调查findingsredo logs不是多路,有个redolog丢失了,丢失的有不是归档,这个redo log包含了11:34开始的信息,26分钟的信息会丢失,用户需要恢复他们的数据

使用备份的control file当回复的时候
情节:当前时间是12点,表空间包含着employee表被删除了,这个错误大概在11点45,很多employee的记录将被更新但不是从11点开始,备份需要每天晚上做调查备份从前一晚包含的文件和控制文件需要恢复,emp_ts只有一个数据文件,正确的序号是61,你设置这个表空间被删除时在11点44分,数据文件号是4不在线

丢失当前的redo log
如果数据库是关闭的:试图开启数据库,找到当前日志的序号,恢复数据库直到cancel,删除和重建log如果需要,打开数据库使用resetlogs命令,完成这个数据库的备份

RMAN Incomplete Recovery不完整的恢复用RMAN加载数据库,允许多通道,返回数据文件,回复数据库用until time,untile sequence或者until scn.用resetlogs打开数据库,执行数据库全备份。

Cross-check all backups in the database:
CROSSCHECK BACKUPSET OF DATABASE;

Cross-check all copies in the database:
CROSSCHECK COPY;


RMAN Incomplete Recovery UNTIL TIME Example
RMAN> run {
2> allocate channel c1 type DISK;
3> allocate channel c2 type DISK;
4> set until time = !(R)200-12-09:11:44:00';
5> restore database;
6> recover database;
7> alter database open resetlogs; }

RMAN Incomplete Recovery UNTILSEQUENCE Example
RMAN> RUN {
2> SET UNTIL SEQUENCE 120 THREAD 1;
3> ALTER DATABASE MOUNT;
4> RESTORE DATABASE;
5> RECOVER DATABASE; # recovers through log 119
6> ALTER DATABASE OPEN RESESTLOGS;
7> }

RMAN Maintenance(RMAN的维护)
cross checking备份与复制用crosscheck命令
Cross-check all backups in the database:
CROSSCHECK BACKUPSET OF DATABASE;

Cross-check all copies in the database:

CROSSCHECK COPY;


删除备份和复制
使用delete命令删除物理备份和应向拷贝,修改状态deleted,从备份目录移除备份数据
删除特定的backupset
DELETE BACKUPSET 102;

删除到期的backup不经过设置:
DELETE NOPROMPT EXPIRED BACKUP OF TABLESPACE users;

删除所有:
DELETE OBSOLETE;
用BACKUP...DELETE INPUT命令可删除归档日志,数据文件,备份文件
改变有效的备份和拷贝改变备份或者拷贝无效使用change...unavailable命令返回有效change..available
修改到有效状态修改特定的Datafile状态:
CHANGE DATAFILECOPY '/DB01/BACKUP/users01.dbf' UNAVAILABLE;

修改控制文件备份的状态:
CHANGE BACKUP OF CONTROLFILE UNAVAILABLE;CHANGE BACKUP OF CONTROLFILE AVAILABLE;

修改归档日志的状态
CHANGE COPY OF ARCHIVELOG SEQUENCE BETWEEN 230 AND 240 UNAVAILABLE;

免除(exempting)备份和拷贝从the retention policy使用change..keep change..nokeep
建立一个长期备份
CHANGE BACKUPSET 123 KEEP FOREVER NOLOGS;

使一个备份有效60天
CHANGE DATAFILECOPY '/DB01/BACKUP/users01.dbf' KEEP UNTIL'SYSDATE+60';

编目归档日志和用户备份可以用catalog命令加信息到一个操作系统数据文件备份,一个归档日志备份,一个控制文件备份
目录一个备份用操作系统
CATALOG DATAFILECOPY '/DB01/BACKUP/users01.dbf';

目录归档日志
CATALOG ARCHIVELOG '/ORADATA/ARCHIVE1/arch_12.arc',
'/ORADATA/ARCHIVE1/arch_13.arc';

没有目录的RMAN记录使用change...uncatalog命令修改在容器汇总的记录用delete状态删除特定的backup或者拷贝记录从回复目录
TCHANGE..UNCATALO命令移除被删除的归档日志记录
CHANGE ARCHIVELOG...UNCATALOG;

移除被删除的数据文件记录
CHANGE DATAFILECOPY '/DB01/BACKUP/users01.dbf' UNCATALOG;

Recovery Catalog Creation and Maintenance
回复目录建立和维护查询普通报告和列表从恢复目录,建立,保管和跑脚本,说明备份和恢复目录的动作
回复目录中的内容Datafile and archived redo log file backup sets and backup pieces
Datafile copies Archived redo log files
The physical structure of the target database
Persistent RMAN configuration settings
Stored job scripts
利用recover catalog的好处
Metadata about multiple target databases in one catalog
Metadata about multiple incarnations of a single target databaseHistorical metadata
Reporting on the target database at a noncurrent time

评论

此博客中的热门博文

4 steps to delete account in Gerrit DB

4 steps to delete account in DB. Delete from accounts where preferred_email=’’; delete from account_ssh_keys where account_id=''; delete from account_external_ids where external_id='gerrit:*’; delete from account_external_ids where external_id='username:*’; whatever it was in H2 database and postgres db . H2: ssh -p 24198 localhost gerrit gsql Postgres: psql

繁忙的周末

回了杭州,周五跟老爹吃夜宵,周六跟一群人玩,好乐迪9折加对折,然后夜宵,长肉。 跟老妈逛街。。花了我一千大洋,买了2件外套了受不了了。 结果。。唉。。去赶火车结果没坐上,改签,跟老妈发脾气。。让我多睡了10分钟结果拉下了火车。 然后做七点四十七的车,一路出战一路狂奔赶地铁。。 终于赶上了。 真不容易,还是要提早啊

mod

apache安装后,如果想再添加模块,往往不想重新安装一次,再者,我在安装中发现,并不是安装文件中所有的modules都会被默认安装,即使在安装中使用了 ./configure --prefix=/usr/local/apache --enable-so --enable-modules=all --enable-mods-shared=all也是如此。我使用上述方法安装的apache2.2.6就没有安装proxy相关模块。这时,需要手工生成so文件,但会自动的被复制到你的apache安装目录的modules中,然后修改apache的配置文件,加载相关模块,验证apache配置并重启服务即可。以上描述的具体操作步骤如下: 操作系统:linux redhat 4.5 ES apache版本:2.2.6 可自行下载tar包 1. 拷贝安装包到/usr/local,并在目标目录下进行解压。[root@localhost local]# cd /usr/local[root@localhost local]# tar -zxvf httpd-2.2.4.tar.gz2. 配置安装参数,安装的目标目录为/usr/local/apache,建议设置enable-mods-shared=all,不用的module注释掉就行了![root@localhost local]# cd httpd-2.2.4[root@localhost httpd-2.2.4]# ./configure --prefix=/usr/local/apache --enable-so --enable-mods-shared=all3. 编译并安装。[root@localhost httpd-2.2.4]# make[root@localhost httpd-2.2.4]# make install4. 启动Apache,并测试。[root@localhost httpd-2.2.4]# cd /usr/local/apache/bin[root@localhost bin]# ./apachectl start 打开浏览器,并在地址栏中输入主机的IP地址如 http://192.168.1.254/ 如果出现以下画面则说明安装成功。It works! 注意:安装完成后检查系统服务中的HTTPD服务是否已...