服务器之家:专注于服务器技术及软件下载分享
分类导航

Linux|Centos|Ubuntu|系统进程|Fedora|注册表|Bios|Solaris|Windows7|Windows10|Windows11|windows server|

服务器之家 - 服务器系统 - Linux - Linux中Oracle服务启动和停止脚本与开机自启动

Linux中Oracle服务启动和停止脚本与开机自启动

2021-12-05 22:50David_Tang Linux

这篇文章主要介绍了Linux中Oracle服务启动和停止脚本与开机自启动,有兴趣的同学可以一起来了解一下。

在centos 6.3下安装完oracle 10g r2,重开机之后,你会发现oracle没有自行启动,这是正常的,因为在linux下安装oracle的确不会自行启动,必须要自行设定相关参数,首先先介绍一般而言如何启动oracle。

一、在linux下启动oracle

登录到centos,切换到oracle用户权限

?
1
# su – oracle

接着输入:

?
1
$ sqlplus "/as sysdba"

原本的画面会变为
sql>

接着请输入
sql> startup

就可以正常的启动数据库了。

Linux中Oracle服务启动和停止脚本与开机自启动

另外停止数据库的指令如下:

?
1
sql> shutdown immediate

二、检查oracle db监听器是否正常

回到终端机模式,输入:

?
1
$ lsnrctl status

检查看看监听器是否有启动

Linux中Oracle服务启动和停止脚本与开机自启动

如果没有启动,可以输入:

?
1
$ lsnrctl start

启动监听器

Linux中Oracle服务启动和停止脚本与开机自启动

?
1
sql> conn sys@orcl as sysdba

然后输入密码,sys以sysdba身份登入数据库。

Linux中Oracle服务启动和停止脚本与开机自启动

三、启动emctl

另外也可以发现http://localhost.localdomain:1158/em 目前是没有反应的,这边要另外启动,启动的指令如下:

?
1
$ emctl start dbconsole

这个指令运行时间较长,执行完的画面如下:

Linux中Oracle服务启动和停止脚本与开机自启动

手动启动oracle数据库完毕,下面创建系统自行启动oracle的脚本。

四、oracle启动&停止脚本

1. 修改oracle系统配置文件:/etc/oratab,只有这样,oracle 自带的dbstart和dbshut才能够发挥作用。

?
1
2
3
4
5
# vi /etc/oratab
orcl:/opt/oracle/102:y
 
# entries are of the form:
#  $oracle_sid:$oracle_home:<n|y>:

2. 在 /etc/init.d/ 下创建文件oracle,内容如下:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
#!/bin/sh
# chkconfig: 35 80 10
# description: oracle auto start-stop script.
 
#
# 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=/opt/oracle/102
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:
echo "starting oracle databases ... "
echo "-------------------------------------------------" >> /var/log/oracle
date +" %t %a %d : starting oracle databases as part of system up." >> /var/log/oracle
echo "-------------------------------------------------" >> /var/log/oracle
su - $ora_owner -c "$ora_home/bin/dbstart" >>/var/log/oracle
echo "done"
 
# start the listener:
echo "starting oracle listeners ... "
echo "-------------------------------------------------" >> /var/log/oracle
date +" %t %a %d : starting oracle listeners as part of system up." >> /var/log/oracle
echo "-------------------------------------------------" >> /var/log/oracle
su - $ora_owner -c "$ora_home/bin/lsnrctl start" >>/var/log/oracle
echo "done."
echo "-------------------------------------------------" >> /var/log/oracle
date +" %t %a %d : finished." >> /var/log/oracle
echo "-------------------------------------------------" >> /var/log/oracle
touch /var/lock/subsys/oracle
;;
 
'stop')
# stop the oracle listener:
echo "stoping oracle listeners ... "
echo "-------------------------------------------------" >> /var/log/oracle
date +" %t %a %d : stoping oracle listener as part of system down." >> /var/log/oracle
echo "-------------------------------------------------" >> /var/log/oracle
su - $ora_owner -c "$ora_home/bin/lsnrctl stop" >>/var/log/oracle
echo "done."
rm -f /var/lock/subsys/oracle
 
# stop the oracle database:
echo "stoping oracle databases ... "
echo "-------------------------------------------------" >> /var/log/oracle
date +" %t %a %d : stoping oracle databases as part of system down." >> /var/log/oracle
echo "-------------------------------------------------" >> /var/log/oracle
su - $ora_owner -c "$ora_home/bin/dbshut" >>/var/log/oracle
echo "done."
echo ""
echo "-------------------------------------------------" >> /var/log/oracle
date +" %t %a %d : finished." >> /var/log/oracle
echo "-------------------------------------------------" >> /var/log/oracle
;;
 
'restart')
$0 stop
$0 start
;;
esac

3. 改变文件权限

?
1
# chmod 755 /etc/init.d/oracle

4. 添加服务

?
1
# chkconfig --level 35 oracle on

5. 需要在关机或重启机器之前停止数据库,做一下操作

?
1
2
# ln -s /etc/init.d/oracle /etc/rc0.d/k01oracle  //关机
# ln -s /etc/init.d/oracle /etc/rc6.d/k01oracle  //重启

6. 使用方法

?
1
2
3
# service oracle start    //启动oracle
 # service oracle stop    //关闭oracle
 # service oracle restart   //重启oracle

7. 测试

a. 开机自启动

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
last login: mon nov 26 19:57:06 2012 from 10.0.0.145
[root@ors ~]# su - oracle
[oracle@ors ~]$ sqlplus "/as sysdba"
 
sql*plus: release 10.2.0.1.0 - production on mon nov 26 20:07:33 2012
 
