Connected to an idle instance

昨天又搞了一个下午加一个晚上,期间去逛了趟超市,做了个咖喱饭看了个电影,洗了个澡,让脑袋清醒了一下还是没有解决好问题。先说说问题吧,将数据库安装好以后就用dbca进入创建数据库,创建数据库的过程中被提示要先配置监听器。因此就又先去配监听器,发现已经有默认监听器LISTENER。就又返回创建数据库,改用了数据库名orcl。这是我已经知道后面会出现问题的啦,因为以前在windows下的oracle 10g就遇到过这样的问题,只是那时候很容易就解决了,心想在linux下应该也能很容易解决吧,解决过程中顺便学习一下。在安装orcl的时候,在最后一步弹出了一个错误“File '/etc/oratab' is not acessible”。网上查了一下,原因是在安装数据库的时候要运行一个脚本"root.sh",在“$ORACLE_HOME/network/admin”下的,此脚本就是创建“/etc/oratab”文件的。于是推出orcl,安装脚本。脚本安装好了,orcl没有安装完成,但是提示orcl已经 存在,必须改用另外的数据库名。无奈ing.....

不想再更改数据库名,因此用dbca卸载了,然后再重装orcl。成功啦。

但是用"sqlplus sys as sysdba"的时候提示“Connected to an idle instance”。我知道是oracle_sid惹的祸,但是却找不到在哪里修改。在windows下很好解决,一个命令“set oracle_sid = orcl”就解决啦,可现在是在Linux下。首先想到的就是.bash_profile文件,因为在安装数据库前就对它进行了配置,其中有一项就是ORACLE_SID。好,修改完了,还是不行。用env查看环境变量oracle_sid还是zdb。接着我修改了pfile下的init文件,监听器文件listener.ora,重新启动监听程序,OK啦。欣喜一下....

重启服务器,试一下重启后效果,连接数据库没有问题啦,谁知道数据操作的时候就出问题啦,错误提示是“01034:oracle not available”。彻底晕了,因为这个问题出现的可能性太多啦,昨天就停止这里动不了啦。算了,还是睡觉吧。

一觉睡醒,启动Linux,连接数据库的时候问题又返回成了"Connected to an idle instance"。这次改变策略,问题很快就解决啦。方法如下:

用PFILE启动。
找到PFILE文件。命名规则是INIT.ORA。
然后这样:
SQL> CONNECT / AS SYSDBA
SQL> STARTUP NOMOUNT PFILE=INIT.ORA
注意要带路径
SQL>CREATE SPFILE FROM PFILE;
SQL>SHUTDOWN IMMEDIATE;
SQL>STARTUP

[@more@]

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/25458668/viewspace-1050486/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/25458668/viewspace-1050486/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值