创建数据库时的准则
本文介绍了创建数据库是需要注意的基本准则,对于刚刚入门的DBA是非常有帮助的,我就是刚刚入门的DBA,呵呵,在专职DBA的协助下,管理了几个数据库。暂时还不用自己建库,不过过一段时间开始估计就需要自己动手维护了。OK下面开始:
1、数据库的安装介绍
1、使用DCBA
并不是新手才会使用到DCBA,它可以创建数据库、产生创建脚本(修改为手工创建)、10g还可以创建RAC和ASM。
2、先决条件
* 服务器内存的合理分配
* 数据库实例的配置及其随后的启动
* 与数据库相关的目录结构创建
3、使用create database命令
2、Create Database命令
01、创建时sys、system密码子句可以设置sys、system的密码
02、controlfile reuse子句可重用已存在的控制文件
(可以防止意外执行create database,默认是不重用)
03、logfile参数可以定义联机重做日志组和名称
04、小心设置maxlogfiles、maxlogmembers、maxloghistory、maxdatafiles、maxinstances参数值
(除RAC外基本都用默认值,完成后重新创建控制文件来更改这些参数,除maxdatafiles)
05、archivelog和noarchivelog来设置数据库归档模式
06、force logging参数,可以禁止任何nologging操作
07、character set参数设置数据库字符集
08、national character set可以为数据库提供国际语言支持
09、datafile子句可以为SYSTEM表空间定义数据文件
10、extent management local子句可以将SYSTEM表空间定义为本地管理表空间
11、default_temp_tablespace子句可以定义数据库默认临时表空间
12、set_time_zone子句可设置数据库当前时区
13、(10g)set default子句用来定义默认表空间类型是否大文件表空间
14、(10g)sysaux datafile子句来定义与SYSAUX表空间相关联的数据文件和表空间
15、(10g)default tablespace子句创建表空间,作为所有用户的默认表空间
3、Oracle默认的设置
01、创建SYSTEM表空间,虽然配置了OMF参数可以自动创建SYSTEM,但最好还是定义SYSTEM表空间的位置
02、一般默认用户表空间都是SYSTEM,除非设置了default_tablespace
03、如果SYSTEM表空间在本地进行管理,且不通过Oracle管理文件创建,则必须定义默认临时表空间。
04、使用自动段空间管理,将SUSAUX表空间作为本地管理表空间来创建
05、可以手动定义联机重做日志的名称和位置。默认创建两个重做日志组。
06、创建两个用户:SYS和SYSTEM(10g中必须定义初始密码)
07、最多可以给数据库分配8个字符长的名称,若不在create database语句中,则是同db_name参数值
08、若undo_management的值为auto,且使用Oracle管理文件,则默认创建SYS_UNDOTBS撤销表空间
(可以用undo_tablespace手动设置,无论哪种,都会在SYSTEM表空间创建SYSTEM回滚段)
09、表空间都默认为小文件表空间。一个小文件表空间可以由1022个数据文件组成,每个数据文件最多包含400万个数据库块。
(大文件仅由一个数据文件组成,最多包含4G和数据库块)
10、当服务器上使用时区是有效时区时,则数据库时区自动设置为该时区,否则设为UTC
4、需要注意的安全问题:
1、创建完数据库后,确保对SYS、SYSTEM密码的修改,或在创建时直接指定密码
2、禁止任何不使用的账户
3、如果需要重新创建数据库来替换已有的数据库,则应该将remote_login_passwordfile参数设置为exclusive
4、创建密码文件,且当ORACLE_HOME改变时,为新的ORACLE_HOME移动或重新创建密码文件
5、可以遵循的准则:
1、不要创建太多的数据库,而是尽量将数据都放入一个数据库。
2、数据库名称推荐用小写,5个字符标准命名,前4个指出相关工程,最后一个指出类型(dev/prod/tst)
3、联机重做日志大小要大概保持每15分钟切换一次
4、遵循灵活体系结构(OFA),使用Oracle推荐文件目录及位置
5、最初的数据库最好使用DBCA创建,然后通过修改脚本后,手动执行创建
6、为SGA分配足够的内存空间
7、对新特性和新功能谨慎使用