Oracle9i控制文件的备份方法

上一篇 / 下一篇  2008-06-13 14:42:54

方法一:创建文本格式的控制文件
$ sqlplus '/ as sysdba';
SQL> alter database backup controlfile to trace;
Database altered.
这种备份方式会产生一个trace文件(文本格式),可以使用编辑器进行编辑,里面记录了创建控制文件(control file)的脚本,其中包括了两部分-RESETLOGS和NORESETLOGS。还可以在trace后面跟resetlog/noresetlogs选项,单独生成指定类型的控制文件脚本。默认生成两种格式的。
SQL>alter database backup controlfile to trace resetlog/noresetlogs;
该命令生成的trace文件存放在参数文件中USER_DUMP_DEST参数指定的位置。默认位置为$ORACLE_HOME/admin//udump目录。(表示数据库实例名)
SQL> show parameter user_dump_dest
NAME TYPE VALUE
----------------------------- ----------- --------------------------------------------------
user_dump_dest string /space/orcl9i/admin/beta9i/udump
生成的trace文件名称为_ora_.trc。(表示数据库实例名,表示执行控制文件备份命令的会话所对应的操作系统进程号,相关信息可以查询v$session和v$process视图)
SQL> select sid,serial#,process,paddr from v$session where username='SYS';
SID SERIAL# PROCESS PADDR
---------- -------------- ------------------ ------------------------------
11 573 29185 000000038A296190
SQL> select spid,addr from v$process where
2 addr = (select paddr from v$session where username='SYS');
SPID ADDR
------------ --------------------------------
29186 000000038A296190
其中v$session视图PADDR字段等于v$process视图的ADDR字段。SPID就是执行控制文件备份命令的会话所对应的操作系统进程号。
此时已经在在USER_DUMP_DEST参数目录下创建了文件beta9i_ora_29186.trc。
$ ps -ef | grep 29185
orcl9i 29314 29159 0 09:23:51 pts/1 0:00 grep 29185
orcl9i 29186 29185 0 08:53:09 ? 0:00 oraclebeta9i (DESCRIPTION=(LOCAL=YES)(ADDRESS=(PROTOCOL=beq)))
beta9i 29185 29181 0 08:53:08 pts/2 0:00 sqlplus / as sysdba
 
方法二:创建二进制格式的控制文件
$ sqlplus '/ as sysdba'
SQL> alter database backup controlfile to '/space/beta9i/controlfile.bak';
Database altered.
如果备份指定的文件已经存在,系统会报错,可以在命令中使用reuse选项来重用文件。
SQL> alter database backup controlfile to '/space/beta9i/controlfile.bak';
alter database backup controlfile to '/space/beta9i/controlfile.bak'
*
ERROR at line 1:
ORA-01580: error creating control backup file /space/beta9i/controlfile.bak
ORA-27038: skgfrcre: file exists
SQL> alter database backup controlfile to '/space/beta9i/controlfile.bak' reuse;
Database altered.
$ ls -l /space/beta9i/controlfile.bak
-rw-r----- 1 orcl9i dba 2023424 Nov 25 09:35 /space/beta9i/controlfile.bak
 
方法三、直接复制control file
复制又分两种,一是shutdown数据库,用操作系统的命令将control01.ctl复制到备份的目录中去。二是
sql>host copy c:oracleoradafoxcontrol01.ctl d:备份目录

TAG:

 

评分:0

我来说两句

显示全部

:loveliness: :handshake :victory: :funk: :time: :kiss: :call: :hug: :lol :'( :Q :L ;P :$ :P :o :@ :D :( :)

日历

« 2008-12-02  
 123456
78910111213
14151617181920
21222324252627
28293031   

数据统计

  • 访问量: 889
  • 日志数: 23
  • 建立时间: 2008-02-17
  • 更新时间: 2008-10-30

RSS订阅

Open Toolbar