安装手册有一段话:Enter commands similar to the following to set the ORACLE_BASE and ORACLE_SID environment variables:
$ ORACLE_BASE=/u01/app/oracle
$ ORACLE_SID=sales
$ export ORACLE_BASE ORACLE_SID其中,对于ORACLE_SID的值,不知道是如何确定的?另外,关于安装目录,手册中有一段话Create directories with names similar to the following,and specify the correct owner,group,and permissions for them:
The Oracle base directory
An optional Oracle data file directory这段话中提到可以建立专门的数据文件目录,可是建立了目录后,怎么设置,才能使数据文件自动到这个目录呢?

解决方案 »

  1.   

    其中,对于ORACLE_SID的值,不知道是如何确定的? 
    如何确定是自己随意写的,想是什么就是什么,不过符合命名标准就可以了。
      

  2.   

    编辑操作系统profile文件,将上输的oracle_home,oracle_sid等写上就行了
    ORACLE_BASE=/oracle
    ORACLE_HOME=$ORACLE_BASE/product/9.2.0
    ORACLE_SID=ora9i
    ORACLE_TERM=xterm
    TNS_ADMIN=$ORACLE_BASE/config/9.2.0
    NLS_LANG=AMERICAN_AMERICA.ZHS16GBK
    ORA_NLS33=$ORACLE_HOME/ocommon/nls/admin/data
    LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib:/usr/openwin/lib
    LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/td/lib:/usr/ucblib:/usr/local/lib#CLASSPATH
    CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib
    CLASSPATH=$CLASSPATH:$ORACLE_HOME/network/jlib#PATH
    PATH=$PATH:/usr/bin:/etc:/usr/sbin:/usr/lbin:/usr/ucb:$HOME/bin:/usr/bin/X11:/sbin
    PATH=$PATH:/bin:/opt/bin:/usr/ccs/bin:/usr/openwin/bin:/opt/local/GNU/bin
    PATH=$PATH:/opt/local/bin:/opt/NSCPnav/bin:$ORACLE_HOME/bin
    PATH=$PATH:/usr/local/samba/bin:/usr/ucb
    DISPLAY=192.168.8.247:0.0export ORACLE_BASE ORACLE_HOME ORACLE_SID ORACLE_TERM TNS_ADMIN NLS_LANG ORA_NLS33 LD_LIBRARY_PATH CLASSPATH PATH DISPLAY
      

  3.   

    我也知道SID是随意写啊,问题是写了会用在哪,影响到哪?是不是安装时不选择建立数据库就不用写SID?也就是说这里设置的SID就是如果安装时建立数据库就会被设置成这个值?
      

  4.   

    默认也是有ORACLE_SID的,不过设了个默认值。好像是ORCL。SID是数据库实例的标识。你在用在多实例的数据库中每个SID都对应一个实例,在ORALCE_BASE/admin/下有各个实例的目录,在ORACLE_BASE/oradata也有各个实例的目录。
      

  5.   

    操作系统环境变量ORACLE_SID用于和操作系统交互,在oracle数据库中,实例的启动需要一个参数文件,而这个参数文件的名称就是由oracle_sid决定的,对于init文件对应的文件名: init<oracle_sid>.ora,对于spfile对应的文名:spfile<oracle_sid>.ora,oracle依据oracle_sid来决定和寻找参数文件启动实例。
      

  6.   

    但是安装时,提前设置SID环境变量是什么意思呢?
    我的意思是,我准备安装oracle,但在安装时才决定是不是要安装实例,实例名称是什么,但为什么却先要设置SID?而且,即使设了,安装过程中,对话框里提示的SID也不是环境变量里这个,而且,对话框里,我依然可以任意填写,那么,这个环境变量ORACLE_SID又有何作用呢?
      

  7.   


    安装可以不选择安装数据库的,只有选择安装数据库才会要你指定SID的,如果是安装数据库系统来说,是不需要设置SID的,一般高级一点的安装这两个步骤是分开的,对于生产来说,安装Oracle的过程时间远远小于规划的时间,对于生产的安装来说,SID的规划是最基本的一步了,存储的规划,备份的规划,这些规划的过程比安装本身的时间是多的多的。
    对话框里提示的SID也不是环境变量里这个,而且,对话框里,我依然可以任意填写,那么,这个环境变量ORACLE_SID又有何作用呢?环境变量里的是要你自己来设置的,有可能出现一几多实例,或者RAC这样的模式,他们的sid的设置和这个还有不同的区别。
      

  8.   

    楼上experience 真多。学习
      

  9.   

    那么我还是没弄明白,安装时如果设置了ORACLE_SID,那这个环境变量会有什么作用,在哪起作用?比如说,我的ORACLE_SID设置成sales,但后面真正安装时,选择同时安装数据库,并指定SID为orcl,这时它们之间会有什么联系?或者是完全没联系,ORACLE_SID完全就没用了?
      

  10.   


    呵呵呵,其实你这个问题不是难,而是不好解释而已,我个人对上面和下面的每个XD的回复的分析,基本上都是尽力向你解释的。不过确实这个SID的东西太基础了,而且本身对sid每个人都有自己的不同认知,所以你没有看到自己期望的答案,这个不要太过于悲伤了,我觉得csdn之所以吸引着一大批的爱好者,学习者上这里来问问题,找答案,就是csdn特别热心,有一堆特别热心帮助他人朋友,虽然没有你的结果,但是帮没有帮到,是一会事,但是积极帮你的一颗热心确实是让人觉得暖烘烘的哟。
      

  11.   


    安装时如果设置了ORACLE_SID,那这个环境变量会有什么作用,在哪起作用? 比如说,我的ORACLE_SID设置成sales,但后面真正安装时,选择同时安装数据库,并指定SID为orcl,这时它们之间会有什么联系?或者是完全没联系,ORACLE_SID完全就没用了?设置ORACLE_SID环境变量,应该和安装是分开的,ORACLE_SID不是安装的环境变量,而是ORACLE系统需要的环境变量,但是也不能像你这样理解ORACLE_SID是没有用了,你可以理解为安装中的一步,但是可以放到安装好实例以后来做。
      

  12.   

    安装时是可以选择不安装数据库,这个我明白,现在考虑的问题是,如果我安装时同选择了安装数据库,并指定它的sid是orcl,或者,我甚至后来,还有安装另一个实例,它的sid是mytest,那么,你的意思是操作系统环境变量的就应该设置成它们中的某一个值,这样,启动的实例也就是ORACLE_SID所指的实例,如果设置成别的,是没有实质意思的,是这个意思吗?
      

  13.   


    是的,是你这样理解的,不过就是最后一句 不是没有实质意思,而且数据库启动会失败,会报找不到init<SID>.ora类似这样的错。这是摘自6楼XD的回复
      

  14.   

    多谢了,能说说这个问题吗?关于安装目录,手册中有一段话 Create directories with names similar to the following,and specify the correct owner,group,and permissions for them: 
    The Oracle base directory 
    An optional Oracle data file directory 这段话中提到可以建立专门的数据文件目录,可是建立了目录后,怎么设置,才能使数据文件自动到这个目录呢?不明白怎样完成这一步"An optional Oracle data file directory"
      

  15.   

    The Oracle base directory 这里提到的就是我们经常说到的ORACLE_BASE 这个是安装路径,这里文档要你先建立这样一个目录用来作为安装目录,同时需要按照文档的要求给他特定的owner group和权限。An optional Oracle data file directory 这里可以理解为如果你需要自己来指定datafile的话,datafile的目录也需要和ORACLE_BASE那样来指定特定的owner group和权限。
      

  16.   

    我就是不知道用什么变量来指定Oracle data file directory啊......
      

  17.   


    这个不是的。ORACLE_SID一样,安装的时候不不需要的。你只需要建立这样的目录,然后选择目录的时候把他选中就可以了,启动的时候是需要这个值的。
      

  18.   

    哦,那就是说建立database是指定到特定目录去就可以?我原来以为可以设个环境变量什么的,以后,只要不明确指定datafile的位置,就默认存那里看来有点失望了
      

  19.   


    不是这样的,datafile和这个路径是没有太多关系的,不过是默认的一些datafile会在Oracle的安装目录的,也可以通过命令移到别的目录下。datafile是需要完全路径的,datafile可以在安装目录之外的。如果是裸设备的话,每个datafile都对应一个单独的裸设备。
      

  20.   

    明白datafile可以人为指定到任何需要的地方去,问题在于,如果没有人为指定时,他会在oracle默认的那个位置,而那不是我想要的位置啊!我原以为可以通过设置某个参数(环境变量),改变默认位置,看来失望了......
      

  21.   

    是啊,默认的位置,datafile和programe在一个目录,在生产环境肯定是不适用的,但是没有办法改变默认位置,我看到手册上说用环境变量指ORACLE_HOME,想当然的以为会有类似的办法来指定datafile的目录啊.......呵呵
      

  22.   


    dbca新建数据库实例其中有一步是可以做你这个的,其中有一步是数据库存储。可以指定其中文件的路径的。