七、创建新的控制文件(举例:数据库改名)

(一)  什么时候需要创建新的控制文件

(1) 所有的控制文件包括副本都已经损坏;

(2) 想要改变使用create database命令创建数据库时指定的数据库参数,这些参数设置包括:

n  数据库名称

n  MAXLOGFILES

n  MAXLOGMEMBERS

n  MAXLOGHISTORY

n  MAXDATAFILES

n  MAXINSTANCES

(二)  准备数据文件和重做日志文件清单(应该早有准备)

1、 SQL> select group#,member from v$logfile;

    GROUP# MEMBER

---------- ---------------------------------

         3 E:\DB\TEST01\TEST01\REDO03.LOG

         2 E:\DB\TEST01\TEST01\REDO02.LOG

         1 E:\DB\TEST01\TEST01\REDO01.LOG

2、 SQL> select name,bytes/1024/1024 MB from v$datafile;

 

NAME                                                       MB

-------------------------------------------------- ----------

E:\DB\TEST01\TEST01\SYSTEM01.DBF                          480

E:\DB\TEST01\TEST01\UNDOTBS01.DBF                          25

E:\DB\TEST01\TEST01\SYSAUX01.DBF                          260

E:\DB\TEST01\TEST01\USERS01.DBF                             5

3、 SQL> select name from v$controlfile;

NAME

------------------------------------------

E:\DB\TEST01\TEST01\CONTROL01.CTL

E:\DB\TEST01\TEST01\CONTROL02.CTL

E:\DB\TEST01\TEST01\CONTROL03.CTL

4、 SQL> archive log list

数据库日志模式       非存档模式

自动存档             禁用

存档终点             USE_DB_RECOVERY_FILE_DEST

最早的联机日志序列     8

当前日志序列           10

(三)  创建Pfile

Create pfile= 'e:\db\test01\init20100209.ora' from spfile;

(四)  关闭数据库

SQL> shutdown normal

数据库已经关闭。

已经卸载数据库。

ORACLE 例程已经关闭。

(五)  备份所有的数据文件和重做日志文件

(六)  修改初始化参数文件

打开新建的'e:\db\test01\init20100209.ora文件,更改数据库名:TEST01——>DB01

(七)  使用Pfile启动一个新的实例到nomount状态

SQL> startup nomount pfile='e:\db\test01\init20100209.ora'

ORACLE 例程已经启动。

 

Total System Global Area  167772160 bytes

Fixed Size                  1247900 bytes

Variable Size              92276068 bytes

Database Buffers           71303168 bytes

Redo Buffers                2945024 bytes

(八)  创建新的控制文件

如果除了丢失了控制文件外,还丢失了重做日志组,在使用create controlfile语句创建控制文件时,需要指定resetlogs子句

SQL> create controlfile

  2  set database "DB01"

  3  logfile  group 3 ('E:\DB\TEST01\TEST01\REDO03.LOG') size 5M,

  4           group 2 ('E:\DB\TEST01\TEST01\REDO02.LOG') size 5M,

  5           group 1 ('E:\DB\TEST01\TEST01\REDO01.LOG') size 5M

  6  resetlogs

  7  datafile 'E:\DB\TEST01\TEST01\SYSTEM01.DBF' size 480M,

  8           'E:\DB\TEST01\TEST01\UNDOTBS01.DBF' size 25M,

  9           'E:\DB\TEST01\TEST01\SYSAUX01.DBF' size 260M,

 10           'E:\DB\TEST01\TEST01\USERS01.DBF' size 5M

 11  maxlogfiles 50

 12  maxlogmembers 3

 13  maxloghistory 400

 14  maxdatafiles 200

 15  maxinstances 6

 16  noarchivelog;

 

控制文件已创建。

 

(九)  打开数据库

(1)      指定RESETLOGS将重设当前LOG sequence number1,抛弃所有日志信息。

(2)      以下条件需要使用resetlog

n  在不完全恢复(介质恢复)

n  使用备份控制文件

(3)      使用resetlogs打开数据库后无必完整地备份一次数据库。

SQL> alter database open resetlogs;

数据库已更改。

(十)  验证结果

SQL> select name from v$database;

 

NAME

---------

DB01

(十一)      创建spfile

SQL> create spfile from pfile= 'e:\db\test01\init20100209.ora' ;

文件已创建。

(十二)      使用spfile启动数据库

SQL> startup

ORACLE 例程已经启动。

 

Total System Global Area  167772160 bytes

Fixed Size                  1247900 bytes

Variable Size              92276068 bytes

Database Buffers           71303168 bytes

Redo Buffers                2945024 bytes

数据库装载完毕。

数据库已经打开。

(十三)      验证结果

SQL> select name from v$database;

 

NAME

---------

DB01

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/7902185/viewspace-627406/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/7902185/viewspace-627406/

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值