重建控制文件会导致密码文件发生变化Oracle认证考试

文章作者 100test 发表时间 2009:06:15 06:16:50
来源 100Test.Com百考试题网


  今天在测试的时候发现,Oracle控制文件重建的话,密码文件也会相应的发生变化。
  重建控制文件后,虽然密码文件内容没有发生变化。但是密码文件本身的状态已经发生了改变,最明显的一点,就是利用以前的备份进行恢复时,会报密码文件的错误。
  首先创建一个备份:
  SQL>. SELECT ’ALTER TABLESPACE ’ || TABLESPACE_NAME || ’ BEGIN BACKUP.’ FROM DBA_TABLESPACES
  2 WHERE CONTENTS != ’TEMPORARY’.
  ’ALTERTABLESPACE’||TABLESPACE_NAME||’BEGINBACKUP.’
  -------------------------------------------------------------
  ALTER TABLESPACE SYSTEM BEGIN BACKUP.
  ALTER TABLESPACE UNDOTBS1 BEGIN BACKUP.
  ALTER TABLESPACE INDX BEGIN BACKUP.
  ALTER TABLESPACE TOOLS BEGIN BACKUP.
  ALTER TABLESPACE USERS BEGIN BACKUP.
  ALTER TABLESPACE YANGTK BEGIN BACKUP.
  已选择6行。
  SQL>. ALTER TABLESPACE SYSTEM BEGIN BACKUP.
  表空间已更改。
  SQL>. ALTER TABLESPACE UNDOTBS1 BEGIN BACKUP.
  表空间已更改。
  SQL>. ALTER TABLESPACE INDX BEGIN BACKUP.
  表空间已更改。
  SQL>. ALTER TABLESPACE TOOLS BEGIN BACKUP.
  表空间已更改。
  SQL>. ALTER TABLESPACE USERS BEGIN BACKUP.
  表空间已更改。
  SQL>. ALTER TABLESPACE YANGTK BEGIN BACKUP.
  表空间已更改。
  SQL>. HOST COPY F:ORACLEORADATATEST*.* F:ORACLEBACKUPTEST20061106
  SQL>. SELECT ’ALTER TABLESPACE ’ || TABLESPACE_NAME || ’ END BACKUP.’ FROM DBA_TABLESPACES
  2 WHERE CONTENTS != ’TEMPORARY’.
  ’ALTERTABLESPACE’||TABLESPACE_NAME||’ENDBACKUP.’
  -----------------------------------------------------------
  ALTER TABLESPACE SYSTEM END BACKUP.
  ALTER TABLESPACE UNDOTBS1 END BACKUP.
  ALTER TABLESPACE INDX END BACKUP.
  ALTER TABLESPACE TOOLS END BACKUP.
  ALTER TABLESPACE USERS END BACKUP.
  ALTER TABLESPACE YANGTK END BACKUP.
  已选择6行。
  SQL>. ALTER TABLESPACE SYSTEM END BACKUP.
  表空间已更改。
  SQL>. ALTER TABLESPACE UNDOTBS1 END BACKUP.
  表空间已更改。
  SQL>. ALTER TABLESPACE INDX END BACKUP.
  表空间已更改。
  SQL>. ALTER TABLESPACE TOOLS END BACKUP.
  表空间已更改。
  SQL>. ALTER TABLESPACE USERS END BACKUP.
  表空间已更改。
  SQL>. ALTER TABLESPACE YANGTK END BACKUP.
  表空间已更改。
  下面看看重建控制文件后的情况:
  SQL>. CONN YANGTK/YANGTK@TEST AS SYSDBA
  已连接。
  SQL>. SHUTDOWN IMMEDIATE
  数据库已经关闭。
  已经卸载数据库。
  ORACLE 例程已经关闭。
  SQL>. STARTUP NOMOUNT
  ORACLE 例程已经启动。
  Total System Global Area 76619308 bytes
  Fixed Size 454188 bytes
  Variable Size 50331648 bytes
  Database Buffers 25165824 bytes
  Redo Buffers 667648 bytes
  SQL>. CREATE CONTROLFILE REUSE DATABASE "TEST" NORESETLOGS ARCHIVELOG
  2 -- SET STANDBY TO MAXIMIZE PERFORMANCE
  3 MAXLOGFILES 50
  4 MAXLOGMEMBERS 5
  5 MAXDATAFILES 100
  6 MAXINSTANCES 1
  7 MAXLOGHISTORY 680
  8 LOGFILE
  9 GROUP 1 ’F:ORACLEORADATATESTREDO01.LOG’ SIZE 100M,
  10 GROUP 2 ’F:ORACLEORADATATESTREDO02.LOG’ SIZE 100M,
  11 GROUP 3 ’F:ORACLEORADATATESTREDO03.LOG’ SIZE 100M
  12 -- STANDBY LOGFILE
  13 DATAFILE
  14 ’F:ORACLEORADATATESTSYSTEM01.DBF’,
  15 ’F:ORACLEORADATATESTUNDOTBS01.DBF’,
  16 ’F:ORACLEORADATATESTINDX01.DBF’,
  17 ’F:ORACLEORADATATESTTOOLS01.DBF’,
  18 ’F:ORACLEORADATATESTUSERS01.DBF’,
  19 ’F:ORACLEORADATATESTYANGTK01.DBF’
  20 CHARACTER SET ZHS16GBK
  21 .
  控制文件已创建
  SQL>. ALTER DATABASE OPEN.
  数据库已更改。
  这个时候,密码文件已经被修改。从操作系统中文件的信息也可以看到,文件最后修改时间就是控制文件的重建时间。
  这个时候,如果需要利用以前的备份恢复数据库,那么就需要重建密码文件:
  SQL>. SHUTDOWN IMMEDIATE
  数据库已经关闭。
  已经卸载数据库。
  ORACLE 例程已经关闭。
  SQL>. HOST COPY F:ORACLEBACKUPTEST20061106*.CTL F:ORACLEORADATATEST
  SQL>. HOST COPY F:ORACLEBACKUPTEST20061106*.LOG F:ORACLEORADATATEST
  SQL>. HOST COPY F:ORACLEBACKUPTEST20061106*.DBF F:ORACLEORADATATEST
  SQL>. STARTUP MOUNT
  ORACLE 例程已经启动。
  Total System Global Area 76619308 bytes
  Fixed Size 454188 bytes
  Variable Size 50331648 bytes
  Database Buffers 25165824 bytes
  Redo Buffers 667648 bytes
  ORA-01991: ???????’F:oracleoracle920DATABASEPWDtest.ORA’
  SQL>. SHUTDOWN
  ORA-01109: ??????
  已经卸载数据库。
  ORACLE 例程已经关闭。
  SQL>. HOST DEL F:ORACLEORACLE920DATABASEPWDTEST.ORA
  SQL>. HOST ORAPWD FILE=F:ORACLEORACLE920DATABASEPWDTEST.ORA PASSWORD=TEST
  SQL>. STARTUP MOUNT
  ORACLE 例程已经启动。
  Total System Global Area 76619308 bytes
  Fixed Size 454188 bytes
  Variable Size 50331648 bytes
  Database Buffers 25165824 bytes
  Redo Buffers 667648 bytes
  数据库装载完毕。
  SQL>. RECOVER DATABASE.
  完成介质恢复。
  SQL>. ALTER DATABASE OPEN.
  数据库已更改。
  密码文件由于可以方便的重建,因此,很少包括在备份集中,不过由于存在上述问题,进行全备份的时候,不妨同时备份当时的密码文件,可以避免产生错误。
  更多优质资料尽在百考试题论坛 百考试题在线题库 oracle/认证更多详细资料

相关文章


Oracle10G2forCentOS5.2安装截图详解Oracle认证考试
一次SPA数据库的OFFLINE备份的恢复测试Oracle认证考试
重建控制文件会导致密码文件发生变化Oracle认证考试
Oracle中查询rownum和rowid的区别Oracle认证考试
如何使用Oracle的Decode函数进行多值判断Oracle认证考试
澳大利亚华人论坛
考好网
日本华人论坛
华人移民留学论坛
英国华人论坛