环境:
操作系统: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%.ora del %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
第十八步: 完毕!
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/12466812/viewspace-1080/ ,如需转载,请注明出处,否则将追究法律责任。