手工创建数据库完整步骤
系统环境
操作系统:Windows 2000 Server 
数据库:Oracle 9i
安装路径:C:\Oracle
1、手工创建相关目录
C:\Oracle\admin\web
C:\Oracle\admin\web\bdump
C:\Oracle\admin\web\udump
C:\Oracle\admin\web\cdump
C:\Oracle\admin\web\pfile
C:\Oracle\admin\web\create
C:\Oracle\oradata\web
C:\Oracle\oradata\web\archive
2、手工创建初始化参数文件c:\oracle\admin\web\pfile\init.ora,内容可以copy别的实例init.ora文件后修改。
3、手工创建initweb.ora文件,内容::ifile= c:\oracle\admin\web\pfile\init.ora
4、使用orapwd.exe命令,创建口令文件pwdweb.ora,命令格式如下:
   orapwd.exe  file=c:\oracle\ora90\database\pwdweb.ora  password=ltjsb  entries=5 
5、通过oradim.exe命令,在服务里生成一个新的实例管理服务,启动方式为手工
set ORACLE_SID=web
C:\oracle\ora90\bin\oradim -new  -sid WEB -startmode m
-pfile C:\oracle\ora90\database\initweb.ora
6、创建数据库,执行createdb.sql脚本命令, 
SQL>sqlplus /nolog
SQL>connect SYS/change_on_install as SYSDBA
SQL>@Createdb.sql
Createdb.sql脚本内容如下:
set echo on
spool C:\oracle\admin\mydb\create\CreateDB.log
startup nomount pfile="C:\oracle\admin\web\pfile\init.ora";
CREATE DATABASE web
MAXINSTANCES 1
MAXLOGHISTORY 1
MAXLOGFILES 5
MAXLOGMEMBERS 5
MAXDATAFILES 100
DATAFILE 'C:\oracle\oradata\web\system01.dbf' SIZE 325M REUSE AUTOEXTEND ON NEXT  10240K MAXSIZE UNLIMITED
UNDO TABLESPACE "UNDOTBS" DATAFILE 'C:\oracle\oradata\web\undotbs01.dbf' SIZE 200M REUSE AUTOEXTEND ON NEXT  5120K MAXSIZE UNLIMITED
CHARACTER SET ZHS16GBK
NATIONAL CHARACTER SET AL16UTF16
LOGFILE GROUP 1 ('C:\oracle\oradata\web\redo01.log') SIZE 100M,
GROUP 2 ('C:\oracle\oradata\web\redo02.log') SIZE 100M,
GROUP 3 ('C:\oracle\oradata\web\redo03.log') SIZE 100M;
spool off
exit;
注:创建数据库时,执行sql.bsqj脚本命令,此脚本命令创建如下内容:
   创建控制文件和联机日志文件
   创建数据库系统表空system
   在system表空间上创建system系统回滚段
   创建sys和system账号
   创建基表和簇
   创建数据字典表、索引和序列
   创建相关角色权限
7、创建数据库数据文件,执行脚本createfiles.sql
SQL>sqlplus /nolog
SQL> connect SYS/change_on_install as SYSDBA
SQL>@createfiles.sql
Createfiles.sql脚本内容如下:
set echo on
spool C:\oracle\admin\mydb\create\CreateDBFiles.log
CREATE TABLESPACE "INDX" LOGGING DATAFILE 'C:\oracle\oradata\web\indx01.dbf' SIZE 25M REUSE AUTOEXTEND ON NEXT  1280K MAXSIZE UNLIMITED EXTENT MANAGEMENT LOCAL;
CREATE TEMPORARY TABLESPACE "TEMP" TEMPFILE 'C:\oracle\oradata\web\temp01.dbf' SIZE 40M REUSE AUTOEXTEND ON NEXT  640K MAXSIZE UNLIMITED EXTENT MANAGEMENT LOCAL;
ALTER DATABASE DEFAULT TEMPORARY TABLESPACE "TEMP";
CREATE TABLESPACE "TOOLS" LOGGING DATAFILE 'C:\oracle\oradata\web\tools01.dbf' SIZE 10M REUSE AUTOEXTEND ON NEXT  320K MAXSIZE UNLIMITED EXTENT MANAGEMENT LOCAL;
CREATE TABLESPACE "USERS" LOGGING DATAFILE 'C:\oracle\oradata\web\users01.dbf' SIZE 25M REUSE AUTOEXTEND ON NEXT  1280K MAXSIZE UNLIMITED EXTENT MANAGEMENT LOCAL;
CREATE UNDO TABLESPACE "UNDOTBS" DATAFILE 'C:\oracle\oradata\web\undotbs01.dbf' SIZE 200M REUSE AUTOEXTEND ON NEXT  5120K;
spool off
exit;
8、创建数据字典,运行createdbcatalog.sql脚本命令
SQL>sqlplus /nolog
SQL> connect SYS/change_on_install as SYSDBA
SQL>@createdbcatalog.sql
Createdbcatalog.sql脚本内容如下:set echo on
spool C:\oracle\admin\mydb\create\CreateDBCatalog.log
@C:\oracle\ora90\rdbms\admin\catalog.sql;
@C:\oracle\ora90\rdbms\admin\catexp7.sql;
@C:\oracle\ora90\rdbms\admin\catblock.sql;
@C:\oracle\ora90\rdbms\admin\catproc.sql;
@C:\oracle\ora90\rdbms\admin\catoctk.sql;
@C:\oracle\ora90\rdbms\admin\catobtk.sql;
@C:\oracle\ora90\rdbms\admin\caths.sql;
@C:\oracle\ora90\rdbms\admin\owminst.plb;
connect SYSTEM/manager
@C:\oracle\ora90\sqlplus\admin\pupbld.sql;
connect SYSTEM/manager
set echo on
spool C:\oracle\ora90\assistants\dbca\logs\sqlPlusHelp.log
@C:\oracle\ora90\sqlplus\admin\help\hlpbld.sql helpus.sql;
spool off
spool off
exit;
9、完善数据库,创建spfile文件,将数据库实例启动服务设置成自动启动方式。
SQL>sqlplus /nolog
SQL> connect SYS/change_on_install as SYSDBA
SQL> @postdbcreation.sql
Postdbcreation.sql脚本内容如下:
set echo on
spool C:\oracle\admin\web\create\postDBCreation.log
create spfile='C:\oracle\ora90\database\spfileweb.ora' FROM pfile='C:\oracle\admin\web\init.ora';
connect SYS/change_on_install as SYSDBA
set echo on
spool C:\oracle\ora90\assistants\dbca\logs\postDBCreation.log
shutdown ;
startup ;
注:以上都设置PATH环境变量,将bin目录加入到PATH中以便于使用工具GMGRLl,sqlplus等。