只提供所有数据文件,进行数据库修复

本文详细介绍了数据库初始化、创建参数文件、口令验证文件、启动数据库、临时表空间添加及验证等步骤,确保数据库顺利运行。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

(一)提供所有的数据文件,如下:

 bb


将数据文件传到恢复环境里(虚拟机)

 

(二)创建初始化参数文件

 

db_name='CRS'

memory_target=800m

processes = 150

audit_file_dest='/u01/app/oracle/admin/CRS/adump'

audit_trail ='db'

db_block_size=8192

db_domain='oracle.com'

undo_management='AUTO'

db_recovery_file_dest='/u01/app/oracle/flash_recovery_area'

db_recovery_file_dest_size=10G

diagnostic_dest='/u01/app/oracle'

dispatchers='(PROTOCOL=TCP) (SERVICE=ORCLXDB)'

open_cursors=300

remote_login_passwordfile='EXCLUSIVE'

undo_tablespace='UNDOTBS1'

# You may want to ensure that control files are created on separate physical

# devices

control_files = ('/u01/app/oracle/oradata/CRS/controcl01.ctl')

compatible ='11.2.0'

备注:初始化参数文件里对应的路径必须先创建好

 

(三)创建口令验证文件

 

orapwd file=/u01/app/oracle/product/11.2.0/dbhome_1/dbs/orapwCRS  password=oracle

 

(四)开始启动数据库

 

(1)指定当前环境下的实例名

export ORACLE_SID=test1

(2)启动数据库到nomount

sqlplus / as sysdba

create spfile from pfile;

startup nomount;

(3)创建控制文件
创建控制文件的语句可以参考官方文档

CREATE CONTROLFILE reuse database "CRS"

   LOGFILE GROUP 1 '/u01/app/oracle/oradata/CRS/REDO01.LOG',

           GROUP 2 '/u01/app/oracle/oradata/CRS/REDO02.LOG',

           GROUP 3 '/u01/app/oracle/oradata/CRS/REDO03.LOG' 

   NORESETLOGS

   DATAFILE '/u01/app/oracle/oradata/CRS/SYSAUX01.DBF',

            '/u01/app/oracle/oradata/CRS/SYSTEM01.DBF',

            '/u01/app/oracle/oradata/CRS/UNDOTBS01.DBF',

            '/u01/app/oracle/oradata/CRS/USERS01.DBF',

            '/u01/app/oracle/oradata/CRS/EXAMPLE01.DBF',

            '/u01/app/oracle/oradata/CRS/MYDB.DBF'

   maxlogfiles 50

maxdatafiles 200

maxlogmembers  3;

 

 

备注:

1)一开始在控制文件里把临时文件也加进去了,报错,说临时文件不是数据文件,就把临时文件那句删掉了;

2)一开始直接从官档里复制相关语句,忘了修改成NORESETLOGS,报说需要设置redo日志大小;

3)一开始是用的官档里的set database 实例名,报错,改成reuse database "实例名"

4)一开始不知道实例名,自己指定实例名为test1,报错如下:

database name CRS in file header does not match given name of TEST1

把实例名改成CRS,并把之前的所有操作关于test1的全改成CRS(包括对应的文件路径)

5)控制文件里没有指定字符集,把库打开后,去查看了一下nls_database_parameters里的字符集,是AL32UTF8

 

(五)把库打开

 

alter database open;

查看一下状态

select status from v$instance;

能看到是OPEN状态的

 

 

(六)给临时表空间添加临时文件

 

查询表空间是能看到有一个临时表空间叫TEMP的已经自动创建了,那么给他添加一个临时文件

bb



alter tablespace temp add tempfile ‘/u01/app/oracle/oradata/CRS/TEMP01.DBF’ size 30m;

 

(七)最后验证

 

1、用RMAN进行逻辑验证

rman target/

backup validate check logical database;

bb





2、另一种验证方法,用exp


nohup exp \'/ as sysdba\' file=/dev/null full=y buffer=60000000 log=/u01/app/oracle/expdx.log volsize=3000g &

日志里的内容:



bb





最后补充一个查看控制文件内容的方法:
alter system backup controlfile to trace;
找到dump出来的trae文件:

oradebug setmypid

oradebug tracefile_name


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

转载于:http://blog.itpub.net/30935525/viewspace-2059961/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值