IT猫扑网:您身边最放心的安全下载站! 最新更新|软件分类|软件专题|手机版|论坛转贴|软件发布

您当前所在位置:首页数据库Oracle → ORACLE启动相关问题

ORACLE启动相关问题

时间:2015/6/28来源:IT猫扑网作者:网管联盟我要评论(0)

  在安装oracle 11g完成后,发现不少问题,现整理如下:

  首先:用oracle用户登陆

  1. sqlplus sys as sysdba

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

  3. 启动数据库

  SQL>startup

  ORACLE instance started.

  Total System Global Area   268435456 bytes

  Fixed Size    1218892 bytes

  Variable Size  92276404 bytes

  Database Buffers 171966464 bytes

  Redo Buffers 2973696 bytes

  Database mounted.

  Database opened.

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

  可用如下命令关闭数据库:

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

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

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

  4. SQL> conn scott/tiger

  Connected

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

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

  然后    alter user scott account unlock;

  提示重输密码,OK了。

  5. SQL> select * from tab;

  TNAME  TABTYPE   CLUSTERID

  ------------------------------ ------- ----------

  DEPT TABLE

  EMP TABLE

  BONUS  TABLE

  SALGRADE     TABLE

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

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

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

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

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

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

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

  ORCL =

  (DESCRIPTION =

  (ADDRESS_LIST =

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

  )

  (CONNECT_DATA =

  (SERVICE_NAME = orcl)

  )

  )

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

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

  之前有遇到过执行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

  返回结果

  # 3) 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 2>&1 &

  export VER10LIST=`$ORACLE_HOME_LISTNER/bin/lsnrctl version | grep "LSNRCTL for " | cut -d' ' -f5 | cut -d'.' -f1`

  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

#p#副标题#e#

  将该行改为export ORACLE_HOME_LISTNER=$ORACLE_HOME

  保存退出。

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

  dbstart需要修改/etc/oratab,

  your_sid:/oracle/product/9.2.0.4:N

  将最后N修改为Y

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

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

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

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

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

  数据库的启动:

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

  su – oracle

  lsnrctl start

  dbstart

  emctl start dbconsole

  isqlplusctl start

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

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

  2. 然后修改/etc/rc.local

  添加如下几行:

  su - oracle -c 'lsnrctl start'

  su - oracle -c 'dbstart'

  su - oracle -c 'emctl start dbconsole'

  su - oracle -c 'isqlplusctl start'

  3.    进入/home/oracle/OraHome_1/bin 修改dbstart文件,将oratab=etc/oratab

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

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

关键词标签:ORACLE启动问题

相关阅读

文章评论
发表评论

热门文章 Oracle中使用alter table来增加,删除,修改列Oracle中使用alter table来增加,删除,修改列oracle中使用SQL语句修改字段类型-oracle修oracle中使用SQL语句修改字段类型-oracle修使用低权限Oracle数据库账户得到管理员权限使用低权限Oracle数据库账户得到管理员权限Oracle对user的访问控制Oracle对user的访问控制

相关下载

人气排行 ORACLE SQL 判断字符串是否为数字的语句Oracle中使用alter table来增加,删除,修改列的语法ORACLE和SQL语法区别归纳(1)oracle grant 授权语句如何加速Oracle大批量数据处理Oracle删除表的几种方法ORACLE修改IP地址后如何能够使用Oracle 10g创建表空间和用户并指定权限