炽翼铁冰's Blog

Trying to become a programmer

linux下oracle数据启动过程命令

 

1. 启动Oracle10g 数据库sqlplus
$ sqlplus "scott/tiger as sysdba"
将出现如下连接数据库信息:
SQL*Plus: Release 10.1.0.2.0 - Production on 星期三 3月 24 16:23:27 2004
Copyright (c) 1982, 2004, Oracle. All rights reserved.
连接到:
Oracle Database 10g Enterprise Edition Release 10.1.0.2.0 - Production
With the Partitioning, OLAP and Data Mining options
SQL>
表明登录数据库系统成功,运行startup命令启动数据库。
SQL> startup
ORACLE instance started.
Total System Global Area 336356520 bytes
Fixed Size 279720 bytes
Variable Size 268435456 bytes
Database Buffers 67108864 bytes
Redo Buffers 532480 bytes
Database mounted.
Database opened.
SQL>
表示数据库正常启动。
2. 关闭Oracle10g 数据库
$ sqlplus "scott/tiger as sysdba" //以sysdba用户登录数据库
成功登录数据库系统后,运行shudown命令关闭数据库。
SQL> shutdown
3. 启动Oracle10g监听程序
Oracle的监听程序主要是为客户端的连接提供接口,在控制台窗口键入如下命令:
$ lsnrctl
将出现如下监听程序信息:
LSNRCTL for 32-bit Windows: Version 10.1.0.2.0 - Production on 24-3月 -2004 16
:59:51
Copyright (c) 1991, 2004, Oracle. All rights reserved.
欢迎来到LSNRCTL, 请键入"help"以获得信息。
LSNRCTL>
表明登录监听程序控制台成功,运行start命令启动监听程序。
LSNRCTL> start
将出现监听程序的一系列启动和配置情况信息列表。
信息行的最后一行是“The command completed successfully”字样时,监听程序启动成功。
4. 关闭Oracle10g监听程序
运行stop命令关闭监听程序。
LSNRCTL> stop

tuxedo示例程序运过程中遇到的问题和解决

 

遇到的问题:
1.编译出错,提示libcrypt.a文件没有,下载最新的静态库文件glibc-static-devel包
2.编译服务段程序出现如下错误:CMDTUX_CAT:4382: ERROR: You do not have a valid SDK license
从oracle网站上下载对应的sdk文件后修改为lic.txt,存放到/home/tuxedo/tuxedo9.1/udataobj/ 目录下解决问题
3. 
a.设置好环境变量和配置文件以后 执行
 
tmloadcf -y ubbsimple (讲文本配置文件 生成一个二进制配置文件)
 
会生成一个 tuxconfig 文件
 
b. 执行
buildserver -f simpserv.c -o simpserv -s TOUPPER
 
buildclient -f simpcl.c -o simpcl
 
4. 修改主机名
hostname  newhostname  --newhostname为参数,目标名称
 
5. 删除环境变量
命令行下执行: unset 环境变量名

Linux设置环境变量

 

设置环境变量

如果使用的是bash外壳,则键入如下命令:

JAVA_HOME=/ path/ to/ jdk

export JAVA_HOME


其中/path/to/jdk是安装Java的路径。

如果使用的是tcsh,则键入如下命令:

setenv JAVA_HOME /path/to/jdk


删除环境变量

字符模式下设置/删除环境变量

bash

设置:export 变量名=变量值

删除:unset 变量

装B用的代码

#include <stdio.h>
int main(void)
{
	int x=999;  /*无论x为何值,y值结果一定*/
	double  y;
	y= ((x+52.8) * 5-3.9343)/0.5-(x*10);  
	printf("say : %.4lf\n", y);
}

 

 

 

石头剪子布(转自javaeye)

地址如下:http://songjindian.javaeye.com/blog/649805

 

#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main(void)
{
	char	gesture[3][10] = {"scissor", "stone", "cloth"};
	int		man, computer, result, ret;

	srand(time(NULL));
	while(1)
	{
		computer = rand()%3;
		printf("\n Input your gesture(0-scissor 1-stone 2-cloth):\n");
		ret = scanf("%d", &man);
		if(ret != 1 || man < 0 || man > 2)
		{
			printf("Invalid input!\n");
			return 1;
		}
		printf("Your gesture : %s\tComputers getsture: %s\n",
				gesture[man], gesture[computer]);

		result = (man - computer + 4) % 3 - 1;
		printf("result = %d\n ", result);
		if( result > 0)
			printf ("You win!\n");
		else if( result == 0 )
			printf("Draw!\n");
		else 
			printf("You lose!\n");
	}
	return 0;
}

