我无法运行/etc/init.d/dbora
。
通过终端运行时,它报告以下问题:
外壳
[root @ localhost init.d]#./dbora start正在启动...正在处理数据库 实例“ ORA11G”:日志文件 /ora01/app/oracle/product/11.2.0/db_1/startup.log环境变量 未定义ORACLE_UNQNAME。请将ORACLE_UNQNAME设置为数据库 唯一的名称。
我的用户Linux:oracle
脚本
!/ bin / bash
# versao: 1.0 export TMP=/tmp export ORACLE_HOSTNAME=centos7.dbaora.com export ORACLE_UNQNAME=oracle export ORACLE_BASE=/ora01/app/oracle export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1 export ORACLE_SID=ORA11G export ORACLE_OWNER=oracle PATH=/usr/sbin:$PATH:$ORACLE_HOME/bin export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib; export CLASSPATH=$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib; alias cdob='cd $ORACLE_BASE' alias cdoh='cd $ORACLE_HOME' alias tns='cd $ORACLE_HOME/network/admin' alias envo='env | grep ORACLE' umask 022 start(){ echo "Starting..." su - $ORACLE_OWNER -c "$ORACLE_HOME/bin/dbstart $ORACLE_HOME" su - $ORACLE_OWNER -c "$ORACLE_HOME/bin/emctl start dbconsole" touch /var/lock/subsys/dbora } stop(){ echo "Stopping..." su - $ORACLE_OWNER -c "$ORACLE_HOME/bin/emctl stop dbconsole" su - $ORACLE_OWNER -c "$ORACLE_HOME/bin/dbshut $ORACLE_HOME" rm -f /var/lock/subsys/dbora } restart(){ stop start } usage(){ echo "usage: $0 {start|stop|restart}" } if [ `id -u` -ne 0 ] then echo "Este script deve ser executado como root" exit fi case $1 in 'start') start;; 'stop') stop;; 'restart') restart;; *) usage;; esac
答案 0 :(得分:1)
ORACLE_UNQNAME
是Oracle Enterprise Manager使用的OS环境变量;它支持从一个OEM实例管理多个数据库。
您似乎没有自己设置值,可能是因为您只有一个数据库,所以它已经是唯一的了,对:)不过,您需要给它提供一个不同于oracle
的值:{{1 }}是传统的方法,可以解决问题。在Linux中,您可以像其他任何环境变量一样,使用orcl
在命令行中进行设置,也可以只更改脚本中的值。