copyright (c) 1982, 2005, oracle. all rights reserved.
 
 
connected to:
oracle database 10g enterprise edition release 10.2.0.1.0 - production
with the partitioning, olap and data mining options
 
sql> set linesize 300;
sql> set pagesize 30;
sql> select * from scott.emp;
 
   empno ename   job       mgr hiredate     sal    comm   deptno
---------- ---------- --------- ---------- --------- ---------- ---------- ----------
smith   clerk      7902 17-dec-80    800          20
allen   salesman    7698 20-feb-81    1600    300     30
ward    salesman    7698 22-feb-81    1250    500     30
jones   manager     7839 02-apr-81    2975          20
martin   salesman    7698 28-sep-81    1250    1400     30
blake   manager     7839 01-may-81    2850          30
clark   manager     7839 09-jun-81    2450          10
scott   analyst     7566 19-apr-87    3000          20
king    president      17-nov-81    5000          10
turner   salesman    7698 08-sep-81    1500     0     30
adams   clerk      7788 23-may-87    1100          20
james   clerk      7698 03-dec-81    950          30
ford    analyst     7566 03-dec-81    3000          20
miller   clerk      7782 23-jan-82    1300          10
rows selected.
 
sql>

Linux中Oracle服务启动和停止脚本与开机自启动

b. service oracle stop

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
sql> disconnected from oracle database 10g enterprise edition release 10.2.0.1.0 - production
with the partitioning, olap and data mining options
[oracle@ors ~]$ logout
[root@ors ~]# service oracle stop
stoping oracle listeners ...
done.
stoping oracle databases ...
done.
 
[root@ors ~]# su - oracle
[oracle@ors ~]$ sqlplus "/as sysdba"
 
sql*plus: release 10.2.0.1.0 - production on mon nov 26 20:17:20 2012
 
copyright (c) 1982, 2005, oracle. all rights reserved.
 
connected to an idle instance.
 
sql> set linesize 300;
sql> set pagesize 30;
sql> select * from scott.emp;
select * from scott.emp
*
error at line 1:
ora-01034: oracle not available
 
 
sql>

Linux中Oracle服务启动和停止脚本与开机自启动

c. service oracle start

?
1
2
3
4
5
6
7
8
sql> disconnected
[oracle@ors ~]$ logout
[root@ors ~]# service oracle start
starting oracle databases ...
done
starting oracle listeners ...
done.
[root@ors ~]#

Linux中Oracle服务启动和停止脚本与开机自启动

d. service oracle restart

?
1
2
3
4
5
6
7
8
9
10
11
[root@ors ~]# service oracle restart
stoping oracle listeners ...
done.
stoping oracle databases ...
done.
 
starting oracle databases ...
done
starting oracle listeners ...
done.
[root@ors ~]#

Linux中Oracle服务启动和停止脚本与开机自启动

至此,oracle服务启动&停止脚本与开机自启动设置完毕。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持服务器之家。

原文链接:http://www.cnblogs.com/mchina/archive/2012/11/27/2782993.html

延伸 · 阅读

精彩推荐
  • Linux确保Linux系统安全的前提条件 漏洞防护

    确保Linux系统安全的前提条件 漏洞防护

    Linux 作为开放式的操作系统受到很多程序员的喜爱,很多高级程序员都喜欢编写Linux操作系统的相关软件。这使得Linux操作系统有着丰富的软件支持,还有无...

    Linux之家2642020-04-11
  • Linux详解Linux系统下PXE服务器的部署过程

    详解Linux系统下PXE服务器的部署过程

    这篇文章主要介绍了Linux系统下PXE服务器的部署过程,包括对PXE的API架构作了一个基本的简介,需要的朋友可以参考下...

    运维之道9812019-07-04
  • LinuxLinux上设置用户通过SFTP访问目录的权限的方法

    Linux上设置用户通过SFTP访问目录的权限的方法

    这篇文章主要介绍了Linux上设置用户通过SFTP访问目录的权限的方法,SFTP可以理解为使用SSH协议进行FTP传输的协议,因而同时要对OpenSSH进行相关设置,需要的朋...

    OSChina10022019-06-19
  • Linux手把手教您在 Linux 上使用 GPG 加解密文件

    手把手教您在 Linux 上使用 GPG 加解密文件

    在本教程中,我将告诉你如何用 GPG 加密和解密文件。这是一个简单的教程,你可以在你的 Linux 系统上尝试所有的练习。这将帮助你练习 GPG 命令,并在你...

    Linux中国6962021-12-15
  • LinuxLinux常用的日志文件和常用命令

    Linux常用的日志文件和常用命令

    成功地管理任何系统的关键之一,是要知道系统中正在发生什么事。 Linux 中提供了异常日志,并且日志的细节是可配置的。Linux 日志都以明文形式存储,所...

    Linux教程网2632020-04-18
  • Linuxlinux中rmdir命令使用详解(删除空目录)

    linux中rmdir命令使用详解(删除空目录)

    今天学习一下linux中命令: rmdir命令。rmdir是常用的命令,该命令的功能是删除空目录,一个目录被删除之前必须是空的 ...

    linux命令大全5372019-11-19
  • LinuxLinux中环境变量配置的步骤详解

    Linux中环境变量配置的步骤详解

    Linux中环境变量包括系统级和用户级,系统级的环境变量是每个登录到系统的用户都要读取的系统变量,而用户级的环境变量则是该用户使用系统时加载的...

    Myths7882022-02-10
  • LinuxLinux lnmp下无法使用mail发邮件的两种解决方法

    Linux lnmp下无法使用mail发邮件的两种解决方法

    在配置了lnmp环境后,出现了mail函数不能发送邮件的问题,其实有两种方法,一是使用sendmail组件,而是使用postfix。下面为大家一一介绍下 ...

    Linux之家4042019-09-17