分析如下:

人:  0  1  2
电脑:0  1  2

结果:  (0-0+4)%3-1=0    (0-1+4)%3-1=-1   (0-2+4)%3-1=1
 (1-0+4)%3-1=1    (1-1+4)%3-1=0    (1-2+4)%3-1=-1
 (2-0+4)%3-1=-1   (2-1+4)%3-1=1    (2-2+4)%3-1=0

oracle sqldeveloper乱码解决

 这是由于JDK不支持中文的原因,导致乱码,解决方法如下:

解决方法:

[root@netyang ~]# cd /usr/jdk/jre/lib/fonts
[root@netyang fonts]# mkdir fallback
[root@netyang fonts]# cd fallback/
[root@netyang fallback]# ln -s /usr/share/fonts/default/simsun.ttc
[root@netyang fallback]# mkfontdir
[root@netyang fallback]# mkfontscale


 

最后到相应目录下执行sh sqldeveloper.sh运行看是否成功 (/opt/sqldeveloper)

cb设置显示终端

 在环境设置里进行如下设置:


把Terminal to launch console programs那个选项改成gnome-terminal -t $TITLE -x

原来是xterm -T $TITLE -e

gnome-terminal和xterm的参数表示方法不一样。

oracle登录脚本设置(转)

 环境的设置

SQL*Plus 允许建立一个login.sql文件,每次启动SQL*Plus 时都会执行这个脚本。另外,还允许设置一个环境变量SQLPATH,这样不论这个login.sql 脚本具体在哪个目录中,SQL*Plus 都能找到它:a、把login.sql放当前目录, glogin.sql在sqlplus/admin下面是对全局启作用的,b、直接在ORACLE用户的profile文件中加入SQLPATH环境变量,可以设置export    SQLPATH=/home/oracle/oracle/product/10.2.0/oradata/orcl (此路径根据实际情况进行配置)

login.sql 代码:

 

define _editor=vi
set serveroutput on size 1000000
set trimspool on
set long 5000
set linesize 100
set pagesize 9999
column plan_plus_exp format a80
column global_name new_value gname
set termout off
define gname=idle
column global_name new_value gname
select lower(user) || '@' || substr( global_name, 1, decode( dot, 0,
length(global_name), dot-1) ) global_name
from (select global_name, instr(global_name,'.') dot from global_name );
set sqlprompt '&gname> '
set termout on

 

oracle在linux下安装遇到的问题解决

 ORA-01102: cannot mount database in EXCLUSIVE mode

Bright Posted on 2007-4-5 10:00  |  Views(2,033)  |   Category: Oracle  |   Tags: ORA-01102, oracle

今天在STARTUP一数据库时,发生如下错误:

 

SQL> conn /as sysdba

Connected to an idle instance.

SQL> startup

oracle instance started.

 

Total System Global Area 276824064 bytes

Fixed Size 778736 bytes

Variable Size 137371152 bytes

Database Buffers 138412032 bytes

Redo Buffers 262144 bytes

ORA-01102: cannot mount database in EXCLUSIVE mode

 

SQL> shutdown immediate

ORA-01507: database not mounted

 

oracle instance shut down.

 

GOOGLE一下,发现是lk<SID>文件造成的,该文件位于ORALCE_HOME下的dbs目录下,马上检查该文件:

 

[root@qa- oracle dbs]# fuser -u lkNDMSQA

lkNDMSQA: 6666( oracle ) 6668( oracle ) 6670( oracle ) 6672( oracle ) 6674( oracle ) 6676( oracle ) 6678( oracle ) 6680( oracle ) 6690( oracle ) 6692( oracle ) 6694( oracle ) 6696( oracle ) 6737( oracle ) 6830( oracle )

 

果然该文件没释放,用fuser命令kill掉:

 

[root@qa- oracle dbs]# fuser -k lkNDMSQA

lkNDMSQA: 6666 6668 6670 6672 6674 6676 6678 6680 6690 6692 6694 6696 6737 6830

[root@qa- oracle dbs]# fuser -u lkNDMSQA

 

然后:

 

SQL> startup

oracle instance started.

 

Total System Global Area 276824064 bytes

Fixed Size 778736 bytes

Variable Size 137371152 bytes

