数据库的数据文件数(200)达到了数据库定义的参数db_files的值,而原本需要使用alter system可以修改这个参数,但是因为限制该参数的maxdatafiles值(由控制文件定义)仪200,故要想改大db_files参数值,需要重建控制文件,下面是我个人根据实验总结的操作过程。
一、参数察看
$sqlplus /nolog
conn / as sysdba
SQL> show parameter db_files;
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
db_files integer 200
由此可看出db_files值为200,如果数据库中数据文件数达到或超过200,就需要更改该参数了。
更改db_files有两种情况:
1, 如果控制文件中定义的maxdatafiles以及系统允许打开的文件数值大于200,则可以通过alter方式来修改db_files的值
2, 如果控制文件中maxdatafiles值等于200,则需要重建控制文件来修改maxdatafiles值。
察看maxdatafiles方法
SQL>alter database backup controlfile to trace;
到$ORACLE_BASE/admin/db_name/udump下面查找最新生成的trc文件
$grep –i MAXDATAFILES boss_ora_4310.trc
MAXDATAFILES 200
MAXDATAFILES 200
系统允许打开文件数可用ulimit –a察看
$ulimit –a
open files (-n) 1024
二、修改步骤
1,生成控制文件创建脚本
SQL>alter database backup controlfile to trace;
在$ORACLE_BASE/admin/db_name/udump目下新生成的trc文件oracle/admin/boss/udump/boss_ora_4310.trc
根据上述文件创建控制文件生成脚本recreate_control.sql
STARTUP NOMOUNT
CREATE CONTROLFILE REUSE DATABASE "BOSS" NORESETLOGS NOARCHIVELOG
MAXLOGFILES 16
MAXLOGMEMBERS 3
MAXDATAFILES 300 修改MAXDATAFILES值
MAXINSTANCES 8
MAXLOGHISTORY 292
LOGFILE
GROUP 1 '/oracle/oradata/boss/redo01.log' SIZE 50M,
GROUP 2 '/oracle/oradata/boss/redo02.log' SIZE 50M,
GROUP 3 '/oracle/oradata/boss/redo03.log' SIZE 50M
-- STANDBY LOGFILE
DATAFILE
'/oracle/oradata/boss/system01.dbf',
'/oracle/oradata/boss/undotbs01.dbf',
'/oracle/oradata/boss/sysaux01.dbf',
'/oracle/oradata/boss/users01.dbf',
'/oracle/oradata/boss/example01.dbf'
CHARACTER SET ZHS16GBK
;
2,关闭数据库
SQL>shutdown
3, 备份原有控制文件,删除原有控制文件
备份控制文件
cd /oracle/oradata/boss/
cp control01.ctl control01.ctl.0520
cp control02.ctl control02.ctl.0520
cp control03.ctl control03.ctl.0520
删除控制文件
rm control0*.ctl
4, 创建新的控制文件
$sqlplus /nolog
SQL>conn / as sysdba
SQL>@ oracle/admin/boss/udump/recreate_control.sql
ORACLE instance started.
Total System Global Area 268435456 bytes
Fixed Size 1218892 bytes
Variable Size 75499188 bytes
Database Buffers 188743680 bytes
Redo Buffers 2973696 bytes
Control file created.
5,使用控制文件恢复
SQL> RECOVER DATABASE USING BACKUP CONTROLFILE
ORA-00279: change 567684 generated at 05/15/2010 00:19:32 needed for thread 1
ORA-00289: suggestion :
/oracle/flash_recovery_area/BOSS/archivelog/2010_05_15/o1_mf_1_3_%u_.arc
ORA-00280: change 567684 for thread 1 is in sequence #3
Specify log: {<RET>=suggested | filename | AUTO | CANCEL}
/oracle/oradata/boss/redo01.log
ORA-00310: archived log contains sequence 2; sequence 3 required
ORA-00334: archived log: '/oracle/oradata/boss/redo01.log'
SQL> RECOVER DATABASE USING BACKUP CONTROLFILE
ORA-00279: change 567684 generated at 05/15/2010 00:19:32 needed for thread 1
ORA-00289: suggestion :
/oracle/flash_recovery_area/BOSS/archivelog/2010_05_15/o1_mf_1_3_%u_.arc
ORA-00280: change 567684 for thread 1 is in sequence #3
Specify log: {<RET>=suggested | filename | AUTO | CANCEL}
/oracle/oradata/boss/redo02.log
Log applied.
Media recovery complete.
这里恢复要使用redo在线日志,需要逐个尝试,直到介质恢复成功。
6,resetlogs方式启动数据库
SQL> ALTER DATABASE OPEN RESETLOGS;
Database altered
7,恢复临时表空间
SQL> ALTER TABLESPACE TEMP ADD TEMPFILE '/oracle/oradata/boss/temp01.dbf'
2 SIZE 20971520 REUSE AUTOEXTEND ON NEXT 655360 MAXSIZE 32767M;
Tablespace altered.
8,修改参数
SQL> show parameter db_files;
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
db_files integer 200
SQL> alter system set db_files=250 scope=spfile;
System altered.
SQL> shutdown immediate;
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL> startup
ORACLE instance started.
Total System Global Area 268435456 bytes
Fixed Size 1218892 bytes
Variable Size 75499188 bytes
Database Buffers 188743680 bytes
Redo Buffers 2973696 bytes
Database mounted.
Database opened.
SQL>show parameter db_files
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
db_files integer 250
SQL> exit
至此db_files参数修改工作完成
当然,如果控制文件损坏或丢失,也可以使用这种方法来恢复数据库。
分享到:
相关推荐
Oracle9i初始化参数中文说明 Blank_trimming: 说明: 如果值为TRUE, 即使源长度比目标长度 (SQL92 兼容) 更长, 也允许分配数据。 值范围: TRUE | FALSE 默认值: FALSE serializable: 说明: 确定查询是否获取表级...
目录 摘要 3 ABSTRACT 3 1. 灾难类型 4 2. 恢复类型 4 3. 恢复的级别 4 ... 只应对以前使用显式 sp_detach_db 操作从数据库服务器分离的数据库执行 sp_attach_db。如果必须指定多于 16 个文件,请使用带有 ...
对于Data Pump Export,PARALLEL参数必须要小于等于dump files数 对于Data Pump Import,PARALLEL不要比dump文件数大很多,可以大一些。这个参数也指定了导入时创建索引的并行度。 PARALLEL只允许在企业版使用。 ...
3、单击增加按钮,然后确定要增加的数据库位置(也可以一次加入多个数据库)。 连接数据库的注意事项 虽然在 SQL Server 2005中文件的结构已经发生了改变,你仍然可以连接SQL Server 2000 的数据库。但是只有...
先读取参数文件,再按参数文件中的设置启动数据库 例:startup pfile=E:Oracleadminoradbpfileinit.ora 8、startup EXCLUSIVE 二、用户如何有效地利用数据字典 ORACLE的数据字典是数据库的重要组成部分之一,它...
一个好用的ODBC数据库类CMYODBC --- VC数据库开发之一 <br>一、引言 感觉MFC的CRecordset类不是很好用,因为我们要想使用的话必须为每个查询从CRecordset类派生出一个新类,或者进行动态数据交换。在VC知识库...
先读取参数文件,再按参数文件中的设置启动数据库 例:startup pfile=E:Oracleadminoradbpfileinit.ora 8、startup EXCLUSIVE 二、用户如何有效地利用数据字典 ORACLE的数据字典是数据库的重要组成部分之一,它...
DATAFILES 将要传输到数据库的数据文件 TTS_OWNERS 拥有可传输表空间集中数据的用户 关于增量参数的说明:exp/imp的增量并不是真正意义上的增量,所以最好不要使用。 使用方法: Exp parameter_name=value or Exp ...
JIEQI_DB_HOST - 数据库服务器,一般数据库和网站在同一机器就用 localhost, 否则可以用服务器IP JIEQI_DB_USER - 登陆数据库的用户名 JIEQI_DB_USER - 数据库密码 JIEQI_DB_NAME - 数据库名称 JIEQI_LICENSE_...
JIEQI_DB_HOST - 数据库服务器,一般数据库和网站在同一机器就用 localhost, 否则可以用服务器IP JIEQI_DB_USER - 登陆数据库的用户名 JIEQI_DB_USER - 数据库密码 JIEQI_DB_NAME - 数据库名称 JIEQI_LICENSE_...
增大用户oracle的进程数、文件数限制 [root@dbserver ~]# vi /etc/sysctl.conf …… fs.aio-max-nr = 1048576 限制并发未完成的请求,应该设置避免I/O子系统故障 fs.file-max = 6815744 文件句柄设置代表linux系统中...
C:\Program Files\Mercury\Quality Center\repository\qc\Default\QualityCenter_Demo_db中的dbid.xml <DBSERVER_NAME>192.168.1.12</DBSERVER_NAME> 7、Mercury Tours 样例程序 启动:...
configs - 配置文件目录 compiled - 编译文件目录 files - 用户上传或者网站程序生成文件保存的目录,可在后台设置目录名称 <br>2、建立数据库,并导入数据结构文件和原始数据文件,mysql4.0x或者以下...
修改主conf参数,增加以下配置,填写"user_config_dir=/ftpconfig",这个就是定义不同账户对应不同目录的重要所在. pam_service_name=vsftpd userlist_enable=YES tcp_wrappers=YES guest_enable=YES user_config_dir=/...
目前直接支持Oracle、SqlServer、Sybase、DB2、Access、MySQL、SQLite、PostgreSQL、DM(达梦)、OleDb和Custom(自定义)类型的数据库、PowerDesigner文件,同时也支持Informix、Firebird、MaxDB、Odbc等,可用于...
目前直接支持Oracle、SqlServer、Sybase、DB2、Access、MySQL、SQLite、PostgreSQL、DM(达梦)、OleDb和Custom(自定义)类型的数据库、PowerDesigner文件,同时也支持Informix、Firebird、MaxDB、Odbc等,可用于各种...
目前直接支持Oracle、SqlServer、Sybase、DB2、Access、MySQL、SQLite、PostgreSQL、DM(达梦)、OleDb和Custom(自定义)类型的数据库、PowerDesigner文件,同时也支持Informix、Firebird、MaxDB、Odbc等,可用于各种...
目前直接支持Oracle、SqlServer、Sybase、DB2、Access、MySQL、SQLite、PostgreSQL、DM(达梦)、OleDb和Custom(自定义)类型的数据库、PowerDesigner文件,同时也支持Informix、Firebird、MaxDB、Odbc等,可用于各种...
目前直接支持Oracle、SqlServer、Sybase、DB2、Access、MySQL、SQLite、PostgreSQL、DM(达梦)、OleDb和Custom(自定义)类型的数据库、PowerDesigner文件,同时也支持Informix、Firebird、MaxDB、Odbc等,可用于...