请教各位高人,我在自己的虚拟机上装的是solaris10,数据库是oracle10.1.0.3.0,主机名如下:
$ hostname
fanww
$
在TELNET到虚拟机上之后可以正常启动监听,数据库也能启动,如下:
$ lsnrctl start
LSNRCTL for Solaris: Version 10.1.0.3.0 - Production on 24-NOV-2008 09:15:55
Copyright (c) 1991, 2004, Oracle. All rights reserved.
Starting /oracle/u01/app/oracle/OraHome_1/bin/tnslsnr: please wait...
TNSLSNR for Solaris: Version 10.1.0.3.0 - Production
System parameter file is /oracle/u01/app/oracle/OraHome_1/network/admin/listener.ora
Log messages written to /oracle/u01/app/oracle/OraHome_1/network/log/listener.log
Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC)))
Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=fanww)(PORT=1521)))
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC)))
STATUS of the LISTENER
------------------------
Alias LISTENER
Version TNSLSNR for Solaris: Version 10.1.0.3.0 - Production
Start Date 24-NOV-2008 09:15:55
Uptime 0 days 0 hr. 3 min. 45 sec
Trace Level off
Security ON: Local OS Authentication
SNMP OFF
Listener Parameter File /oracle/u01/app/oracle/OraHome_1/network/admin/listener.ora
Listener Log File /oracle/u01/app/oracle/OraHome_1/network/log/listener.log
Listening Endpoints Summary...
(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC)))
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=fanww)(PORT=1521)))
Services Summary...
Service "PLSExtProc" has 1 instance(s).
Instance "PLSExtProc", status UNKNOWN, has 1 handler(s) for this service...
Service "testora" has 1 instance(s).
Instance "testora", status UNKNOWN, has 1 handler(s) for this service...
The command completed successfully
$ $ $ $ $ $ $ $ $ $ $ sqlplus "/as sysdba"
SQL*Plus: Release 10.1.0.3.0 - Production on Mon Nov 24 09:20:01 2008
Copyright (c) 1982, 2004, Oracle. All rights reserved.
Connected to an idle instance.
SQL>
SQL>
SQL>
SQL> select status from v$instance;
select status from v$instance
*
ERROR at line 1:
ORA-01034: ORACLE not available
SQL> startup;
ORACLE instance started.
Total System Global Area 289406976 bytes
Fixed Size 778796 bytes
Variable Size 95428052 bytes
Database Buffers 192937984 bytes
Redo Buffers 262144 bytes
Database mounted.
Database opened.
SQL>
SQL>
SQL>
SQL> select status from v$instance;
STATUS
------------
OPEN
虚拟机的TNS及监听为:
$ cat tnsnames.ora
# tnsnames.ora Network Configuration File: /oracle/u01/app/oracle/OraHome_1/network/admin/tnsnames.ora
# Generated by Oracle configuration tools.
TESTORA =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = fanww)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = testora)
)
)
EXTPROC_CONNECTION_DATA =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC))
)
(CONNECT_DATA =
(SID = PLSExtProc)
(PRESENTATION = RO)
)
)
$ cat listener.ora
# listener.ora Network Configuration File: /oracle/u01/app/oracle/OraHome_1/network/admin/listener.ora
# Generated by Oracle configuration tools.
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = PLSExtProc)
(ORACLE_HOME = /oracle/u01/app/oracle/OraHome_1)
(PROGRAM = extproc)
)
(SID_DESC =
(GLOBAL_DBNAME = testora)
(ORACLE_HOME = /oracle/u01/app/oracle/OraHome_1)
(SID_NAME = testora)
)
)
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC))
(ADDRESS = (PROTOCOL = TCP)(HOST = fanww)(PORT = 1521))
)
)
$
属主机里的TNS配置为:
TESTORA =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = fanww)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = testora)
)
)
在属主机进行TNSPING虚拟机提示
C:\Documents and Settings\Administrator>tnsping testora
TNS Ping Utility for 32-bit Windows: Version 10.2.0.3.0 - Production on 24-11月-
2008 09:30:20
Copyright (c) 1997, 2006, Oracle. All rights reserved.
已使用的参数文件:
C:\oracle\product\10.2.0\db_1\network\admin\sqlnet.ora
已使用 TNSNAMES 适配器来解析别名
Attempting to contact (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)
(HOST = fanww)(PORT = 1521))) (CONNECT_DATA = (SERVICE_NAME = testora)))
TNS-12541: TNS: 无监听程序
C:\Documents and Settings\Administrator>
在虚拟机里进行TNSPING则显示结果为
TNS-12535: TNS
peration timed out
如下:
SQL> exit
Disconnected from Oracle Database 10g Enterprise Edition Release 10.1.0.3.0 - Production
With the Partitioning, OLAP and Data Mining options
$ tnsping testora
TNS Ping Utility for Solaris: Version 10.1.0.3.0 - Production on 24-NOV-2008 09:37:04
Copyright (c) 1997, 2003, Oracle. All rights reserved.
Used parameter files:
/oracle/u01/app/oracle/OraHome_1/network/admin/sqlnet.ora
Used TNSNAMES adapter to resolve the alias
Attempting to contact (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = fanww)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = testora)))
TNS-12535: TNS
peration timed out
$
在虚拟机里进行登录ORACLE正常
$ sqlplus test/test
SQL*Plus: Release 10.1.0.3.0 - Production on Mon Nov 24 09:44:01 2008
Copyright (c) 1982, 2004, Oracle. All rights reserved.
Connected to:
Oracle Database 10g Enterprise Edition Release 10.1.0.3.0 - Production
With the Partitioning, OLAP and Data Mining options
SQL>
而在属主机进行sqlplus的时候就提示我
C:\Documents and Settings\Administrator>sqlplus test/test@testora
SQL*Plus: Release 10.2.0.3.0 - Production on 星期一 11月 24 09:45:14 2008
Copyright (c) 1982, 2006, Oracle. All Rights Reserved.
ERROR:
ORA-12541: TNS: 无监听程序
在虚拟机里加入实例进行sqlplus提示:
$ sqlplus test/test@testora
SQL*Plus: Release 10.1.0.3.0 - Production on Mon Nov 24 09:46:22 2008
Copyright (c) 1982, 2004, Oracle. All rights reserved.
ERROR:
ORA-12170: TNS:Connect timeout occurred
但是我在属主机上进行PING的时候,网络一切正常
C:\Documents and Settings\Administrator>ping fanww
Pinging fanww [10.0.68.10] with 32 bytes of data:
Reply from 10.0.68.10: bytes=32 time<1ms TTL=128
Reply from 10.0.68.10: bytes=32 time<1ms TTL=128
这样导致我的ORACLE,无法通过实例登录,请教各位高人,这是什么原因?如何解决?我在网上没有找到类似的情况
[本帖最后由 schelca 于 2008-11-24 09:57 编辑]