Database Buffers 138412032 bytes

Redo Buffers 262144 bytes

Database mounted.

Database opened.

SQL>

 

数据库成功OPEN.

 

关于该错误更详细的介绍如下:原文链接:http://www.hellodba.com/cases/case-unexception_down.htm

 

数据库异常关闭后无法启动问题处理一例

 

作者: fuyuncat

 

来源: www.HelloDBA.com

 

某系统突然掉电,系统启动后发现 oracle 无法启动。启动时报如下错误:

 

ORA-01102 cannot mount database in EXCLUSIVE mode

出现1102错误可能有以下几种可能:

 

一、在HA系统中,已经有其他节点启动了实例,将双机共享的资源(如磁盘阵列上的裸设备)占用了;

 

二、说明 oracle 被异常关闭时,有资源没有被释放,一般有以下几种可能,

 

1、 oracle 的共享内存段或信号量没有被释放;

 

2、 oracle 的后台进程(如SMON、PMON、DBWn等)没有被关闭;

 

3、 用于锁内存的文件lk<sid>和sgadef<sid>.dbf文件没有被删除。

 

首先,虽然我们的系统是HA系统,但是备节点的实例始终处在关闭状态,这点通过在备节点上查数据库状态可以证实。

 

其次、是因系统掉电引起数据库宕机的,系统在接电后被重启,因此我们排除了第二种可能种的1、2点。最可疑的就是第3点了。

 

查$ORACLE_HOME/dbs目录:

 

$ cd $ORACLE_HOME/dbs

$ ls sgadef*

sgadef* not found

$ ls lk*

lkORA92

果然,lk<sid>文件没有被删除。将它删除掉

 

$ rm lk*

再启动数据库,成功。

 

如果怀疑是共享内存没有被释放,可以用以下命令查看:

 

$ipcs -mop

IPC status from /dev/kmem as of Thu Jul 6 14:41:43 2006

T ID KEY MODE OWNER GROUP NATTCH CPID LPID

Shared Memory:

m 0 0×411c29d6 –rw-rw-rw- root root 0 899 899

m 1 0×4e0c0002 –rw-rw-rw- root root 2 899 901

m 2 0×4120007a –rw-rw-rw- root root 2 899 901

m 458755 0×0c6629c9 –rw-r—– root sys 2 9113 17065

m 4 0×06347849 –rw-rw-rw- root root 1 1661 9150

m 65541 0xffffffff –rw-r–r– root root 0 1659 1659

m 524294 0×5e100011 –rw——- root root 1 1811 1811

m 851975 0×5fe48aa4 –rw-r—– oracle oinstall 66 2017 25076

然后它ID号清除共享内存段:

 

$ipcrm –m 851975

对于信号量,可以用以下命令查看:

 

$ ipcs -sop

IPC status from /dev/kmem as of Thu Jul 6 14:44:16 2006

T ID KEY MODE OWNER GROUP

Semaphores:

s 0 0×4f1c0139 –ra——- root root

… …

s 14 0×6c200ad8 –ra-ra-ra- root root

s 15 0×6d200ad8 –ra-ra-ra- root root

s 16 0×6f200ad8 –ra-ra-ra- root root

s 17 0xffffffff –ra-r–r– root root

s 18 0×410c05c7 –ra-ra-ra- root root

s 19 0×00446f6e –ra-r–r– root root

s 20 0×00446f6d –ra-r–r– root root

s 21 0×00000001 –ra-ra-ra- root root

s 45078 0×67e72b58 –ra-r—– oracle oinstall

根据信号量ID,用以下命令清除信号量:

 

$ipcrm -s 45078

如果是 oracle 进程没有关闭,用以下命令查出存在的 oracle 进程:

 

$ ps -ef|grep ora

oracle 29976 1 0 Jun 22 ? 0:52 ora_dbw0_ora92

oracle 29978 1 0 Jun 22 ? 0:51 ora_dbw1_ora92

oracle 5128 1 0 Jul 5 ? 0:00 oracleora92 (LOCAL=NO)

… …

然后用kill -9命令杀掉进程

 

$kill -9 <PID>

总结:

 

当发生1102错误时,可以按照以下流程检查、排错:

 

1.如果是HA系统,检查其他节点是否已经启动实例;

2.检查 oracle 进程是否存在,如果存在则杀掉进程;

3.检查信号量是否存在,如果存在,则清除信号量;

4.检查共享内存段是否存在,如果存在,则清除共享内存段;

