创建数据库之手动创建数据库
一、手动建库的过程
       手动建库一直是oracle里面的一个重点,也是作为一个资深DBA所必须

掌握的,手动建库的前提要对数据库的参数相当熟悉,相对于用DBCA创建

数据库,手动建库DBA能根据生产环境的要求创建一个最适合要求的数据库


       1.为例程和数据库选择唯一的名称。
       2.选择一个数据库字符集
       3.设置操作系统变量
            需要设置四个环境变量
                 ORACLE_HOME:安装Oracle服务器的顶级目录
                 ORACLE_SID:可由用户定义的,分配给数据库例程的名称。用

于区分在同一台机器上的不同数据库例程。
                 PATH:定义操作系统查找可执行程序时要搜索的目录
                 LD_LIBRARY_PATH:定义所需的库文件的存储目录
       4.创建初始化参数文件
       5.在Nomount阶段启动该例程
       6.创建并执行create database命令
       7.打开数据库
       8.运行脚本以生成数据字典并完成创建后的步骤
            创建数据库后必须运行两个脚本:catalog.sql和catproc.sql。这两

个脚本都必须以具有SYSDBA权限的用户SYS身份运行,执行脚本前,数据

库必须处于open状态。
       9.根据需要创建其他表空间 
二、创建数据库使用的SQL命令
        CREAT DATABASE 【database(创建的数据库名称)】
           【CONTROLFILE REUSE】(指定应重新使用参数文件中确定的现

有控制文件)
             LOGFILE【GROUP integerl】 filespec(指定要使用的日志文件

的名称及其所属的组)
             [MAXLOGFILES integer](指定可以为数据库创建的重做日志文件

组的最大数量)
             [MAXLOGMEMBERS integer](指定日志文件组的日志文件成员

的最大数量)
             [MAXLOGHISTORY integer](指定Oracle Real Application

Clusters 的自动介质恢复能够恢复的归档重做日志的最大数量)
             [MAXDATAFILES integer](指定在执行CREATE DATABASE或

CREATE CONTROLFILE时控制文件的数据文件段的初始大小调整。如果尝

试添加新文件(其数量大于MAXDATAFILES,但小于或等于DB_FILES ),

将引起控制文件自动扩展,以便数据文件段能够容纳更多的文件。)
             [MAXINSTANCES integer](是能够同时装载和打开数据库的例程

的最大数量)
             [ARCHIVELOG|NOARCHIVELOG](指定重新使用重做日志前必须

/不必归档)
             [CHARACTER SET charset](是数据库用来存储数据的字符集)
             [NATIONAL CHARACTER SET charset](指定在定义为NCHAR

、NCLOB或NVARCHAR2 的列中存储数据时所使用的国家字符集。如果未

指定,则国家字符集与数据库字符集相同)
             [DATAFILE filespec [autoextend_clause]  (指定要使用的数据文

件)   
             filespec :== 'filename' [SIZE integer][K|M] [REUSE]
             autoextend_clause :==
             [AUTOEXTEND {OFF|ON [NEXT integer[K|M]](启用或禁用数据

文件的自动扩展)
             [MAXSIZE {UNLIMITED|integer[K|M]} }]
             [DEFAULT TEMPORARY TABLESPACE tablespace filespec(为

数据库创建缺省临时表空间。Oracle  会将所有未指定其它临时表空间的用

户都分配到此临时表空间)
             [temp_tablespace_extent_clause]
             temp_tablespace_extent_clause:==
             EXTENT MANAGEMENT LOCAL UNIFORM [SIZE integer][K|

M] ]
             [UNDO TABLESPACE tablespace DATAFILE filespec(创建还原

表空间,并创建指定的数据文件,作为还原表空间的一部分)
             [autoextend_clause] ]
             [SET TIME_ZONE [time_zone_region]](设置数据库所在的时区