Chinaunix首页 | 论坛 | 博客
  • 博客访问: 641457
  • 博文数量: 244
  • 博客积分: 9445
  • 博客等级: 中将
  • 技术积分: 2572
  • 用 户 组: 普通用户
  • 注册时间: 2006-04-11 16:39
个人简介

简单点,再简单点

文章分类

全部博文(244)

文章存档

2020年(2)

2019年(1)

2018年(2)

2014年(2)

2013年(4)

2012年(13)

2011年(24)

2010年(12)

2009年(34)

2008年(61)

2007年(51)

2006年(38)

我的朋友

分类: Oracle

2006-09-25 16:10:03

方法一:创建文本格式的控制文件
$ 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
阅读(2222) | 评论(1) | 转发(0) |
给主人留下些什么吧!~~

chinaunix网友2008-04-28 14:21:05

好,不错,学习了。感谢。