官网资料里找到的,关于大文件表空间对SGA的好处:
You can also adjust parameters to reduce the SGA space required for datafile information and the size of the control file.
还有一句是:
Performance of database opens, checkpoints, and DBWR processes should improve if data is stored in bigfile tablespaces instead of traditional tablespaces
有没有人有使用经验的,因为整体性能这玩意也不是我本机随便跑几下能测试出来的。
db_files太大会占用很多内存
9i的看 http://www.dbafan.com/blog/?p=92
10g 我测试了一下,感觉没有那么夸张,不过的确也占用了一些内存
SQL> show parameter db_files
NAME
TYPEVALUE
------------------------------------ ----------- ------------------------------
db_files
integer 200
SQL> select * from v$sgastat where name like '%files%';
POOL NAME
BYTES
------------ ------------------------------------------------------------ ----------
shared poolmax allowable # log files
253200
shared pooldb_files
196100
SQL> alter system set db_files=20000 scope=spfile;
系统已更改。
SQL> alter system set db_files=20000 scope=spfile;
系统已更改。
SQL> startup force
ORACLE 例程已经启动。
Total System Global Area 1468006400 bytes
Fixed Size
1298880 bytes
Variable Size
343936576 bytes
Database Buffers 1115684864 bytes
Redo Buffers
7086080 bytes
数据库装载完毕。
数据库已经打开。
SQL>select * from v$sgastat where name like '%files%';
POOL NAME
BYTES
------------ ------------------------------------------------------------ ----------
shared poolmax allowable # log files
253200
shared pooldb_files
15565848
--也就15M
MAXDATAFILES 这个参数我记忆中10g已经没有用了
Performance of database opens, checkpoints, and DBWR processes should improve if data is stored in bigfile tablespaces instead of traditional tablespaces
我个人的理解 我觉得 大表空间 文件数是很少的 比如说200