更改oracle 默认db_files 200(ORA-00059: maximum number of DB_FILES

ORA-00059: maximum number of DB_FILES exceeded

后查到:

db_files 值设的是 integer 200

RMAN> BACKUP CURRENT CONTROLFILE FORMAT '/home/bak/20150612/cntrl_%s_%p_%t';

RMAN> BACKUP Spfile FORMAT '/home/bak/20150612/spfile_%s_%p_%t';

cat /home/db/oracle10g/product/10.2.0/db_1/network/admin/listener.ora

由于要重启库生效,故先停监听:

lsnrctl stop LISTENER1

netstat -an|grep 11521

SQL> show parameter db_files;

NAME TYPE VALUE

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

db_files integer 200

 

SQL> alter system set db_files=1024 scope=spfile;

System altered.

 

SQL> show parameter db_files;

NAME TYPE VALUE

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

db_files integer 200

SQL>

SQL> shutdown immediate;

Database closed.

Database dismounted.

ORACLE instance shut down.

SQL> startup

ORACLE instance started.

Total System Global Area 6815744000 bytes

Fixed Size 2133456 bytes

Variable Size 3812622896 bytes

Database Buffers 2990538752 bytes

Redo Buffers 10448896 bytes

Database mounted.

Database opened.

SQL>

SQL> show parameter db_files;

NAME TYPE VALUE

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

db_files integer 1024

lsnrctl start LISTENER1起监听 恢复

===========

花絮期间在停库时,观察alert日志:

Stopping background process MMNL

Fri Jun 12 19:15:12 2015

Stopping background process MMON

Fri Jun 12 19:15:13 2015

Shutting down instance (immediate)

License high water mark = 141

Fri Jun 12 19:15:13 2015

Stopping Job queue slave processes, flags = 7

Fri Jun 12 19:15:13 2015

Job queue slave processes stopped

Fri Jun 12 19:20:12 2015

Active call for process 11403540 user 'oracle10g' program  'oracle@XXDB3300'

SHUTDOWN: waiting for active calls to complete.

等了许久于是

ps -ef|grep 11403540

oracle10 11403540 1 100 Mar 18 - 78207:11 oracleecssdb (LOCAL=NO)

kill -9 11403540

后续数据库正常停下来