网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
Firefox | IE | Maxthon | 迅雷 | 电驴 | BitComet | FlashGet | QQ | QQ空间 | Vista | 输入法 | Ghost | Word | Excel | wps | Powerpoint
asp | .net | php | jsp | Sql | c# | Ajax | xml | Dreamweaver | FrontPages | Javascript | css | photoshop | fireworks | Flash | Cad | Discuz!
当前位置 > 网站建设学院 > 网络编程 > 数据库 > Oracle教程
Tag:注入,存储过程,分页,安全,优化,xmlhttp,fso,jmail,application,session,防盗链,stream,无组件,组件,md5,乱码,缓存,加密,验证码,算法,cookies,ubb,正则表达式,水印,索引,日志,压缩,base64,url重写,上传,控件,Web.config,JDBC,函数,内存,PDF,迁移,结构,破解,编译,配置,进程,分词,IIS,Apache,Tomcat,phpmyadmin,Gzip,触发器,socket
数据库:数据库教程,数据库技巧,Oracle教程,MySQL教程,Sybase教程,Access教程,DB2教程,数据库安全,数据库文摘
本月文章推荐
.详细讲解"Oracle"服务器的常用命.
.诊断性能问题.
.Oracle中Number(p,s)的意义.
.使用impdp复制Oracle的schema数据.
.ORACLE中一些问题的解决方法.
.ORACLE使用LogMiner分析重做日志.
.关于数据库名(db_name)、实例名(.
.获得应用程序所执行的SQL语句.
.在Redhat 9上安装 Oracle 817心得.
.推荐:学习使用 Oracle触发器心得.
.ORACLE神话的破灭.
.ZT-Statspack安装配置使用说明二.
.How to evaluate the offer of a.
.解析Oracle/Oracle Forms 的多用.
.如何用脚本实现分割文件.
.Webmin--Linux下的用户管理工具.
.Oracle 9i数据库异常关闭后的启动.
.删除Oracle 9i数据库.
.入侵oracle数据库时常用的操作命.
.Oracle Freelist和HWM原理探讨及.

重建控制文件会导致密码文件发生变化

发表日期:2008-2-9



  今天在测试的时候发现,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;     数据库已更改。     密码文件由于可以方便的重建,因此,很少包括在备份集中,不过由于存在上述问题,进行全备份的时候,不妨同时备份当时的密码文件,可以避免产生错误。
上一篇:利用外部命令Oralce数据库导入导出 人气:1602
下一篇:Internal/Oracle的密码更改用什么命令 人气:640
浏览全部Oracle教程的内容 Dreamweaver插件下载 网页广告代码 祝你圣诞节快乐 2009年新年快乐