Oracle笔记

2010年9月10日 06:06

表空间可以Offline就可以ReadOnly的说法显然是错误的,SYSAUX表空间就是最好的证据。

Oracle笔记

2010年9月10日 05:08

alter database backup controlfile to trace;

虽然曾经说过凡是“alter database”的都不能在数据库打开的情况下修改memory,但是这句语句似乎是例外。输入后,trace文件即生成在了$ORACLE_BASE/admin/<sid>/bdump下,可以通过时间(Linux命令: ll -t)去寻找这个文件,打开就可以找到控制文件的恢复SQL语句,似乎还有两个版本,一个NORESETLOGS版本和一次RESETLOGS版本。

 

/*NORESETLOGS版本*/
STARTUP NOMOUNT  //这里没分号?大概startup语句就是不加分号的。
CREATE CONTROLFILE REUSE DATABASE "ORCL" NORESETLOGS  ARCHIVELOG

    MAXLOGFILES 16
    MAXLOGMEMBERS 3
    MAXDATAFILES 100
    MAXINSTANCES 8
    MAXLOGHISTORY 292
LOGFILE
  GROUP 1 '/home/oracle/oracle/oradata/orcl/redo01.log'  SIZE 50M,
  GROUP 2 '/home/oracle/oracle/oradata/orcl/redo02.log'  SIZE 50M,
  GROUP 3 '/home/oracle/oracle/oradata/orcl/redo03.log'  SIZE 50M
-- STANDBY LOGFILE
DATAFILE
  '/home/oracle/oracle/oradata/orcl/system01.dbf',
  '/home/oracle/oracle/oradata/orcl/undotbs01.dbf',
  '/home/oracle/oracle/oradata/orcl/sysaux01.dbf',
  '/home/oracle/oracle/oradata/orcl/users01.dbf',
  '/home/oracle/oracle/oradata/orcl/example01.dbf'
CHARACTER SET WE8ISO8859P1
;
 
/*RESETLOGS版本*/
STARTUP NOMOUNT
CREATE CONTROLFILE REUSE DATABASE "ORCL" RESETLOGS  ARCHIVELOG
    MAXLOGFILES 16
    MAXLOGMEMBERS 3
    MAXDATAFILES 100
    MAXINSTANCES 8
    MAXLOGHISTORY 292
LOGFILE
  GROUP 1 '/home/oracle/oracle/oradata/orcl/redo01.log'  SIZE 50M,
  GROUP 2 '/home/oracle/oracle/oradata/orcl/redo02.log'  SIZE 50M,
  GROUP 3 '/home/oracle/oracle/oradata/orcl/redo03.log'  SIZE 50M
-- STANDBY LOGFILE
DATAFILE
  '/home/oracle/oracle/oradata/orcl/system01.dbf',
  '/home/oracle/oracle/oradata/orcl/undotbs01.dbf',
  '/home/oracle/oracle/oradata/orcl/sysaux01.dbf',
  '/home/oracle/oracle/oradata/orcl/users01.dbf',
  '/home/oracle/oracle/oradata/orcl/example01.dbf'
CHARACTER SET WE8ISO8859P1
;

Oracle笔记

2010年9月10日 04:25

RMAN> CONFIGURE CONTROLFILE AUTOBACKUP ON; //开启控制文件自动备份

new RMAN configuration parameters:
CONFIGURE CONTROLFILE AUTOBACKUP ON;
new RMAN configuration parameters are successfully stored
 
RMAN> backup database spfile include current controlfile plus archivelog;
 
/*备份归档日志,由于命令中带有plus archivelog,因此手动备份归档日志*/
Starting backup at 09-SEP-10
current log archived //当前日志归档
allocated channel: ORA_DISK_1
channel ORA_DISK_1: sid=143 devtype=DISK
channel ORA_DISK_1: starting archive log backupset
channel ORA_DISK_1: specifying archive log(s) in backup set
input archive log thread=1 sequence=4 recid=1 stamp=729289389
channel ORA_DISK_1: starting piece 1 at 09-SEP-10
channel ORA_DISK_1: finished piece 1 at 09-SEP-10
piece handle=/home/oracle/oracle/flash_recovery_area/ORCL/backupset/2010_09_09/o1_mf_annnn_TAG20100909T202309_68knfh2s_.bkp tag=TAG20100909T202309 comment=NONE
channel ORA_DISK_1: backup set complete, elapsed time: 00:00:02
Finished backup at 09-SEP-10
 
