最近研究在suse 11上安装 oracle 11 数据库,安装成功了,当天是可以连接的,
但是第二天来上班,再去连接,就不行了,废了我一番功夫,才搞定,记录如下,希望可以帮助到有遇到类似错误的兄弟。
当连接数据库时首先出现
ORA-12541:TNS:无监听程序
在命令行输入:lsnrctl start
之后,再去连接又出现了
ORA-12514: TNS: 监听程序当前无法识别连接描述符中请求的服务
凭着自己的经验,肯定监听文件有问题,一查看发现监听文件还未配置服务(一直没有明白为什么会这样,明明自己配置了服务。)发现和正常listener.ora少了下面信息:
XP样板:
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(GLOBAL_DBNAME = ORCL)服务名
(ORACLE_HOME = E:\Server\oracle\product\10.2.0\db_1)#注意最后不要带"\"符号
(SID_NAME = ORCL)##这个是你要添加的服务
)
(SID_DESC =
(PROGRAM = extproc)
(SID_NAME = PLSExtProc)
(ORACLE_HOME = E:\Server\oracle\product\10.2.0\db_1)##这个服务保证你可以使用外部过程
)
)
Linux样板:
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(GLOBAL_DBNAME = TESTDB)
(ORACLE_HOME = /fantlam/oracle/app/oracle/oracle)
(SID_NAME = TESTDB)
)
(SID_DESC =
(PROGRAM = extproc)
(SID_NAME = PLSExtProc)
(ORACLE_HOME = /fantlam/oracle/app/oracle/oracle)
)
)
然后再配置tnsnames.ora文件,加入下面的内容:(这个文件也要检查下)
ZHANGYU =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = test) 与上面的服务名对应
)
)
在连接时你就可以这样测试下:
tnsping 服务名;
最后几行出现下面类似的文本信息就表明服务配置成功:
Used TNSNAMES adapter to resolve the alias
Attempting to contact (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))) (CONNECT_DATA = (SERVICE_NAME = test)))
OK (110 msec)
再一次在命令行输入:sqlplus 用户名/密码@服务名
出现了如下错误信息:
ERROR:
ORA-01034: ORACLE not available
ORA-27101: shared memory realm does not exist
Linux Error: 2: No such file or directory
Process ID: 0
Session ID: 0 Serial number: 0
接着再一次输入:sqlplus 用户名/密码@服务名
Enter user-name: / as sysdba 进入SQL模式
Enter user-name: /as sysdba
Connected to an idle instance.
SQL> show parameter local_listener
ORA-01034: ORACLE not available
Process ID: 0
Session ID: 0 Serial number: 0
SQL> startup mount
ORA-01078: failure in processing system parameters
LRM-00109: could not open parameter file '/fantlam/oracle/app/oracle/oracle/dbs/initfantlam.ora'
如果出现这样的错误信息就到 ORACLE_HOME 目录下 找到admin/服务名文件夹/pfile/init.ora.....里面有这样的一个类似文件
复制出来,改为上面找不到的文件名,然后再把它放到上面找不到的文件目录下,系统就可以找到了
再一次运行
SQL> startup
ORACLE instance started.
证明服务已经启动了,大功告成,废了我一番功夫。哎。。。
ORA-12541 ORA-12514 ORA-01034 ORA-27101 LRM-00109
猜你喜欢
转载自dk19870616.iteye.com/blog/1555667
今日推荐
周排行