环境:
操作系统:Window2003 Standard Edition
数据库:Oracle9i,版本9.2.0.6.0
下表给出利用批处理创建Oracle数据库所需的文件列表
序号
文件名
说明
1
build_db.cmd
创建数据库的起始文件
2
setenv.cmd
设置Oracle环境变量
3
checkenv.cmd
检查Oracle环境变量
4
LogMsg.cmd
输出日志信息
5
setenv.sql
运行build_db.cmd过程中生成的一个文件,用于记录设置的环境变量,该文件将由build_db.sql调用
6
setdbsize.sql
设置数据库数据文件的大小,由build_db.sql调用
7
finderrors.cmd
查找错误
8
finderrors2.vbs
查找错误脚本
9
build_db.sql
创建数据库的表空间和对应的数据文件
10
build_db2.sql
创建数据字典表和视图
11
init.ora
初始化参数文件
12
customdir.vbs
如果不把数据文件放在多个disk上,不需要关心这个文件
13
testconn.sql
测试连接
将以上文件做好后,把以上的文件全部放在KING_DB目录下,然后在DOS界面下把目录更改到KING_DB>,然后运行build_db.cmd,就会自动创建数据库
即:
KING_DB>build_db
下面对批处理运行的过程进行说明:
第一步:DOS下清屏
cls
第二步:设置日志文件
set LOGFILE=King.trc
第三步:设置环境变量
调用setenv.cmd设置Oracle环境变量
call setenv
第四步:检查设置的Oracle环境变量
调用checkenv.cmd检查刚才设置的Oracle环境变量,并带一个参数0
call checkenv 0
第五步:检查%KING_DB%目录是否存在
第六步:创建目录
1.检查%ORA_BASE%\admin\%ORACLE_SID%目录是否存在,如果存在说明同名的数据库已经存在,需要把这个文件夹删除;
2.检查%ORA_BASE%\oradata\%ORACLE_SID%目录是否存在,如果存在说明同名的数据库已经存在,需要把这个文件夹删除;
3.创建以下目录
mkdir %ORA_BASE%\admin\%ORACLE_SID%\bdump
mkdir %ORA_BASE%\admin\%ORACLE_SID%\cdump
mkdir %ORA_BASE%\admin\%ORACLE_SID%\create
mkdir %ORA_BASE%\admin\%ORACLE_SID%\pfile
mkdir %ORA_BASE%\admin\%ORACLE_SID%\udump
mkdir %ORA_BASE%\oradata\%ORACLE_SID%
第七步:如果存在同名的密码文件和spfile文件,则首先进行删除
if exist %ORA_HOME%\database\pwd%ORACLE_SID%.oradel %ORA_HOME%\database\pwd%ORACLE_SID%.ora
if exist %ORA_HOME%\database\spfile%ORACLE_SID%.ora del %ORA_HOME%\database\spfile%ORACLE_SID%.ora
第八步:将开始准备好的init.ora文件复制到pfile文件夹下
copy %KING_DB%\init.ora %ORA_BASE%\admin\%ORACLE_SID%\pfile
第九步:向%ORA_BASE%\admin\%ORACLE_SID%\pfile\init.ora文件中追加一些初始化变量
echo db_name=%ORACLE_SID%>> %ORA_BASE%\admin\%ORACLE_SID%\pfile\init.ora
echo instance_name=%ORACLE_SID%>> %ORA_BASE%\admin\%ORACLE_SID%\pfile\init.ora
echo background_dump_dest=%ORA_BASE%\admin\%ORACLE_SID%\bdump >> %ORA_BASE%\admin\%ORACLE_SID%\pfile\init.ora
echo core_dump_dest=%ORA_BASE%\admin\%ORACLE_SID%\cdump>> %ORA_BASE%\admin\%ORACLE_SID%\pfile\init.ora
echo user_dump_dest=%ORA_BASE%\admin\%ORACLE_SID%\udump>> %ORA_BASE%\admin\%ORACLE_SID%\pfile\init.ora
echo %CONTROL_FILES%>> %ORA_BASE%\admin\%ORACLE_SID%\pfile\init.ora
第十步:根据在setenv.cmd中设置的环境变量生成一个setenv.sql文件
echo define ORA_BASE=%ORA_BASE%>%KING_DB%\setenv.sql
echo define ORA_HOME=%ORA_HOME%>> %KING_DB%\setenv.sql
echo define ORACLE_SID=%ORACLE_SID%>> %KING_DB%\setenv.sql
echo define KING_DB=%KING_DB%>> %KING_DB%\setenv.sql
第十一步:在%ORA_HOME%\database\目录下生成一个指向初始化参数文件(%ORA_BASE%\ADMIN\%ORACLE_SID%\PFILE\INIT.ORA)文件的文件
echo IFILE='%ORA_BASE%\ADMIN\%ORACLE_SID%\PFILE\INIT.ORA' > %ORA_HOME%\database\init%ORACLE_SID%.ora
第十二步:创建后台服务和密码文件
%ORA_HOME%\bin\oradim.exe -new -sid %ORACLE_SID% -startmode m -intpwd change_on_install
第十三步:检查该目录下是否存在setenv.sql和setdbsize.sql两个文件,如果不存在则提示缺少文件,如果存在则下面开始创建数据库
第十四步:登陆sqlplus调用运行创建数据库的sql脚本文件build_db.sql,该脚本用于创建数据库的表空间和对应的数据文件
%ORA_HOME%\bin\sqlplus /nolog @%KING_DB%\BUILD_DB.sql
第十五步:调用运行创建数据库的sql脚本文件build_db2.sql,该脚本用于创建数据库的数据字典表和视图
%ORA_HOME%\bin\sqlplus /nolog @%KING_DB%\BUILD_DB2.sql
第十六步:启动后台服务并更改后台服务的启动模式为自动启动
%ORA_HOME%\bin\oradim.exe -edit -sid %ORACLE_SID% -startmode a
第十七步:测试连接
sqlplus -s /nolog @testconn system/manager
第十八步:完毕!