Oracle学习(三)之重建控制文件

1.将数据库打开至open状态

2.对控制文件进行语句级备份

1)alter database backup controlfile to trace;
2)显示参数background_dump_dest,找到alert<数据库名>.log文件
3)从第2)步找到的文件中找到生成的trace文件名
4)从第3)步找到的文件中找到第一种方案的语句执行

3.启动数据库到nomount状态
4.执行create controlfile … 创建控制文件
5.执行recover database
6.将实例启动到open状态
7.添加临时表空间所包含的数据文件

例如(Linux环境下):
1.将数据库打开至open状态:
sqlplus /nolog
conn / as sysdba
startup

2.对控制文件进行语句级备份
1)执行备份语句:
alter database backup controlfile to trace;
2)显示参数background_dump_dest,找到alert<数据库名>.log文件:
SQL> show parameter backgr;

NAME TYPE VALUE


background_core_dump string partial
background_dump_dest string /u01/app/oracle/diag/rdbms/orc
l/orcl/trace

[oracle@localhost ~]$ ls -l /u01/app/oracle/diag/rdbms/orcl/orcl/trace/alert*.*
-rwxrwxrwx 1 oracle oinstall 164638 May 24 16:46 alert_orcl.log

3)从第2)步找到的文件中找到生成的trace文件名:
[oracle@localhost ~]$ gedit /u01/app/oracle/diag/rdbms/orcl/orcl/trace/alert_orcl.log

从打开的文件中,在文件末尾有:
Sun May 24 16:46:17 2015
alter database backup controlfile to trace
Backup controlfile written to trace file /u01/app/oracle/diag/rdbms/orcl/orcl/trace/orcl_ora_4437.trc
Completed: alter database backup controlfile to trace

4)从第3)步找到的文件中找到第一种方案的语句执行
[oracle@localhost ~]$ gedit /u01/app/oracle/diag/rdbms/orcl/orcl/trace/orcl_ora_4437.trc

在打开的文件中找到第一种方案语句:
– Set #1. NORESETLOGS case(以下的就是第一种方案,其中“–”是注释符号,也可以直接将其粘贴至sql语句中)

3.启动数据库到nomount状态
SQL> shutdown
SQL> STARTUP NOMOUNT(文件中有此语句)

4.执行create controlfile … 创建控制文件(可以适当修改数据库信息)
SQL> CREATE CONTROLFILE REUSE DATABASE “ORCL” NORESETLOGS NOARCHIVELOG(文件中有这些语句,直接粘贴到sql里就行)
MAXLOGFILES 16
MAXLOGMEMBERS 3
MAXDATAFILES 100
MAXINSTANCES 8
MAXLOGHISTORY 292
LOGFILE
GROUP 1 ‘/u01/app/oracle/oradata/orcl/redo01.log’ SIZE 50M BLOCKSIZE 512,
GROUP 2 ‘/u01/app/oracle/oradata/orcl/redo02.log’ SIZE 50M BLOCKSIZE 512,
GROUP 3 ‘/u01/app/oracle/oradata/orcl/redo03.log’ SIZE 50M BLOCKSIZE 512
– STANDBY LOGFILE
DATAFILE
‘/u01/app/oracle/oradata/orcl/system01.dbf’,
‘/u01/app/oracle/oradata/orcl/sysaux01.dbf’,
‘/u01/app/oracle/oradata/orcl/undotbs01.dbf’,
‘/u01/app/oracle/oradata/orcl/users01.dbf’,
‘/u01/app/oracle/oradata/orcl/example01.dbf’
CHARACTER SET WE8MSWIN1252
;

显示结果:
Control file created.

5.执行recover database(文件中有此语句)
SQL> RECOVER DATABASE

6.将实例启动到open状态(文件中有此语句)
SQL> ALTER DATABASE OPEN;
Database altered.

7.添加临时表空间所包含的数据文件(文件中有此语句)
SQL> ALTER TABLESPACE TEMP ADD TEMPFILE ‘/u01/app/oracle/oradata/orcl/temp01.dbf’
SIZE 20971520 REUSE AUTOEXTEND ON NEXT 655360 MAXSIZE 32767M;
Tablespace altered.

8.到此已经完成,我们可以查看一下参数:
1)查看数据库状态:
SQL> select instance_name,status from v$instance;

INSTANCE_NAME STATUS


orcl OPEN

2)查看数据库信息:
SQL> select * from v$database;(显示内容过多,就不粘了,下同)

3)显示数据库各种参数文件等信息:
SQL> select * from v$controlfile_record_section;

4)显示online信息:
SQL> show parameter online;

5)显示控制文件信息:
SQL> select * from v$controlfile;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值