oracle11g ORA
发布网友
发布时间:2022-05-03 23:31
我来回答
共1个回答
热心网友
时间:2022-05-04 01:01
Connected to an idle instance
证明你实例未启动,先:
在cmd中输入net start|find "Ora"
一般有下面的两行:
OracleOraDb10g_home1TNSListener *
OracleServiceORCL 数据库服务
如果没有的话,在运行里面输入
services.msc 找到相关实例服务,启动之
然后在sqlplus / as sysdba;
执行启动startup nomount;
alter database mount;
alter database open;
如果上面的三条语句顺利执行,数据库就能打开了,不行的话,查看alert_sid.ora文件中的错误信息。
然后The listener supports no services,这个信息显示,你的*还未配置服务,如果要添加服务可以在listener.ora这个文件中输入下面信息:
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(GLOBAL_DBNAME = test) 服务名
(ORACLE_HOME = E:\oracle\proct\10.2.0\db_1) db_home
(SID_NAME = ORCL) ##这个是你要添加的服务
)
(SID_DESC =
(PROGRAM = extproc)
(SID_NAME = PLSExtProc)
(ORACLE_HOME = E:\oracle\proct\10.2.0\db_1) ##这个服务保证你可以使用外部过程,如C程序
)
)
然后再配置tnsnames.ora文件,加入下面的内容:
ZHANGYU =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = test) 与上面的服务名对应
)
)
在连接时你就可以这样测试下:
tnsping zhangyu;
最后几行出现下面类似的文本信息就表明服务配置成功:
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)
还有*的动态注册特征,感兴趣的可以参见一些资料,由于篇幅有限,就介绍这么多。
以上都是自己写的,绝无CTL+c,ctl+v.
*的配置跟所用平台无关,主要问题是这两个脚本文件;unix我没用过,不过linux我倒是用过的。