创建Oracle 数据库

1. 创建数据库的 3种 方法
   DBCA
   Create Database SQL Statement
   Upgrade from a existed database


本文介绍手动创建Oracle数据库, 即使用CREATE DATABASE STATEMENT

2. 创建之前要考虑的内容
(1) 检查创建Oracle10g 数据库需要的软硬件要求?
(2) 数据库的一些属性

  • 数据库空间大小
  • 数据库文件在操作系统上的分布, 考虑使用OMF和ASM
  • 数据库名 SID
  • 初始化参数和服务器参数
  • 字符集
  • 时区
  • DB_BLOCK_SIZE
  • 初始SYSAUX 表空间大小, ?SYSAUX存放什么?
  • undo 表空间
  • 备份和恢复策略


3. 开始创建
(1) SID
设置环境变量ORACLE_SID=ocpmon
$setenv ORACLE_SID mynewdb

$ORACLE_SID=mynewdb

(2) 建立用户验证方法
操作系统验证或密码文件验证, 见我的另一个文章 http://blog.csdn.net/lxfjsks/archive/2010/11/21/6024746.aspx

(3) 创建初始参数文件
当启动数据库实例时会读取初始参数文件. 初始参数文件可以是text文件,也可以是二进制文件, 二进制的参数文件也叫做服务器参数文件.服务器参数文件使用户可以通过ALTER TABLE修改

OUI安装Oracle的时候也创建了一个密码文件的sample, 在$ORACLE_GOME/dbs/init.ora
用STARTUP启动数据库时可以 用pfile选项指定初始参数文件. 关于初始化参数文件见我的另一个文章

(4) 以SYSDBA权限登录
$SQLPLUS /nolog
SQL>CONNECT /AS SYSDBA

(5) 创建服务器参数文件 (推荐)
Oracle Instance在启动时会先查找服务器参数文件, 如果Server parameter文件不存在, 则查找初始化参数文本文件。
有了服务器参数文件,我们就可以通过SQL命令修改初始参数, 有个需要(重启数据库生效)。

创建脚本


(6)启动数据库
SQL>STARTUP NOMOUNT
用NOMOUNT启动数据库, 此时SGA和后台进程都有了, 但是没有挂载数据库。

(7) 用Create database创建数据库
脚本如下


一些解释:
a. 密码保护
USER SYS IDENTIFIED BY pz6r58
USER SYSTEM IDENTIFIED BY y1tz5p
这两条指定SYS/SYSTEM的密码, 如果不指定, 默认密码分别为change_on_install和 manager. 也可以在数据库创建后用ALTER USER命令修改密码.

b. LOGFILE
创建redo log文件, 这里有3个.
MAXLOGFILES, MAXLOGMEMBERS, MAXLOGHISTORY定义了Log 的限制.

c. MAXDATAFILES 指定这个数据库实例可以打开的最多的datafiles个数
d. MAXINSTANCES 可以mount这个数据库的instance数, 这里指定只有一个数据库可以mount这个数据库
e. CHARACTER SET/NATIONAL CHARACTER SET 指定存放在数据库中的字符集
f.  DATAFILE指定SYSTEM 表空间的datafile
g. EXTENT MANAGEMENT LOCAL 表示SYSTEM表空间是本地管理的. 本地表空间需要设置初始化参数COMPATIBLE=9.2 或更大. 如果不指定EXTENT MANAGEMENT LOCAL, 系统默认创建数据字典管理的表空间, 数据字典管理的表空间已经不再使用.
本地管理的表空间: 系统管理和控制 extent 大小

h. 创建SYSAUX表空间
i.  DEFAULT TABLESPACE  创建和命名默认表空间
j.  DEFAULT TEMPORARY TABLESPACE/TEMPFILE 创建临时表空间
k. UNDO TABLESPACE/DATAFILE 创建undo表空间
d. Using Automatic Undo Management: Creating an Undo Tablespace

(8) 创建额外的表空间
脚本如下
CONNECT SYS/password AS SYSDBA
-- create a user tablespace to be assigned as the default tablespace for users
CREATE TABLESPACE users LOGGING
DATAFILE '/u01/oracle/oradata/mynewdb/users01.dbf'
SIZE 25M REUSE AUTOEXTEND ON NEXT 1280K MAXSIZE UNLIMITED
EXTENT MANAGEMENT LOCAL;
-- create a tablespace for indexes, separate from user tablespace
CREATE TABLESPACE indx LOGGING
DATAFILE '/u01/oracle/oradata/mynewdb/indx01.dbf'
SIZE 25M REUSE AUTOEXTEND ON NEXT 1280K MAXSIZE UNLIMITED
EXTENT MANAGEMENT LOCAL;

(9) 建立数据字典视图
CONNECT SYS/password AS SYSDBA
@/u01/oracle/rdbms/admin/catalog.sql
@/u01/oracle/rdbms/admin/catproc.sql
EXIT

(10) 安装其他选项
请参看Oracle Database Reference.

(11) 适时备份


如果数据库创建失败, 可以查看alert log

删除数据库

SQL>DROP DATABASE
Dropping a database involves removing its datafiles, redo log files, control files, and
initialization parameter files.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值