知识大全 ORACLE启动相关问题

Posted 数据库

篇首语:世事洞明皆学问,人情练达即文章。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 ORACLE启动相关问题相关的知识,希望对你有一定的参考价值。

ORACLE启动相关问题  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!

  在安装ORACLE g完成后 发现不少问题 现整理如下

  首先 用oracle用户登陆

   sqlplus sys as sysdba

   提示输入密码(安装oracle时第一步设置的密码)

   启动数据库

  SQL>startup

  ORACLE instance started

  Total System Global Area   bytes

  Fixed Size                bytes

  Variable Size              bytes

  Database Buffers       bytes

  Redo Buffers             bytes

  Database mounted

  Database opened

  若之前已启动 系统将提示 ORA : cannot start already running ORACLE shut it down first

  可用如下命令关闭数据库

  ·shutdown normal  正常方式关闭数据库

  ·shutdown immediate   立即方式关闭数据库

  ·shutdown abort  直接关闭数据库 正在访问数据库的会话会被突然终止

   SQL> conn scott/tiger

  Connected

  若scott用户在安装oracle时没被解锁 可通过以下方法解锁scott用户

  首先以system帐户登陆sqlplus 密码为安装时设置的

  然后    alter user scott account unlock;

  提示重输密码 OK了

   SQL> select * from tab;

  TNAME                          TABTYPE   CLUSTERID

  

  DEPT                         TABLE

  EMP                         TABLE

  BONUS                          TABLE

  SALGRADE                       TABLE

  哈哈 又看到久违的这几张表了 说明oracle服务端已正常启动

  以下测试通过远程登陆 判断监听是否正常

  首先 执行在linux下用oracle用户登陆 输入命令开启监听 lsnrctl start

  如果无法正常启动监听 屏幕应该会有一些打印信息 不过 我没碰到 所以暂时就先不讨论异常情况啦!

  oracle我是在vm虚拟机上装的(ps:机子配置太低 一路上那个卡啊 还好我意志坚强 再卡都装起来了^_^) 把虚拟机ip设为 (用setup命令里面有个关于网络配置功能) 我的xp系统ip为

  默认网关都设为     可通过ping命令判断局域网是否能通 哇 一ping就通了 先恭喜自己一下!

  在保证了oracle的服务和监听都能起来 两台机也能ping通的前提下 接着在xp安装oracle客户端 我是装 i的 选择好安装目录 其他的按默认就行了 装好后在安装目录ora \\neork\\admin下 用记事本编辑tnsname ora文件 我的配置如下

  ORCL =

  (DESCRIPTION =

  (ADDRESS_LIST =

  (ADDRESS = (PROTOCOL = TCP)(HOST = )(PORT = ))

  )

  (CONNECT_DATA =

  (SERVICE_NAME = orcl)

  )

  )

  #orcl 为oracle的sid    host为要oracle服务器地址

  配置好之后可以cmd里面用tnsping orcl看看是不是能通 诶 延迟才 毫秒~~ 成功啦~

  之前有遇到过执行tnsping命令时提示不是内部或外部命令 这是因为环境变量的造成的 只要在path里面加一个oracle安装目录下的bin路径就可以啦 或者土一点 先cd到bin目录下 再执行tnsping~~~不过 还是不建议用这种土鳖的方法 配个环境变量可以一劳永逸嘛~~~~(ps:这里说的都是在xp里执行的 不是linux里哇 只是友情提醒一下 高手看了您别笑我~)

  之后我又安装了PLSQL Developer     (这个东西 那是相当好用啊!)

  一切准备就绪!打开PLSQL Developer 输入username/passwd   database选择刚才在tnsname里配的orcl 哎哟 登上去了 灰常开心啊!!!

  看来一切都很顺利 下面麻烦来了······

  关于dbstart的设置

  每次通过上述的方法来启动数据库比较麻烦 下面尝试用dbstart启动数据库

  首先 用oracle用户登陆 输入dbstart 发现如下屏幕打印提示

  Failed to auto start Oracle Net Listene using /ade/vikrkuma_new/oracle/bin/tnslsnr

  baidu一下 发现下面这篇文章(截取部分)

  看来是listener服务没有起来 但是执行lsnrctl start却能启动listener服务

  搜索dbstart文件中的tnslsnr字符串

  grep tnslsnr dbstart

  返回结果:

  if [ f $ORACLE_HOME_LISTNER/bin/tnslsnr ] ; then

  echo Failed to auto start Oracle Net Listene using $ORACLE_HOME_LISTNER/bin/tnslsnr

  看来可能是ORACLE_HOME_LISTNER环境变量引起的 查找 ORACLE_HOME_LISTNER

  grep ORACLE_HOME_LISTNER dbstart

  返回结果

  # ) Set ORACLE_HOME_LISTNER

  ORACLE_HOME_LISTNER=/ade/vikrkuma_new/oracle

  if [ ! $ORACLE_HOME_LISTNER ] ; then

  echo ORACLE_HOME_LISTNER is not SET unable to auto start Oracle Net Listener

  LOG=$ORACLE_HOME_LISTNER/listener log

  if [ f $ORACLE_HOME_LISTNER/bin/tnslsnr ] ; then

  $ORACLE_HOME_LISTNER/bin/lsnrctl start >> $LOG >& &

  export VER LIST=`$ORACLE_HOME_LISTNER/bin/lsnrctl version | grep LSNRCTL for | cut d f | cut d f `

  echo Failed to auto start Oracle Net Listene using $ORACLE_HOME_LISTNER/bin/tnslsnr

  $LOGMSG Restart Oracle Net Listener using an alternate ORACLE_HOME_LISTNER: lsnrctl start

  其中有一段给ORACLE_HOME_LISTNER环境变量赋值 但是这个路径是不对的 编辑dbstart文件

  vi dbstar

  将该行改为export ORACLE_HOME_LISTNER=$ORACLE_HOME

  保存退出

  满心欢喜的再次dbstart 昏 没反应 还有个dbshut也是没反应 继续baidu 如下

  dbstart需要修改/etc/oratab

  your_sid:/oracle/product/ :N

  将最后N修改为Y

  更加满心欢喜的再次dbstart 哇哈哈 起来了~~~果然baidu一下你就知道!!(虽然心里觉得似乎更牛 不知道为什么 每次第一反应就是baidu ^_^)

  用dbshut也能正常关闭数据库了 怎么有种妇唱夫随的感觉····

  再次回到xp用PLSQL Developer登陆 oh yeah~~~连上了!!!看来一切都正常了~~~

  终于可以心安理得的休息一下啦···(boo同学借您的 心安理得 用一下 您没意见吧?)

  以下是之前看到自动启动数据库的方法 先贴上来 等有空又有心情的时候再试试吧

  数据库的启动

  欲启动数据库服务 在系统启动后 登录oracle用户

  su – oracle

  lsnrctl start

  dbstart

  emctl start dbconsole

  isqlplusctl start

  这样可以手工启动数据库 若要让数据库在系统启动时随之启动 就需要多动点手了

   . 首先修改/etc/oratab 把orcjava:/home/oracle/OraHome_ :N改为orcjava:/home/oracle/OraHome_ :Y

   . 然后修改/etc/rc local

  添加如下几行

  su oracle c lsnrctl start

  su oracle c dbstart

  su oracle c emctl start dbconsole

  su oracle c isqlplusctl start

       进入/home/oracle/OraHome_ /bin 修改dbstart文件 将oratab=etc/oratab

  重新启动 reboot 看看系统能否自动加载服务

  如果仍然不能 请检查环境变量是否正确 如果/etc/下无oratab文件 到/home/oracle/install/目录下 复制oratab文件到/etc下 并修改

  #自动启动

  ~~~~~~~~~~~~~~~~~~~~华丽的分割线~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

  前两天在linux里成功的安装了Oracle G 每次启动oracle数据库都是用oracle用户登陆然后执行dbstart启动数据库 每次启动时都会报错

  Failed to auto start Oracle Net Listene using /ade/vikrkuma_new/oracle/bin/tnslsnr

  看来是listener服务没有起来 但是执行lsnrctl start却能启动listener服务

  搜索dbstart文件中的tnslsnr字符串

  grep tnslsnr dbstart

  返回结果:

  if [ f $ORACLE_HOME_LISTNER/bin/tnslsnr ] ; then

  echo Failed to auto start Oracle Net Listene using $ORACLE_HOME_LISTNER/bin/tnslsnr

  看来可能是ORACLE_HOME_LISTNER环境变量引起的 查找 ORACLE_HOME_LISTNER

  grep ORACLE_HOME_LISTNER dbstart

  返回结果

  # ) Set ORACLE_HOME_LISTNER

  ORACLE_HOME_LISTNER=/ade/vikrkuma_new/oracle

  if [ ! $ORACLE_HOME_LISTNER ] ; then

  echo ORACLE_HOME_LISTNER is not SET unable to auto start Oracle Net Listener

  LOG=$ORACLE_HOME_LISTNER/listener log

  if [ f $ORACLE_HOME_LISTNER/bin/tnslsnr ] ; then

  $ORACLE_HOME_LISTNER/bin/lsnrctl start >> $LOG >& &

  export VER LIST=`$ORACLE_HOME_LISTNER/bin/lsnrctl version | grep LSNRCTL for | cut d f | cut d f `

  echo Failed to auto start Oracle Net Listene using $ORACLE_HOME_LISTNER/bin/tnslsnr

  $LOGMSG Restart Oracle Net Listener using an alternate ORACLE_HOME_LISTNER: lsnrctl start

  其中有一段给ORACLE_HOME_LISTNER环境变量赋值 但是这个路径是不对的 编辑dbstart文件

  vi dbstar

  将该行改为export ORACLE_HOME_LISTNER=$ORACLE_HOME

  保存退出 然后执行dbstart就没问题了 呵呵

  想系统启动是自动启动数据库可以通过修改/etc/rc d/rc local文件

  一开始我写的命令是

  su oracle c ora_App/product/ /db_ /bin/lsnrctl start

  su oracle c ora_App/product/ /db_ /bin/dbstart

  但是su oracle c ora_App/product/ /db_ /bin/lsnrctl start是参数start不起作用 它进入了lsnrctl命令提示符 并没有启动 后来把命令用双引号引起来就可以了如下

  su oracle c ora_App/product/ /db_ /bin/lsnrctl start

  是可以启动了 但是启动时报错如下:

  Message not found; No message file for product=neork facility=TNSTNS : Message not found; No message file for product=neork facility=TNS

  TNS : Message not found; No message file for product=neork facility=TNS

  但是如果我用oracle用户登陆执行lsnrctl start就不报错 看来是在root用户中执行su oracle c ora_App/product/ /db_ /bin/lsnrctl start 有些Oracle环境变量没有设置 查了一下su 命令的参数 其中有个 l参数

   l或 login  改变身份时 也同时变更工作目录 以及HOME SHELL USER LOGNAME 此外 也会变更PATH变量

  加上参数

  su oracle lc ora_App/product/ /db_ /bin/lsnrctl start

  正常了!呵呵 终于弄完了 总算是一晚上没白费

  或许这么做比较专业点

  可以在/etc/init d/下写一个shell 就叫oracle好了 内容如下

  #!/bin/sh

  ORACLE_HOME=/home/oracle/oracle/product/ /db_

  ORACLE=oracle

  case $ in

   start )

  echo start oracle

  su oracle c $ORACLE_HOME/bin/dbstart $ORACLE_HOME &

  su oracle c $ORACLE_HOME/bin/lsnrctl start ;;

   stop )

  echo stop oracle

  su oracle c $ORACLE_HOME/bin/dbshut &

  su oracle c $ORACLE_HOME/bin/lsnrctl stop ;;

  *)

  echo usage: $ start|stop

  exit

  ;;

  esac

