我想写一个建库通用脚本,只要修改环境变量里的路径,就可以建立数据库,不知那位大侠有,可否共享一下?若没有,请大家来看看这个问题:
createdb.bat脚本如下:
set ORACLE_SID=sldb
set DATAPATH=C:\orant\database
...
svrmgr30 @createdb.sql:
...createdb.sql脚本如下:
...
CREATE DATABASE sldb
LOGFILE 
'C:\orant\database\logsldb1.ora' SIZE 1024K,
'C:\orant\database\logsldb2.ora' SIZE 1024K
MAXLOGFILES 32 
MAXLOGMEMBERS 2
MAXLOGHISTORY 1
DATAFILE 
'C:\orant\database\Sys1sldb.ora' SIZE 50M
MAXDATAFILES 254
MAXINSTANCES 1
CHARACTER SET ZHS16GBK
NATIONAL CHARACTER SET ZHS16GBK;
...
在这个脚本里,我怎样把引号里的C:\orant\database\logsldb1.ora用环境变量替换?
所有问题都解决了,就差这个一,请朋友指点,或告诉我哪有这些资料?

解决方案 »

  1.   

    我也没有试过使用动态语句是否可以实现CREATE DATABASE你试下
    declare
    str varchar2(500);
    begin 
    str:='CREATE DATABASE sldb LOGFILE '||xx'||'MAXLOGFILES 32 
    MAXLOGMEMBERS 2
    MAXLOGHISTORY 1
    DATAFILE'.....;execute immediate str;
    end; 做一个过程传一个STR(C:\orant\database\logsldb1.ora)进去
      

  2.   

    To 楼主 & LGQDUCKY(飘):
    你们的想法是不错,但是我觉得手工建立数据库不怎么好.
      

  3.   

    可以在dbca写的脚步基础上修改。我的环境win2k+ora9i,数据库sid=ets。在建立数据库过程中可以搜索,ets.bat文件(如果没有记错是在oracle_home下)。并将其引用文件一起提出后,修改引用路径就可以了。
    以后要建立数据库就可以在它基础上修改了
      

  4.   

    支持楼主。
    以前建立数据库,都是脚本建立的。
    我记的当时有最大建库脚本,还有最小化建库脚本
    可现在都不在身边,我记的跟楼主说的一样
    oracle817for nt