5.检查锁内存文件lk<sid>和sgadef<sid>.dbf是否存在,如果存在,则删除。

 

 

 

启动Oracle的时候,报错以下:

 

SQL> startup

ORA-01078: failure in processing system parameters

LRM-00109: could not open parameter file '/u01/app/oracle/product/10.2.0/db_1/dbs/initOCP10G.ora'

 

 

 

仔细检查,发现是在.bash_profile中ORACLE_SID设置错了:

 

ORACLE_SID=OCP10G; export ORACLE_SID

 

 

 

'OCP10G'写成大写了,好隐蔽的错误......

 

 

 

改回OCP10g,重新在sqlplus中startup就可以了。

 

 

oracle在linux下的安装

一、LINUX系统的安装

一、RedHat AS4系统安装:

磁盘分区注意:SWAP空间要是内存大小的二倍.

网络基本配置根据本地网络情况配置.

主机名:linuxsvr

防火墙基本配置:

⊙ 无防火墙

⊙ 是否启用 SELinux:已禁用

安装方式的选项:

⊙ 定制要安装的软件包(C)

桌面选项:

(√) X窗口系统 (选取默认)

 

(√) GNOME桌面环境 (选取默认)

(√) KDE桌面环境 (选取默认)

应用程序选项:

( ) 工程和科学 (选取默认)

( ) 图形化互联网 (选取默认)

(√) 基于文本的互联网 (选取默认)

( ) 办公/生产率 (选取默认)

服务器选项:

(√) 服务器配置工具 (选取全部)

( ) 万维网服务器 (选取全部)

(√) Windows文件服务器 (选取全部)

( ) DNS服务器 (选取全部)

开发选项:

(√) 开发工具 (选择全部)

系统选项:

(√) 管理工具 (选取默认)

(√) 打印支持 (选取默认)

杂项选项:

全部不要选择;

安装完后,请在第三张安装盘中找到下面的文件,双击安装上去。否则安装oracle时会报错。

libaio-devel-0.3.103-3.i386.rpm

readline-devel-4.3-13

请一要安装好以上所列出的软件包,否则安装Oracle系统时,会出现一些不必须要的错误信息!

 

二、Oracle的安装前准备:

1、配置系统内核参数,以root用户登录,修改在/etc/sysctl.conf文件,在该文件中添加以下参数:

kernel.shmall = 2097152

kernel.shmmax = 2147483648

kernel.shmmni = 4096

kernel.sem = 250 32000 100 128

fs.file-max = 65536

net.ipv4.ip_local_port_range = 1024 65000

net.core.rmem_default = 262144

net.core.rmem_max = 262144

net.core.wmem_default = 262144

net.core.wmem_max = 262144

2、创建安装数据库时所需要使用的用户组oinstall,dba及Oracle用户,并将oinstamll,dba组定义成oracle用户的主次组。命令参考如下:

# groupadd oinstall

# groupadd dba

# useradd -g oinstall -G dba oracle (设定oracle用户为oinstall、dba用户组的成员)

# passwd oracle (设定oracle用户的密码)

3、以root用户身份登录系统创建Oracle系统的安装目录和数据库文件存放的目录。例如:/oracle,及改变以上目录的属性命令参考如下:

# mkdir -p /oracle/product/ 10.2.0 (创建数据目录)

# chown -R oracle.oinstall /oracle (设定目录所属的用户组和用户)

# chmod -R 775 /oracle (设定目录的读写权限)

4、以oracle 用户身份登录系统,复制oracle安装文件到/home/oracle下:

# cp 原文件夹 /home/oracle/ (复制文件到oracle个人目录内;也可以在图形界面下复制)

# unzip /home/oracle/10201_database_linux32.zip (解压zip文件)

5、配置oracle用户环境,以oracle用户登录,修改oracle用户下的 .bash_profile 文件。增加以下参数:

vi .bash_profile (执行vi命令来修改.bash_profile)

# Get the aliases and functions

  

if [ -f ~/.bashrc ]; then

. ~/.bashrc

fi

  

# User specific environment and startup programs

  

PATH=$PATH:$HOME/bin

  

export PATH

unset USERNAME

# 以下是我们所需配置的内容

umask 022

TMP=/tmp; export TMP

TMPDIR=$TMP; export TMPDIR

ORACLE_BASE=/oracle; export ORACLE_BASE

ORACLE_HOME=$ORACLE_BASE/product/ 10.2.0/; export ORACLE_HOME

