关于各个表空间数据文件, 控制文件, 日志文件的 block_size 问题 ?

[复制链接]
查看11 | 回复2 | 2015-3-6 11:57:31 | 显示全部楼层 |阅读模式
Linux AS3.0+ Oracle 9.2.0.7系统( 32 bit )
一般来说, db_block_size有4、8、16、32 ,是操作系统文件块的整数倍 。建立数据库的时候,9i 下默认是db_block_size=8k . 假设采用默认设置。

9i 每个tablespace 都可以使用不同的 block_size ,不需要建库的时候修改,创建你的用户表空间的时候选择这个参数就可以 .

1,系统建立的标空间也可以通过tablespace参数更改block_size大小(虽然没有必要) ?
2,目前的 controlfile , online redo log file ,archive log file , spfile 等和这个oracle 数据库相关的文件的block_size 都是 8k . 用户表空间 datafile随tablespace 的参数设置而 block_size 不一样 ?
回复

使用道具 举报

千问 | 2015-3-6 11:57:31 | 显示全部楼层
up
回复

使用道具 举报

千问 | 2015-3-6 11:57:31 | 显示全部楼层
最初由 tolywang 发布
[B]Linux AS3.0+ Oracle 9.2.0.7系统( 32 bit )
一般来说, db_block_size有4、8、16、32 ,是操作系统文件块的整数倍 。建立数据库的时候,9i 下默认是db_block_size=8k . 假设采用默认设置。

9i 每个tablespace 都可以使用不同的 block_size ,不需要建库的时候修改,创建你的用户表空间的时候选择这个参数就可以 .

1,系统建立的标空间也可以通过tablespace参数更改block_size大小(虽然没有必要) ?
没有验证过,应该可以,问题不大。只要设置好这些参数就可以:
NAME
TYPEVALUE
------------------------------------ ----------- ------------------------------
db_16k_cache_size
big integer 0
db_2k_cache_size
big integer 0
db_32k_cache_size
big integer 0
db_4k_cache_size
big integer 0
db_8k_cache_size
big integer 0
db_cache_size
big integer 167772160
2,目前的 controlfile , online redo log file ,archive log file , spfile 等和这个oracle 数据库相关的文件的block_size 都是 8k .
select distinct block_size from v$controlfile;
BLOCK_SIZE
----------
16384
SQL> select distinct block_size from v$archived_log;
BLOCK_SIZE
----------
512
可见log和controlfile的块大小与db_block_size大小无关
如果有兴趣可以来招更狠的select * from dba_tab_columns where column_name ='BLOCK_SIZE'
找出来一个一个比对
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行