1.1 创建数据库的前提条件

要创建Oracle数据库,首先要获得SYSDBA系统权限,在讲系统权限时我们提到了SYSDBA用户,其实它是一个角色,是一些高级权限的集合,如创建数据库、关闭数据库等。

其次是确定内存大小是否满足Oracle数据库实例SGA的要求,实例的启动涉及一些进程的运行和数据库内存的分配,如果内存不足会造成虚拟内存的使用,更严重的是内存不足会导致一些进程无法顺利运行,以至于根本无法启动数据库。

最后就是根据业务需求对磁盘空间需求做出评估,如对数据文件、控制文件和重做日志文件的大小进行评估与磁盘分配。

然后对数据库各种文件进行部署规划,其中对于存在竞争的数据文件要放在不同的磁盘上,以免I/O竞争(操作系统的I/O是耗时较长的行为),如重做日志文件和归档日志文件就不应该放在一个磁盘上。而对于控制文件要进行多路复用,Oracle要求将多个(一般是三个,也是默认值)控制文件部署在不同的磁盘设备上,在数据库结构发生变化后,如创建了表空间,要及时备份控制文件,对于重做日志文件同样需要多路复用,每个重做日志组中至少两个数据成员,而这些日志组成员最好分布在不同的磁盘上,以减少磁盘损坏造成重做日志都无法使用的情况。

对于数据文件,要求其命名要易于维护。为了最小化磁盘碎片,把具有不同声明周期(指被创建和回收之间的时间间隔)的数据库对象放在不同的磁盘上,如临时数据文件和临时表空间的文件(临时表空间用来排序),为减少I/O竞争将具有磁盘I/O竞争的数据库对象放在不同的表空间,如一个大表和基于该表的索引要分开放置,而且这些表空间的数据文件要放在不同的磁盘上。