Oracle9i数据库设计指引汇编Word格式.docx
《Oracle9i数据库设计指引汇编Word格式.docx》由会员分享,可在线阅读,更多相关《Oracle9i数据库设计指引汇编Word格式.docx(24页珍藏版)》请在冰豆网上搜索。
数据库SID是唯一标志数据库的符号,命名长度不能超过5个字符。
关于单节点数据库,以字符开头的5个长度以内字串作为SID的命名。
关于集群数据库,当命名SID后,各节点SID自动命名为SIDnn,其中nn为节点号:
1,2,…,64。
例如rac1、rac2、rac24。
1.2.2数据库全局名
数据库全局名称:
1.2.3数据库类型选择
关于海量数据库系统,采纳datawarehouse的类型。
关于小型数据库或OLTP类型的数据库,采纳TransactionProcessing类型。
1.2.4数据库连接类型选择
Oracle数据库有专用服务器连接类型和多线程服务器MTS连接类型。
关于批处理服务,需要专用服务器连接方式,而关于OLTP服务则MTS的连接方式比较合适。
由于采纳MTS后,能够通过配置网络服务实现某些特定批处理服务采纳专用服务器连接方式,因此数据库设计时一般采纳MTS类型。
1.2.5数据库SGA配置
数据库SGA能够采纳手工配置或按物理内存比例配置,在数据库初始设计时期采纳按比例配置方式,在实际应用中按系统调优方式修改SGA。
1.2.6数据库字符集选择
为了使数据库能够正确支持多国语言,必须配置合适的数据库字符集,采纳UTF8字符集。
注意:
假如没有大对象,在使用过程中进行语言转换没有什么阻碍,具体过程如下(切记设定的字符集必须是ORACLE支持,不然不能start)
1.2.7数据库其他参数配置
1.2.7.1DB_FILES
Db_files是数据库能够同时打开的文件数量,默认值是200个。
当数据库规划时文件数量FILES接近或超过200个时候,按以下可能值配置:
1.2.7.2Db_block_size
一个extent要是5个blocks的倍数为好,如:
一个blocks是4096字节,那一个extent确实是2M、4M或8M为好。
Db_block_size是数据库最小物理单元,一旦数据库创建完成,该参数无法修改,db_block_size按以下规则调整:
数据仓库类型:
db_block_size尽可能大,采纳8192或16384
OLTP类型:
db_block_size用比较小的取值范围:
2048或4096
Blocks推举是系统操作的块倍数(裸设备块大小是512字节,NTFS是4K,使用8K的方式在大部分系统上通用)。
1.2.8数据库操纵文件配置
1.2.8.1操纵文件镜象
多个操纵文件存放在不同的物理位置。
1.2.8.2操纵文件配置
操纵文件中参数设置,最大的数据文件数量不能小于数据库参数db_files。
1.2.9数据库日志文件配置
1.2.9.1日志文件大小
日志文件的大小由数据库事务处理量决定,在设计过程中,确保每20分钟切换一个日志文件。
因此关于批处理系统,日志文件大小为几百M到几G的大小。
关于OLTP系统,日志文件大小为几百M以内。
1.2.9.2日志文件组数量
关于批处理系统,日志文件组为5—10组;
关于OLTP系统,日志文件组为3—5组,每组日志大小保持一致;
关于集群数据库系统,每节点有各自独立的日志组。
1.2.9.3日志成员数量
为了确保日志能够镜象作用,每日志组的成员为2个。
1.2.10数据库回滚段配置
在Oracle9i数据库中,设计Undo表空间取代往常版本的回滚段表空间。
Undo表空间大小的设计规范由以下公式计算:
Undospace=UR*UPS*db_block_size+冗余量
UR:
表示在undo中保持的最长时刻数(秒),由数据库参数UNDO_RETENTION值决定。
UPS:
表示在undo中,每秒产生的数据库块数量。
例如:
在数据库中保留2小时的回退数据,假定每小时产生200个数据库块。
则Undospace=2*3600*200*4K=5.8G
1.2.11数据库临时段表空间配置
数据库临时段表空间依照实际生产环境情况调整其大小,表空间属性为自动扩展。
1.2.12数据库系统表空间配置
系统表空间大小1G左右,除了存放数据库数据字典的数据外,其他数据不得存储在系统表空间。
1.3数据库表空间设计原则
1.3.1表空间大小定义原则
当表空间大小小于操作系统对最大文件限制时,表空间由一个文件组成。
假如表空间大小大于操作系统对最大文件限制时,该表空间由多个数据文件组成,表空间的总大小为估算为:
Tablespace+sum(数据段+索引段)*150%。
1.3.2表空间扩展性设计原则
表空间数据文件采纳自动扩展的方式,扩展容量快大小按2的整数倍(1M、2M、4M、8M、16M、32M、64M)进行扩展,创建表空间时尽量采纳nologing选项。
表空间的最大限制一般采纳unlimited,除非确切明白表空间数据文件的最大使用范围。
(一般windows32位系统的文件最大2G,64位的unix系统系统文件最大128G,但也要注意文件格式设定的文件大小),建议最大为2G。
表空间采纳local治理方式,例如:
1.4裸设备的使用
一个scsi设备能够14个分区,unix操作系统256个分区,性能比文件系统方式高15%左右,空间大于要小于(实际分区大小减两个ORACLE的数据块),比如100M,大于为100000K,推举在unix使用软连接(ln)方式把裸设备形成文件,用加入表空间时加resue选项,因此也可只接把设备加入表空间,移动裸设备使用dd命令
关于windows平台,oracle提供软连接工具,实现裸设备的使用,计算一条记录的长度
2数据库逻辑设计原则
2.1命名规范
2.1.1表属性规范
2.1.1.1表名
前缀为Tbl_。
数据表名称必须以有特征含义的单词或缩写组成,中间能够用“_”分割,例如:
tbl_pstn_detail。
表名称不能用双引号包含。
2.1.1.2表分区名
前缀为p。
分区名必须有特定含义的单词或字串。
例如:
tbl_pstn_detail的分区p2004100101表示该分区存储2004100101时段的数据。
2.1.1.3字段名
字段名称必须用字母开头,采纳有特征含义的单词或缩写,不能用双引号包含。
2.1.1.4主键名
前缀为PK_。
主键名称应是前缀+表名+构成的字段名。
假如复合主键的构成字段较多,则只包含第一个字段。
表名能够去掉前缀。
2.1.1.5外键名
前缀为FK_。
外键名称应是前缀+外键表名+主键表名+外键表构成的字段名。
2.1.2索引
4.1.2.1一般索引
前缀为IDX_。
索引名称应是前缀+表名+构成的字段名。
假如复合索引的构成字段较多,则只包含第一个字段,并添加序号。
2.1.2.2主键索引
前缀为IDX_PK_。
索引名称应是前缀+表名+构成的主键字段名,在创建表时候用usingindex指定主键索引属性。
2.1.2.3唯一因此
前缀为IDX_UK_。
2.1.2.4外键索引
前缀为IDX_FK_。
索引名称应是前缀+表名+构成的外键字段名。
2.1.2.5函数索引
前缀为IDX_func_。
索引名称应是前缀+表名+构成的特征表达字符。
2.1.2.6蔟索引
前缀为IDX_clu_。
索引名称应是前缀+表名+构成的簇字段。
2.1.3视图
前缀为V_。
按业务操作命名视图。
2.1.4实体化视图
前缀为MV_。
按业务操作命名实体化视图。
2.1.5存储过程
前缀为Proc_。
按业务操作命名存储过程
2.1.6触发器
前缀为Trig_。
触发器名应是前缀+表名+触发器名。
2.1.7函数
前缀为Func_。
按业务操作命名函数
2.1.8数据包
前缀为Pkg_。
按业务操作集合命名数据包。
2.1.9序列
前缀为Seq_。
按业务属性命名。
2.1.10表空间
2.1.10.1公用表空间
前缀为Tbs_。
依照存储的特性命名,例如:
tbs_parameter。
2.1.10.2专用表空间
Tbs_<
表名称>
_nn。
该表空间专门存储指定的某一个表,或某一表的若干个分区的数据
2.1.11数据文件
<
表空间名>
nn.dbf。
nn=1,2,3,4,…等。
2.1.12一般变量
前缀为Var_。
存放字符、数字、日期型变量。
2.1.13游标变量
前缀为Cur_。
存放游标记录集。
2.1.14记录型变量
前缀为Rec_。
存放记录型数据。
2.1.15表类型变量
前缀为Tab_。
存放表类型数据。
2.1.16数据库链
前缀为dbl_。
表示分布式数据库外部链接关系。
2.2命名
2.2.1语言
命名应该使用英文单词,幸免使用拼音,特不不应该使用拼音简写。
命名不同意使用中文或者专门字符。
英文单词使用用对象本身意义相对或相近的单词。
选择最简单或最通用的单词。
不能使用毫不相干的单词来命名
当一个单词不能表达对象含义时,用词组组合,假如组合太长时,采纳用简或缩写,缩写要差不多能表达原单词的意义。
当出现对象名重名时,是不同类型对象时,加类型前缀或后缀以示区不。
2.2.2大小写
名称一律大写,以方便不同数据库移植,以及幸免程序调用问题。
2.2.3单词分隔
命名的各单词之间能够使用下划线进行分隔。
2.2.4保留字
命名不同意使用SQL保留字。
2.2.5命名长度
表名、字段名、视图名长度应限制在20个字符内(含前缀)。
2.2.6字段名称