Oracle除自带的DBCA可以创建数据库以为,还有另外一种创建方法,就是手动创建数据库,也是作为DBA人员必须要掌握的。下面就介绍一下手动创建数据库的步骤:
手动创建数据库通常包含如下操作步骤:
1、确定新建数据库名称和实例名称;
2、确定数据库管理员的认证方式;
3、创建初始化参数文件;
4、创建实例;
5、连接并启动实例;
6、使用create database语句创建数据库;
7、创建附加的表空间;
8、运行脚本创建数据字典视图;
下面以创建一个名为“MYNEWDB”的数据库为例
1、确定数据库名称与实例名称;
DB_NAME=MYNEWDB
SID=MYNEWDB
2、确定数据库管理员的认证方式;
管理员的认证方式包括操作系统认证和口令认证两种,本例采用操作系统认证
3、创建初始化参数文件;
Oracle提供的初始化参数样本文件位于$ORACLE_HOME/admin/sample/pfile目录中的initsmpl.ora
我们采用修改样本的方式,创建参数文件名为:initMYNEWDB.ora,存放在D:/oracle/ora92
/database/initMYNEWDB.ora,主要内容设置如下:
#共享服务器设置
dispatchers="(PROTOCOL=TCP)(SERVICE=MYNEWDBXDB)
#数据库实例名设置
instance=MYNEWDB
#安全与审计设置
remote_login_passwordfile=EXCLUSIVE
#排序区大小设置
pga_aggregate_target=25165824
sort_area_size=524288
#全局数据库名设置
db_domain=""
db_name=MYNEWDB
#控制文件设置
control_files=("D:/oracle/oradata/MYNEWDB/CONTROL01.CTL",
"D:/oracle/oradata/MYNEWDB/CONTROL02.CTL",
"D:/oracle/oradata/MYNEWDB/CONTROL03.CTL")
#SGA区设置
java_pool_size =33554432
large_pool_size=8388608
shared_pool_size=50331648
#游标与库缓存设置
open_cursors=300
#回退段和撤销表空间设置
undo_management=AUTO
undo_retention=10800
undo_tablespace=undotbs
#诊断与跟踪信息设置
background_dump_dest=D:/oracle/admin/MYNEWDB/bdump
core_dump_dest=D:/oracle/admin/MYNEWDB/cdump
timed_statistics=TRUE
user_dump_dest=D:/oracle/admin/MYNEWDB/udump
#用户进程设置
processes=150
#缓冲区与数据库大小设置
db_block_size=8192
db_cache_size=25165824
db_file_multiblock_read_count=16
4、创建实例
选择“程序-->运行”,输入“cmd”命令,打开DOS界面
(1)将环境变量ORACLE_SID设置为“MYNEWDB”
C:/SET ORACLE_SID=MYNEWDB
(2)利用ORADIM命令创建MYNEWDB数据库
C:/ORADMIN -NEW -SID MYNEWDB -INTPWD MYNEWDB -STARTMODE MANUAL -PFILE D:/oracle/ora92
/database
注意:ORADMIN是Oracle提供的一个对实例进行管理的工具,可以创建、修改、删除、启动和关闭一个
实例,执行C:/ORADMIN HELP命令可以查看该命令的使用情况
5、连接并启动实例
C:/sqlplus /nolog
SQL>connect sys/mynewdb as sysdba;
SQL>startup nomount;
6、使用create database 语句创建数据库
SQL>CREATE DATABASE MYNEWDB
MAXINSTANCES 1
MAXLOGHISTORY 1
MAXLOGFILES 5
MAXLOGMEMBERS 5
MAXDATAFILES 100
DATAFILE 'D:/oracle/oradata/mynewdb/system.dbf' size 50M
UNDO TABLESPACE undotbs DATAFILE 'D:/oracle/oradata/mynewdb/undotbs.dbf' size 50M
AUTOEXTEND ON NEXT 5120K MAXSIZE UNLIMITED
DEFAULT TEMPORARY TABLESPACE tempts
CHARACTER SET US7ASCII
NATIONAL CHARACTER SET AL16UTF16
LOGFILE GROUP 1 ('D:/oracle/oradata/mynewdb/redo01.log') size 100M,
GROUP 2 ('D:/oracle/oradata/mynewdb/redo02.log') size 100M,
GROUP 3 ('D:/oracle/oradata/mynewdb/redo03.log') size 100M;
在执行create database 语句的同时,自动执行$ORACLE_HOME/rdbms/admin/sql.bsq脚本,创建SYSTEM