ORACLE_SID=fstest; export ORACLE_SID

ORACLE_TERM=xterm; export ORACLE_TERM

PATH=/usr/sbin:$PATH; export PATH

PATH=$ORACLE_HOME/bin:$PATH; export PATH

LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib; export LD_LIBRARY_PATH

CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib; export CLASSPATH

#LD_ASSUME_KERNEL=2.4.1; export LD_ASSUME_KERNEL

6、重新启动操作系统:

# reboot (重新启动命令)

特别说明:因为安装Oracle软件时不可使用root(超级用户)来进行安装,只可以使用刚才新建的oracle用户来进行安装,请大家一定要注意!

 

三、Oracle 10g的安装 

1、重新启动操作系统后,使用oracle用户登陆操作系统进行Oracle数据库的正确安装:

用户名:oracle

密码为:******

点击“任务栏” → “应用程序” → “系统工具” → “终端”:

执行runInstaller文件进行,开始Oracle数据库的安装:

$ /home/oracle/database/./runInstaller (执行runInstaller文件)

 

2、经过一小段的时间,会出现“选择安装方法”的信息窗口;点选“高级安装(A)”,继续安装请单击“下一步(N)”按键;进入“指定产品清单目录和身份证明”窗口:确认产品清单目录的完整路径(D):/oracle/oraInventory;指定操作系统组名(S):oinstall;继续安装请单击“下一步(N)”按键;

3、进入“选择安装类型”窗口,点选“企业版(E)(1.26GB)”,继续安装请单击“下一步(N)”按键;进入“指定主目录详细信息”窗口;名称(M):OraDb10g_home1 路径(A): /oracle/product/10.2.0/;继续安装请单击“下一步(N)”按键;

4、进入“产品特定的选决条件检查”窗口,经过一小段时间检查,会出现以下的检查信息窗口;在“正在检查网络配置需要”项目内,选中状态栏目的内容,继续安装请单击“下一步(N)”按键;进入“选择配置选项”窗口,点选“创建数据库(C)” ,继续安装请单击“下一步(N)”按键;进入“选择数据库配置”窗口,点选“一般用途(G)” ,继续安装请单击“下一步(N)”按键;进入“指定数据库配置选项”窗口;数据库命名中的设置;全局数据库名: fstest SID: fstest;数据库字符集:简体中文ZHS16GBK ;继续安装请单击“下一步(N)”按键; play.bitsCN.com累了吗玩一下吧

5、进入“选择数据库管理选项”窗口,点选“使用Database Control管理数据库”,继续安装请单击“下一步(N)”按键;进入“指定数据库存储选项”窗口,点选“文件系统”;指定数据库文件位置:/oracle/product/ 10.2.0/oradata/;继续安装请单击“下一步(N)”按键;进入“指定备份和恢复选项”窗口,点选“不启用自动备份”,继续安装请单击“下一步(N)”按键;进入“指定数据库方案的口令”窗口;点选“所有的帐户都使用同一个口令”,输入口令。继续安装请单击“下一步(N)”按键;进入“概要信息”窗口,继续安装请单击“下一步(N)”按键;进入“安装”窗口,详细安装如下:A、安装部分片;B、复制文件部分;C、连接数据系统部分;D、设置数据系统部分;

6、进入“配置助手”窗口:配置:Oracle Database Configuration Assistant时,会出现“Database Configuration Assistant”新窗口,详细配置过程:A、正在复制数据库文件;B、正在创建并启动Oracle实例;C、正在进行数据库创建;完成以上三个部分,会出现一个数据库创建完成信息提示窗口,点击“确定”按键。

7、配置:iSQL*Plus配置辅助程序。配置过程中,会出现一个执行配置脚本信息提示窗口,在终端下运行,执行orainstRoot.sh脚本的过程:点击“任务栏” → “应用程序” → “系统工具” → “终端”,

$ su root (转换成root超级用户环境) Password: ****** (输入root用户的密码)

# /home/oracle/oraInventory/./orainstRoot.sh (输入执行脚本的详细路径)

详细操作:

# /home/oracle/oracle/product/ 10.2.0/./root.sh (输入执行脚本的详细路径)