/*备份数据文件,控制文件和服务器参数文件*/
Starting backup at 09-SEP-10
using channel ORA_DISK_1
channel ORA_DISK_1: starting full datafile backupset
channel ORA_DISK_1: specifying datafile(s) in backupset
input datafile fno=00001 name=/home/oracle/oracle/oradata/orcl/system01.dbf
input datafile fno=00003 name=/home/oracle/oracle/oradata/orcl/sysaux01.dbf
input datafile fno=00005 name=/home/oracle/oracle/oradata/orcl/example01.dbf
input datafile fno=00002 name=/home/oracle/oracle/oradata/orcl/undotbs01.dbf
input datafile fno=00004 name=/home/oracle/oracle/oradata/orcl/users01.dbf
channel ORA_DISK_1: starting piece 1 at 09-SEP-10
channel ORA_DISK_1: finished piece 1 at 09-SEP-10
piece handle=/home/oracle/oracle/flash_recovery_area/ORCL/backupset/2010_09_09/o1_mf_nnndf_TAG20100909T202312_68knfjll_.bkp tag=TAG20100909T202312 comment=NONE //数据文件备份位置
channel ORA_DISK_1: backup set complete, elapsed time: 00:01:55
channel ORA_DISK_1: starting full datafile backupset
channel ORA_DISK_1: specifying datafile(s) in backupset
including current control file in backupset
including current SPFILE in backupset
channel ORA_DISK_1: starting piece 1 at 09-SEP-10
channel ORA_DISK_1: finished piece 1 at 09-SEP-10
piece handle=/home/oracle/oracle/flash_recovery_area/ORCL/backupset/2010_09_09/o1_mf_ncsnf_TAG20100909T202312_68knk68q_.bkp tag=TAG20100909T202312 comment=NONE //控制文件和服务器参数文件位置
channel ORA_DISK_1: backup set complete, elapsed time: 00:00:04
Finished backup at 09-SEP-10
 
/*归档日志再次被备份,事后查看备份文件,发现第一次归档备份文件大小是第二次的数百倍,可能因为是Open Backup,数据库在备份期间生成了重做日志,因此需要再次备份,证据就是Close Backup的时候不会有第二次备份归档日志,他会显示:specification does not match any archive log in the recovery catalog backup cancelled because all files were skipped*/
Starting backup at 09-SEP-10
current log archived
using channel ORA_DISK_1
channel ORA_DISK_1: starting archive log backupset
channel ORA_DISK_1: specifying archive log(s) in backup set
input archive log thread=1 sequence=5 recid=2 stamp=729289512
channel ORA_DISK_1: starting piece 1 at 09-SEP-10
channel ORA_DISK_1: finished piece 1 at 09-SEP-10
piece handle=/home/oracle/oracle/flash_recovery_area/ORCL/backupset/2010_09_09/o1_mf_annnn_TAG20100909T202512_68knk991_.bkp tag=TAG20100909T202512 comment=NONE
channel ORA_DISK_1: backup set complete, elapsed time: 00:00:02
Finished backup at 09-SEP-10
 
/*由于之前开启了自动备份控制文件和服务器参数文件,因此他们再次被备份*/
Starting Control File and SPFILE Autobackup at 09-SEP-10
piece handle=/home/oracle/oracle/flash_recovery_area/ORCL/autobackup/2010_09_09/o1_mf_s_729289514_68knkby5_.bkp comment=NONE //注意不是放在backupset文件夹下面,而是放在autobackup文件夹下面
Finished Control File and SPFILE Autobackup at 09-SEP-10
 
 
/*
备份完毕,共五个文件,四个在backupset文件夹下,一个在autobackup文件夹下
从上述文字可知,如果开启控制文件自动备份,那么只要发生备份,控制文件和服务器参数文件必然会自动备份,无论备份命令中是否已经显式的要求备份他们了,且自动备份的位置是在autobackup文件夹下。
 
控制文件和服务器参数文件总备份在一起。
 
只要要求备份归档日志(即plus archivelog),归档日志就会有两次备份,分别存储在两个文件下。
*/
 

我的第一篇博文

2010年9月09日 23:47

一直以来都想建立一个Blog,因为对程序员和即将成为程序员的学生来说,Blog是记录自己学习成果的地方,是分享自己心得体会的地方,是宣泄情感的地方。Blog一直以来都是程序员必备。

但是我的Blog却迟迟没有建立,没有技术上的原因,而是基于这个矛盾——希望把Blog建立在海外的空间,不想被中国大陆审查,也不希望在中国大陆无法访问。在没有外国帐户,甚至没有自主经济能力的的情况下,这个矛盾真的很难解决。

我事实上已经有一个海外空间,在0oku.net,5GB,免费,一切都很完美,但是在中国大陆无法访问——不知道为什么,他的首页和FTP服务器都是可以正常访问的,但是自己的空间就是访问不了。如果是在家里,开扇门问题也不大,但是在学校,连8080端口都会被屏蔽的地方,访问自己空间根本就是妄想。

在此之间,我基本上是拿Twitter替代着Blog,这很不像话,Twitter规定最多140字,只能容纳很短很短的心得,几乎没有标签管理功能,我的Twitter又是自我保护的,无法对自己以前发的推进行查询,这样的Blog显然毫无意义,所以我决定,还是先临时建立一个正规的Blog,等到自己有了海外空间,再作迁移。

我之所以一定要一个空间是因为已有的Blog系统总不符合我的口味,比方说我喜欢写文章不写标题,我喜欢写很短很短的文章,就像Twitter那样短,我希望我的Blog能够关联我的Twitter,我还希望在我的空间里构建各种Web应用程序,比如一个更先进更华丽的Twitter管理系统,或是发布各种自己的小作品,我还是Ajax技术和极简主义(既是艺术风格方面也是代码风格方面)的极端崇拜者,这些都是普通的Blog系统所不能给我的。所以我要自己构建,我甚至拒绝使用WordPress,而是从头到尾,决定Blog每一个细节,这是我的性格,也符合天蝎座的普遍性格。

希望早点拥有自己最完美的的海外空间~~