创建数据库之手动创建数据库
一、手动建库的过程
手动建库一直是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]](设置数据库所在的时区
)