执行完成orainstRoot.sh、root.sh脚本后,关闭“超级用户的终端”,回到“执行配置脚本”提示窗口,继续安装请单击“确定”按键;进入“安装结束”窗口,退出安装程序请单击“退出(X)”按键;特别说明:请大家一定要记录好以下的WEB URL地址(重要):以下的 J2EE 应用程序已经配置, 并且可用下面列出的 URL 来访问。Enterprise Manager 10g Database Control URL:请单击“是(Y)”按键,完成本次的安装任务;

测试以上的WEB URL连接地址是否正常:

iSQL*Plus URL:连接地址:http://linuxsvr01:11/isqlplus

iSQL*Plus DBA URL:连接地址:http://linuxsvr01:5560/isqlplus/dba

Enterprise Manager 10g Database Control URL测试:

连接地址:http://linuxsvr01:1158/em

用户名:sys

口令:******

连接身份:SYSDBA

继续登陆请单击 “我同意”按键;

 

四、测试Oracle 10g 数据库:

1. 启动Oracle10g 数据库sqlplus

$ sqlplus "scott/tiger as sysdba"

将出现如下连接数据库信息:

SQL*Plus: Release 10.1.0.2.0 - Production on 星期三 3月 24 16:23:27 2004

Copyright (c) 1982, 2004, Oracle. All rights reserved.

连接到:

Oracle Database 10g Enterprise Edition Release 10.1.0.2.0 - Production

With the Partitioning, OLAP and Data Mining options

SQL>

表明登录数据库系统成功,运行startup命令启动数据库。

SQL> startup

ORACLE instance started.

Total System Global Area 336356520 bytes

Fixed Size 279720 bytes

Variable Size 268435456 bytes

Database Buffers 67108864 bytes

Redo Buffers 532480 bytes

Database mounted.

Database opened.

SQL>

表示数据库正常启动。

2. 关闭Oracle10g 数据库

$ sqlplus "scott/tiger as sysdba" //以sysdba用户登录数据库

成功登录数据库系统后,运行shudown命令关闭数据库。

SQL> shutdown

3. 启动Oracle10g监听程序

Oracle的监听程序主要是为客户端的连接提供接口,在控制台窗口键入如下命令:

$ lsnrctl

将出现如下监听程序信息:

LSNRCTL for 32-bit Windows: Version 10.1.0.2.0 - Production on 24-3月 -2004 16

:59:51

Copyright (c) 1991, 2004, Oracle. All rights reserved.

欢迎来到LSNRCTL, 请键入"help"以获得信息。

LSNRCTL>

表明登录监听程序控制台成功,运行start命令启动监听程序。

LSNRCTL> start

将出现监听程序的一系列启动和配置情况信息列表。

信息行的最后一行是“The command completed successfully”字样时,监听程序启动成功。

4. 关闭Oracle10g监听程序

运行stop命令关闭监听程序。

LSNRCTL> stop

 

五、设置oracle自动启动与关闭

1、编辑 /etc/oratab,把所有的 instance 的重启动标志设置成 'Y',如:

fstest:/oracle/product/ 10.2.0:Y

2、做一个启动脚本 /etc/init.d/dbora ,如下所示:

#!/bin/sh

# description: Oracle auto start-stop script.

 

# chkconfig: - 20 80

#

# Set ORA_HOME to be equivalent to the $ORACLE_HOME

# from which you wish to execute dbstart and dbshut;

#

# Set ORA_OWNER to the user id of the owner of the

# Oracle database in ORA_HOME.

ORA_HOME=/oracle/product/10.2.0/

ORA_OWNER=oracle

if [ ! -f $ORA_HOME/bin/dbstart ]

then

echo "Oracle startup: cannot start"

exit

fi

case "$1" in

'start')

# Start the Oracle databases:

# The following command assumes that the oracle login

# will not prompt the user for any values

su - $ORA_OWNER -c $ORA_HOME/bin/dbstart

su - $ORA_OWNER -c "$ORA_HOME/bin/lsnrctl start"

;;

'stop')

# Stop the Oracle databases:

# The following command assumes that the oracle login

# will not prompt the user for any values

su - $ORA_OWNER -c "$ORA_HOME/bin/lsnrctl stop"

su - $ORA_OWNER -c $ORA_HOME/bin/dbshut

;;

'restart')

$0 stop

$0 start

;;

esac

3、赋予执行权限

chmod 750 /etc/init.d/dbora

作成以下链接:

ln -s /etc/init.d/dbora /etc/rc0.d/K10dbora

ln -s /etc/init.d/dbora /etc/rc3.d/S99dbora

执行以下命令:

chkconfig --level 345 dbora on