分享
 
 
 

Oracle9i 数据库的设计指引全集(图)

王朝oracle·作者佚名  2008-05-31
窄屏简体版  字體: |||超大  

数据库物理设计原则

1.1 数据库环境配置原则

1.1.1 操作系统环境:

对于中小型数据库系统,采用linux操作系统比较合适,对于数据库冗余要求负载均衡能力要求较高的系统,可以采用Oracle9i RAC的集群数据库的方法,集群节点数范围在2—64个。对于大型数据库系统,可以采用Sun Solaris SPARC 64位小型机系统或HP 9000 系列小型机系统。RAD5适合只读操作的数据库,RAD1 适合OLTP数据库

1.1.2 内存要求

对于linux操作系统下的数据库,由于在正常情况下Oracle对SGA的治理能力不超过1.7G。所以总的物理内存在4G以下。SGA的大小为物理内存的50%—75%。对于64位的小型系统,Oracle数据库对SGA的治理超过2G的限制,SGA设计在一个合适的范围内:物理内存的50%—70%,当SGA过大的时候会导致内存分页,影响系统性能。

1.1.3 交换区设计

当物理内存在2G以下的情况下,交换分区swap为物理内存的3倍,当物理内存2G的情况下,swap大小为物理内存的1—2倍。

1.1.4 其他环境变量参考Oracle相关的安装文档和随机文档。

1.2 数据库设计原则

1.2.1 数据库SID

数据库SID是唯一标志数据库的符号,命名长度不能超过5个字符。对于单节点数据库,以字符开头的5个长度以内字串作为SID的命名。对于集群数据库,当命名SID后,各节点SID自动命名为SIDnn,其中nn为节点号:1,2,…,64。例如rac1、rac2、rac24。

1.2.2 数据库全局名

数据库全局名称:

<sid.domain

1.2.3 数据库类型选择

对于海量数据库系统,采用data warehouse的类型。对于小型数据库或OLTP类型的数据库,采用Transaction PRocessing类型。

1.2.4 数据库连接类型选择

Oracle数据库有专用服务器连接类型和多线程服务器MTS连接类型。对于批处理服务,需要专用服务器连接方式,而对于OLTP服务则MTS的连接方式比较合适。由于采用MTS后,可以通过配置网络服务实现某些特定批处理服务采用专用服务器连接方式,所以数据库设计时一般采用MTS类型。

1.2.5 数据库SGA配置

数据库SGA可以采用手工配置或按物理内存比例配置,在数据库初始设计阶段采用按比例配置方式,在实际应用中按系统调优方式修改SGA。

1.2.6 数据库字符集选择

为了使数据库能够正确支持多国语言,必须配置合适的数据库字符集,采用UTF8字符集。

注重:假如没有大对象,在使用过程中进行语言转换没有什么影响,具体过程如下(切记设定的字符集必须是ORACLE支持,不然不能start)

SQL shutdown immediate;

SQL startup mount;

SQL alter system enable restricted session;

SQL alter system set job_queue_processes=0;

SQL alter database open;

SQL alter database character set internal_use we8iso8859p1;

SQL shutdown immediate;

SQL startup

1.2.7 数据库其他参数配置

1.2.7.1 DB_FILES

Db_files是数据库能够同时打开的文件数量,默认值是200个。当数据库规划时文件数量FILES接近或超过200个时候,按以下估计值配置:

DB_FILES = FILES * 1.5

1.2.7.2 Db_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,除非确切知道表空间数据文件的最大使用范围。

(一般windows 32位系统的文件最大2G,64位的unix系统系统文件最大128G,但也要注重文件格式设定的文件大小),建议最大为2G。表空间采用local治理方式,例如:

CREATE TABLESPACETBS_USERINFO

DATAFILE

'/oradata/tbs_userinfo.dbf'

SIZE 8M

REUSE

AUTOEXTEND ON

NEXT 2M

MAXSIZE UNLIMITED

NOLOGGING

EXTENT MANAGEMENT

LOCAL

AUTOALLOCATE

SEGMENT SPACE MANAGEMENT AUTO;

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_。索引名称应是 前缀+表名+构成的主键字段名,在创建表时候用using index指定主键索引属性。

2.1.2.3 唯一所以

前缀为IDX_UK_。索引名称应是 前缀+表名+构成的字段名。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有