数据库

位置:IT落伍者 >> 数据库 >> 浏览文章

Oracle 9i 数据库设计指引全集(1)


发布日期:2024年05月24日
 
Oracle 9i 数据库设计指引全集(1)

数据库物理设计原则

数据库环境配置原则

操作系统环境

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

内存要求

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

交换区设计

当物理内存在G以下的情况下交换分区swap为物理内存的当物理内存>G的情况下swap大小为物理内存的

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

数据库设计原则

数据库SID

数据库SID是唯一标志数据库的符号命名长度不能超过个字符对于单节点数据库以字符开头的个长度以内字串作为SID的命名对于集群数据库当命名SID后各节点SID自动命名为SIDnn其中nn为节点号例如racracrac

数据库全局名

//jpg>

数据库全局名称

domain

数据库类型选择

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

//jpg>

数据库连接类型选择

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

//jpg>

数据库SGA配置

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

//jpg>

数据库字符集选择

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

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

SQL> shutdown immediate;

SQL> startup mount;

SQL> alter system enable restricted session;

SQL> alter system set job_queue_processes=;

SQL> alter database open;

SQL> alter database character set internal_use weisop;

SQL> shutdown immediate;

SQL> startup

数据库其他参数配置

DB_FILES

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

DB_FILES = FILES *

Db_block_size

一个extent要是个blocks的倍数为好一个blocks是字节那一个extent就是MM或M为好Db_block_size是数据库最小物理单元一旦数据库创建完成该参数无法修改db_block_size按以下规则调整

数据仓库类型 db_block_size尽可能大采用

OLTP类型 db_block_size 用比较小的取值范围

Blocks推荐是系统操作的块倍数(裸设备块大小是字节NTFS是 K使用K的方式在大部分系统上通用)

数据库控制文件配置

控制文件镜象

多个控制文件存放在不同的物理位置

控制文件配置

控制文件中参数设置最大的数据文件数量不能小于数据库参数db_files

数据库日志文件配置

日志文件大小

日志文件的大小由数据库事务处理量决定在设计过程中确保每分钟切换一个日志文件所以对于批处理系统日志文件大小为几百M 到几G的大小对于OLTP系统日志文件大小为几百M以内

日志文件组数量

对于批处理系统日志文件组为对于OLTP系统日志文件组为 每组日志大小保持一致对于集群数据库系统每节点有各自独立的日志组

日志成员数量

为了确保日志能够镜象作用每日志组的成员为

数据库回滚段配置

在Oraclei数据库中设计Undo表空间取代以前版本的回滚段表空间

Undo 表空间大小的设计规范由以下公式计算

Undospace = UR * UPS *db_block_size+ 冗余量

UR 表示在undo中保持的最长时间数(秒)由数据库参数UNDO_RETENTION值决定

UPS表示在undo中每秒产生的数据库块数量

例如在数据库中保留小时的回退数据假定每小时产生个数据库块则Undospace = * * * K = G

数据库临时段表空间配置

数据库临时段表空间根据实际生产环境情况调整其大小表空间属性为自动扩展

数据库系统表空间配置

系统表空间大小G左右除了存放数据库数据字典的数据外其他数据不得存储在系统表空间

数据库表空间设计原则

表空间大小定义原则

当表空间 大小小于操作系统对最大文件限制时表空间由一个文件组成如果表空间大小大于操作系统对最大文件限制时该表空间由多个数据文件组成表空间的总大小为估算为

Tablespace + sum (数据段+索引段)*%

表空间扩展性设计原则

上一篇:Oracle外键的相关约束中级联删除的方案

下一篇:详细讲解Oracle数据库运行错误的解决方法