- 浏览: 266133 次
- 性别:
- 来自: 苏州
文章分类
最新评论
-
di1984HIT:
这个是默认的。!
ElasticSearch (3) Java API -- put mapping to index -
di1984HIT:
谢谢,学习了~~~
ElasticSearch (3) Java API -- put mapping to index -
di1984HIT:
写的很好,谢谢啦
ElasticSearch (3) Java API -- put mapping to index -
swzzm:
.............文件加密了,密码了
Hive + Hbase
引用
http://bbs.51cto.com/topic/thread-688286.html
linux下 Oracle自动启动与停止
1、 修改Oracle系统配置文件/etc/oratab
/etc/oratab 格式为: SID:ORACLE_HOME:AUTO
把AUTO域设置为Y(大写),只有这样,oracle 自带的dbstart和dbshut才能够发挥作用。我的为:
ora9i:/home/oracle/ora/products/9.2.0:Y
2、 编写服务脚本:
如下
#!/bin/bash
#
#################FUNCTION#############
#
# AutoStart Oracle and listener
# AutoStop Oracle and listener
#
#####################################
#
# Created by ZhouYS 2003-11-26
#
case "$1" in
start)
echo "Starting Oracle Databases ... "
echo "-------------------------------------------------" >> /var/log/oracle
date +" %T %a %D : Starting Oracle Databasee as part of system up." >> /var/log/oracle
echo "-------------------------------------------------" >> /var/log/oracle
su - oracle -c "dbstart" >> /var/log/oracle
echo "Done."
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 - oracle -c "lsnrctl start" >> /var/log/oracle
echo "Done."
echo ""
echo "-------------------------------------------------" >> /var/log/oracle
date +" %T %a %D : Finished." >> /var/log/oracle
echo "-------------------------------------------------" >> /var/log/oracle
touch /var/lock/subsys/oracle
;;
stop)
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 - oracle -c "lsnrctl stop" >> /var/log/oracle
echo "Done."
rm -f /var/lock/subsys/oracle
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 - oracle -c "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
;;
*)
echo "Usage: oracle {start|stop|restart}"
exit 1
esac
将脚本命名为oracle,保存在/etc/rc.d/init.d下
改变文件属性:chmod 755 oracle
注意:在windows下编辑此文件时有DOS格式字符导致在linux下不能够正常运行,建议用gedit 或用 vi编辑
3、建立服务连接:
系统启动时启动数据库,我们需要以下连结∶
--------------------------------------------------------------------------------
$ ln -s ../init.d/oracle /etc/rc.d/rc2.d/S99oracle
$ ln -s ../init.d/oracle /etc/rc.d/rc3.d/S99oracle
$ ln -s ../init.d/oracle /etc/rc.d/rc5.d/S99oracle #rc4.d unused
--------------------------------------------------------------------------------
要在重新启动时停止数据库,我们需要以下连结∶
--------------------------------------------------------------------------------
$ ln -s ../init.d/oracle /etc/rc.d/rc0.d/K01oracle # 停止
$ ln -s ../init.d/oracle /etc/rc.d/rc6.d/K01oracle # 重新启动
**********************************************************************************************************************
Linux中在Oracle安装完毕以后,如果重新启动Linux ,Oracle是不会自动启动的,你可以通过手动调用dbstart命令来进行启动,不过这样似乎也很繁琐。我们可以通过配置Oracle的自动启动脚本,然后利用Linux的Service来启动Oracle服务器。
首先在/etc/rc.d/init.d/目录下配置Oracle的服务文件。
touch oracle10g
chmod a+x oracle10g
然后编辑此oracle10g文件。内容如下。
# !/bin/bash
# whoami
# root
# chkconfig: 345 51 49
# description: starts the oracle dabase deamons
#
ORA_HOME=/opt/oracle
ORA_OWNER=oracle
case "$1" in
'start')
echo -n "Starting oracle10g: "
su - $ORA_OWNER -c "$ORA_HOME/bin/dbstart" &
su - $ORA_OWNER -c "$ORA_HOME/bin/lsnrctl start"
touch /var/lock/subsys/oracle10g
echo
;;
'stop')
echo -n "shutting down oracle10g: "
su - $ORA_OWNER -c "$ORA_HOME/bin/dbshut" &
su - $ORA_OWNER -c "$ORA_HOME/bin/lsnrctl stop"
rm -f /var/lock/subsys/oracle10g
echo
;;
'restart')
echo -n "restarting oracle10g: "
$0 stop
$0 start
echo
;;
*)
echo "usage: oracle10g "
exit 1
esac
exit 0
保存文件,退出以后,添加并启动察看服务。
/sbin/chkconfig --add oracle10g
/sbin/chkconfig --list oracle10g
重新启动Linux的时候,如果看到启动项Oracle出现OK,代表Oracle成功随Linux启动了。
linux下oracle 10G启动EM和isqlplus
注:$ORACLE_HOME为oracle的安装路径
1,使用EM(enterprise managment)
1.1启动EM
$ORACLE_HOME/bin/emctl start dbconsole
如果出现下面相关信息,说明服务启动
TZ set to PRC
Oracle Enterprise Manager 10g Database Control Release 10.1.0.3.0
Copyright (c) 1996, 2004 Oracle Corporation. All rights reserved.
http://localhost.localdomain:5500/em/console/aboutApplication
Starting Oracle Enterprise Manager 10g Database Control ................................. started.
1.2使用EM
在浏览器地址中输入如下地址:
http://localhost.localdomain:5500/em/console/
如果不出现登录对话页面,请确保你的数据库服务与监听服务正常启动了
注意:如果监听程序不启动,可以通过sqlplus登录,但在此页面中不能正常显示.
现在你就可以正常使用EM了!
2,使用isqlplus
2.1启动isqlplus
$ORACLE_HOME/bin/isqlplusctl start
如果出现如下信息,说明正常启动.
iSQL*Plus 10.1.0.3.0
Copyright (c) 2004 Oracle. All rights reserved.
Starting iSQL*Plus ...
iSQL*Plus started.
2.2使用isqlplus
在浏览器地址中输入如下地址:
http://localhost.localdomain:5560/isqlplus/
这样就出现了isqlplus的登录界面,就可使用isqlplus了
2009年10月26日下午14:40
我自己配置的oracle10g自动启动文件。
vi /etc/rc.d/init.d/oracle10g
# !/bin/bash
#whoami
# root
# chkconfig: 345 51 49
# description: starts the oracle dabase deamons
#
ORA_HOME=/opt/oracle/product/10.2.0/db_1/
ORA_OWNER=oracle
case "$1" in
'start')
echo -n "Starting oracle10g: "
su - $ORA_OWNER -c "$ORA_HOME/bin/dbstart" &
su - $ORA_OWNER -c "$ORA_HOME/bin/lsnrctl start" &
su - $ORA_OWNER -c "$ORA_HOME/bin/emctl start dbconsole" &
su - $ORA_OWNER -c "$ORA_HOME/bin/isqlplusctl start"
touch /var/lock/subsys/oracle10g
echo
;;
'stop')
echo -n "shutting down oracle10g: "
su - $ORA_OWNER -c "$ORA_HOME/bin/isqlplusctl stop" &
su - $ORA_OWNER -c "$ORA_HOME/bin/emctl stop dbconsole" &
su - $ORA_OWNER -c "$ORA_HOME/bin/dbshut" &
su - $ORA_OWNER -c "$ORA_HOME/bin/lsnrctl stop"
rm -f /var/lock/subsys/oracle10g
echo
;;
'restart')
echo -n "restarting oracle10g: "
$0 stop
$0 start
echo
;;
*)
echo "usage: oracle10g "
exit 1
esac
exit 0
设置ORACLE11g随RHEL5自动启动与关闭
最近,ORACLE系统基本调试通过,是时候设置ORACLE随RHEL自动启动与关闭服务的时候了。现在笔者从对这个过程进行了详细的讲解。现在就把我的整个成功设置的过程贴出来,供大家参考,以期大家能少走弯路;另外还是要给其他人一个建议:切莫生硬照搬,断章取义,否则其害大焉!!首先,要在RHEL中设置允许ORACLE系统自动启动,因为默认情况下是设置为不允许的。操作如下:
在root账户下修改/etc/oratab文件:
#vi/etc/oratab
找到orcl=/db/app/oracle/product/11.1.0/db_1:N这一行
改为:
orcl=/db/app/oracle/product/11.1.0/db_1:Y
也就是将最后的N改为Y,意思是将不允许自动启动改为允许自动启动。然后,是修改ORACLE自带的启动与关闭脚本,分别是dbstart和dbshut。执行这两个脚本就可以实现ORACLE脚本的启动与关闭。在oracle账户下修改$ORACLE_HOME/bin/dbstart文件:
#su-ORACLE
$cd$ORACLE_HOME/bin
$vidbstart
找到ORACLE_HOME_LISTNER=$1这一行
改为:
◆ORACLE_HOME_LISTNER=$ORACLE_HOME之所以做这一步,是因为在这个脚本自动生成的时候,也就是ORACLE被安装进RHEL的时候,这个脚本并不知道你的
◆ORACLE_HOME_LISTNER是什么,现在要将这个参数显示的写明,这样就不会在执行这个脚本的时候报
◆ORACLE_HOME_LISTNER没有被指定的错误了。注意:dbstart和dbshut脚本在10g之后就已经将监听器的启动与关闭合并进数
据库实例的启动与关闭脚本里面了。而不再是单独分开的了。同样的方式,我们也要修改dbshut的这个参数。这里就不再详细写出了,他们在同一个目录下。再次,就是写一个脚本,把它注册为一个系统服务,让它在开机与关机的时候运行。它的作用就是调用并执行dbstart和dbshut。这样不就实现了数据库启动与关闭了吗?!这个脚本被放在/etc/init.d目录中,脚本的名字是oracle11
脚本如下:
#!/bin/bash
#chkconfig:23459910
#description:StartupScriptfororacleDatabases
#/etc/rc.d/init.d/oradbstart
exportORACLE_BASE=/db/app/oracle/
exportORACLE_HOME=/db/app/oracle/product/11.1.0/db_1
exportORACLE_SID=orcl
exportPATH=$PATH:$ORACLE_HOME/bin
case"$1"in
start)
echo"-----startuporacle-----">>/var/log/oracle11log
suoracle-c$ORACLE_HOME/bin/dbstart
touch/var/lock/subsys/oracle11
echo"-----startuporaclesuccessful-----">>/var/log/oracle11log
echo"OK"
;;
stop)
echo"-----shutdwnoracle-----">>/var/log/oracle11log
suoracle-c$ORACLE_HOME/bin/dbshut
rm-f/var/lock/subsys/oracle11
echo"-----shutdownoraclesuccessful-----">>/var/log/oracle11log
echo"OK"
;;
*)
echo"Usage:'basename$0'start|stop"
exit1
esac
exit0
保存并退出。
现在,我要对这段脚本做一个关键解释:
第一:#chkconfig:23459910虽是一行注释,但是确实关键的必不可少的一行,除非你不用chkconfig命令来自动生成符号连接文件,而是完全采用手工创建。否则没有这一行,执行chkconfig系统将会报出oracle11没有chkconfig服务权限的错误。
第二:suoracle-c$ORACLE_HOME/bin/dbstart和touch/var/lock/subsys/oracle11这两行的作用是首先执行dbstart脚本启动oracle,然后在服务活动列表目录中创建一个与oracle11这个服
务同名的一个文件,表示这个服务是活动的,也就是被启动的。
而suoracle-c$ORACLE_HOME/bin/dbshut和rm-f/var/lock/subsys/oracle11这两行的作用是首先执行dbshut急哦脚本关闭oracle,然后从服务活动列表目录中删除那个与oracle11同名的那
个文件,表示这个服务不是活动的,也就是已经被关闭。
那么为什么要做touch/var/lock/subsys/oracle11和rm-f/var/lock/subsys/oracle11这两步呢?原因是跟LINUX系统的机制有关的:LINUX的判别一个服务是否被启动的依据是在/var/lock/subsys/目录下是否与服同名的文件,若有则表示这个服务已经被启动了,在系统关闭的时候,LINUX会把这里面列出的服务全部关闭,并删掉与服务同名的文件。若一个服务被启动了,但却在这个目录里没有那个服务的同名文件,则不会关闭那个服务。网上的文章均将这个地方设置错了,所以会发现,ORACLE可以随系统启动了,但却没有随系统关闭。我也是分析了/etc/rc.d/rc.local后才发现这个原理的。经过试验,果然如此。再分析mysql的启动与关闭脚本也是这样做的,最终恍然大悟
原来如此。这个地方请大家注意了。
最后,就是将这个脚本注册成为一个系统服务就可以了,方法有二:
其一:先给脚本分配可以被执行的权限。执行下面命令:
#su-root
chownoracle/etc/init.d/oracle11
chmod775/etc/init.d/oracle11
再创建符号链接文件。
chkconfig--add/etc/init.d/oracle11,执行这个命令就需要你在脚本中写上#chkconfig:23459910了。这样当这个命令被执行的时候,回去oracle11文件中寻找这行注释,并解析这行注释,根据解析结果分别在/etc/rc.d/rc2.d;/etc/rc.d/rc3.d;/etc/rc.d/rc4.d;/etc/rc.d/rc5.d中创建符号连接文件S99oracle11文件,这个文件是系统启动时要执行的,其实这个文件是指向/etc/init.d/oracle11的,启动的时候系统向这个文件发送一个start参数,也就执行了oracle11文件中的start分支了。还会在/etc/rc.d/rc0.d;/etc/rc.d/rc1.d;/etc/rc.d/rc6.d中创建K10oracle11文件,这个文件时系统关闭时要执行的,其实这个文件也是指向/etc/init.d/oracle11的,关闭的时候系统向这个文件发送一个stop参数,也就执行了oracle11文件中的stop分支了。
我想你应该明白#chkconfig:23459910中这些数字的含义了吧:指出2,3,4,5级别启动这个服务,99是在相应的/etc/rc.d/rcN.d(N为前面指定的级别,这里是2345)目录下生成的链接文件的序号(启动优先级别)S99oracle11,10为在除前面指出的级别对应的/etc/rc.d/rcN.d(N为除2345之外的级别)目录生成的链接文件的序号(服务停止的优先级别)K10oracle11。至于为什么在这些目录中创建文件和文件的命名规则,这就要您对LINUX的系统启动流程有一个熟悉的了解了,在这就不详谈了。
其二:若您想尝试一下手动创建符号连接文件的乐趣,请执行如下命令:
#su-root
ln-s/etc/init.d/oracle11/etc/rc.d/rc2.d/S99oracle11
ln-s/etc/init.d/oracle11/etc/rc.d/rc3.d/S99oracle11
ln-s/etc/init.d/oracle11/etc/rc.d/rc4.d/S99oracle11
ln-s/etc/init.d/oracle11/etc/rc.d/rc5.d/S99oracle11
ln-s/etc/init.d/oracle11/etc/rc.d/rc0.d/K10oracle11
ln-s/etc/init.d/oracle11/etc/rc.d/rc1.d/K10oracle11
ln-s/etc/init.d/oracle11/etc/rc.d/rc6.d/K10oracle11
作用效果和执行chkconfig--addoracle11是一样的。
到此,所以得设置过程就结束了,下面进行一下测试吧:
#cd/etc/init.d
shoracle11start
执行后,看看/var/log目录下的oracle11log文件,里面是不是有脚本的启动分支输出信息呢?
shoracle11stop
执行后,看看/var/log目录下的oracle11log文件,里面是不是有脚本的关闭分支输出信息呢?若看到信息,表示您设置成功了。若没有,请再仔细设置一遍,并注意文件的权限问题。LINUX的用户概念是很严格的。毕竟是多用户系统。设置ORACLE11g随RHEL5自动启动与关闭的过程是一个非常复杂的,笔者对这两个过程进行了详细的解释与介绍。
发表评论
-
Linux File descriptor limit
2012-11-01 13:38 30981. Find out what the current op ... -
grep 实用例子
2012-07-13 16:00 1575首先创建示例文件 $ cat demo_file THIS L ... -
sed系列:文件多行操作
2012-06-26 12:51 3451Sed reads line by line, removes ... -
sed系列:多命令执行
2012-06-22 17:01 5010Syntax: #sed -e 'command' -e 'c ... -
sed系列:行或者模式匹配删除特定行
2012-06-21 15:52 98489“p” command prints the buffer ( ... -
sed系列:用地址或者模式匹配输出文件行
2012-06-21 15:02 3568Unix Sed Introduction sed is a ... -
sed 系列: 分支操作
2012-06-21 11:47 1525无条件分支语法 $ sed ':label command(s ... -
sed 系列: 用正则表达式查找和替换
2012-06-19 20:55 33108The `s’ command is probably the ... -
sed 系列: 怎样用sed写文件
2012-06-19 20:24 2377In this article, let us review ... -
sed tool basic
2012-06-19 20:12 973语法 sed [options] '{command}' [f ... -
SSH password less login
2012-04-25 20:15 795http://www.thegeekstuff.com/200 ... -
Add environment variables for all users
2012-02-09 11:51 887/etc/profile example export ... -
Hadoop Cluster Setup
2012-01-13 16:11 435http://ankitasblogger.blogspot. ... -
linux下查找文件内容
2012-01-13 13:30 784#> find . -type f -exec gre ... -
FTP
2012-01-12 15:58 1003简单上传下载实例(/*.... ... -
CDH3
2012-01-05 11:46 1176CDH3 book O'Reilly's 'Hadoop ... -
Best Linux Books
2012-01-03 15:56 1388http://www.linuxlinks.com/artic ... -
Shell Command study
2012-01-03 15:25 801http://www.dedoimedo.com/comput ... -
GRUB
2012-01-03 12:22 840http://www.dedoimedo.com/comput ... -
linux 手动安装 oracle
2011-12-12 16:07 9448引用http://gohands.iteye.com/blog ...
相关推荐
Linux 下 Oracle 启动和监听 Oracle 数据库是重量级的,其管理非常复杂,将其在 Linux 平台上的启动和关闭步骤整理如下: 一、安装和配置 Oracle 在 Linux 平台上安装 Oracle 之后,需要创建 Oracle 系统用户,并...
在Linux环境下操作Oracle数据库,尤其是Oracle 10g版本,涉及到的启动与关闭流程是IT运维人员必须掌握的核心技能之一。本文将详细解析在Linux系统中启动与关闭Oracle数据库的具体步骤,以及相关的环境变量配置与...
Linux 下 Oracle Client 的安装 Linux 下 Oracle Client 的安装是指在 Linux 操作系统中安装 Oracle 客户端的过程。该过程需要在 Linux 服务器上安装 Oracle 客户端,以便连接 Oracle 数据库服务器。 一、 Linux ...
### Linux下Oracle自启动脚本知识点详解 #### 一、背景与目的 在现代企业级应用环境中,数据库服务(如Oracle)通常是业务运行的核心部分。为了确保系统的高可用性和稳定性,通常需要在服务器重启后自动启动数据库...
在Linux环境下安装Oracle数据库10g是一项复杂但必要的任务,对于数据库管理员(DBA)和想要学习如何在Linux平台上安装和配置Oracle数据库的IT专业人员来说,这是一项基础技能。以下是在Linux上安装Oracle 10g的详细...
### Linux下Oracle 12c的安全卸载 在企业级应用环境中,Oracle数据库因其稳定性、安全性及高效性而被广泛采用。然而,在某些情况下,可能需要卸载Oracle 12c来解决安装过程中出现的问题或者进行版本升级。本文将...
在Linux环境下安装和配置Oracle数据库是一个涉及多个步骤的过程,需要对操作系统和数据库软件有深入的理解。以下将详细阐述这个过程中的关键知识点。 1. **系统环境检查** - 首先,你需要确认你的Linux系统环境。...
### Linux下启动Oracle数据库的方法详解 #### 一、前言 在Linux环境下部署与管理Oracle数据库是许多系统管理员和DBA的重要职责之一。本文将详细介绍如何在Linux操作系统中启动Oracle数据库,包括必要的环境配置...
### Linux环境下Oracle数据库重启知识点详解 #### 一、概述 在Linux环境中,Oracle数据库的管理是常见的运维操作之一。为了确保系统的稳定运行,有时需要重启Oracle数据库及其监听器。本文将详细介绍在Linux环境下...
### Linux下启动Oracle数据库的步骤详解 #### 一、引言 在Linux环境下启动Oracle数据库是DBA(数据库管理员)日常运维工作中的一个重要环节。本文将详细介绍如何在Linux系统中启动Oracle服务,包括监听器(Listener...
### Linux 下 Oracle 手动建实例详解 #### 一、概述 在Linux环境中手动构建Oracle实例是一项高级且复杂的任务,通常适用于需要定制化配置或特殊需求的场景。本文档将根据给定的信息,详细介绍如何在Linux环境下手动...
### Linux下Oracle服务与监听器自动启动配置详解 在企业级应用环境中,Oracle数据库系统作为核心数据管理平台,其稳定性和可用性至关重要。为了确保Oracle服务(包括数据库服务和监听器)能够在Linux操作系统启动时...
包汉以下两部分: ①Linux下启动oracle数据库; ②sqlplus / as sysdba、sqlplus /nolog后再conn / as sysdba两种登录oracle方式的区别
### Linux 下 Oracle 11g 数据库冷备份与异机还原详解 #### 实验背景及目的 在进行系统维护或升级之前,为了保障数据的安全性和业务连续性,通常需要对现有生产环境中的数据库进行备份。当涉及到Oracle 11g数据库的...
在Linux环境下安装Oracle数据库是一项复杂的过程,涉及到多个步骤和组件的配置。Oracle数据库与Linux操作系统结合,为企业提供了高性能和稳定性的解决方案。以下是根据标题、描述和部分内容生成的详细知识点: 1. *...
6. init.d脚本:在Red Hat或CentOS等Linux发行版中,可以创建一个位于/etc/init.d下的Oracle启动脚本,通过`chkconfig --add`使其成为系统服务,然后通过`service oracle start`进行启动。 7. systemctl或systemd...
Linux安装Oracle19C详细步骤 在这篇文章中,我们将详细介绍如何在 CentOS 7 和 Red Hat 7 系统中安装 Oracle 19C。整个安装过程可以分为六个步骤:系统要求和准备、关闭防火墙、图形桌面、selinux、修改静态 IP、...
例如,了解Oracle数据库的用户认证机制、SQL*Plus工具的工作原理、Linux环境下的用户权限管理等,这些知识将帮助你更全面地掌握Oracle数据库管理的核心技能。 总之,Linux下修改Oracle用户密码不仅是日常维护工作的...
### Linux 下 Oracle 启动关闭及常用命令 #### 一、概述 在 Linux 系统中管理和操作 Oracle 数据库是一项常见的任务。对于数据库管理员(DBA)而言,掌握如何在 Linux 环境下启动、关闭 Oracle 数据库以及常用的...