cha138/Article/program/Oracle/201311/17067

相关参考

知识大全 oracle内存调优参数详解

  实例结构  oracle实例=内存结构+进程结构  oracle实例启动的过程其实就是oracle内存参数设置的值加载到内存中并启动相应的后台进程进行相关的服务过程  进程结构  oracle进程

知识大全 oracle数据库监听器的问题

  ORA-TNS没有监听器  原因没有启动监听器或者监听器损坏如果是前者使用命令  netstartOracleOraHomeTNSListener(名字可能有出入)即可  如果是后者则使用NetC

知识大全 有关Oracle存储过程的相关问题

有关Oracle存储过程的相关问题  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  详细讲解有关O

知识大全 oracle开机自动启动方法

  以redhat和oracleg为例安装过程参考官方文档以下是实现oracle自启动的方法  配置dbstart和dbshut  在$ORACLE_HOME/bin中有dbstart和dbshut这

知识大全 将oracle设为归档模式启动的方法

  先手动建立归档目录在调整oracle启动方式    将oracle设为归档模式    手工在主服务器创建归档目录    $cd$ORACLE_BASE      #$ORACLE_BASE所指向的

知识大全 Oracle多种启动方式

Oracle多种启动方式  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  startupnomou

知识大全 Oracle启动程序方式详细介绍

Oracle启动程序方式详细介绍  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!startupnom

知识大全 在Oracle10g里启动自动归档模式

在Oracle10g里启动自动归档模式  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!在Oracle

知识大全 ORACLE删除数据文件后无法启动

ORACLE删除数据文件后无法启动  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  查看数据库的状

知识大全 Oracle 启动例程 STARTUP参数说明

Oracle启动例程STARTUP参数说明  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!lishi