xp+oracle 10g
静态监听器的配置
关键文件 G:/oracle/product/10.2.0/db_1/NETWORK/ADMIN/listener.ora
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = PLSExtProc)
(ORACLE_HOME = G:/oracle/product/10.2.0/db_1)
(PROGRAM = extproc)
)
(SID_DESC =
(GLOBAL_DBNAME = Oracle10g)
(SID_NAME = ORCL)
)
)
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))
)
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = PC-20100507IEAL)(PORT = 1521))
)
)
红色部分为静态监听器的配置部分。有名字便可知道其含义,这里不多说,呵呵。
绿色部分有名字也知道其含义,简单吧,另外,dos下的三个命令
lsnrctl start/status/stop可查看监听器的状态信息
当监听器启动时,可用lsnrctl status(如果是在SQL模式下,需要用HOST LSNRCTL STATUS)查看到如下信息:(这里直接取其中的重要部分)
...................
服务“Oracle 10g”包含1个例程。
例程“ORCL”,状态UNKNOWN,包含此服务的1个处理程序。。。。。。
服务“PLSExtProc”包含1个例程.
例程“PLSExtProc”,状态UNKNOWN,包含此服务的1个处理程序。。。。。。
服务"orcl"包含1个例程
例程“orcl”,状态READY,包含此服务的1个处理程序。。。。
...................
其中绿色部分为静态监听,红色部分为动态监听.由于静态监听是在监听器启动时读取lisnter.ora文件时读取的,所以,速度要比动态监听快
,当用lsnrctl status查看不到红色的部分时,正常,要等一段时间在查看
1.HOSTNAME
关键文件:C:/WINDOWS/system32/drivers/etc/hosts,可以用记事本打开编辑
在 127.0.0.1 localhost 下面添加一横 ip(被访问主机) 服务名
关键文件E:/oracle/product/10.2.0/db_1/NETWORK/ADMIN/sqlnet.ora中的
NAMES.DIRECTORY_PATH= (TNSNAMES, EZCONNECT)改成NAMES.DIRECTORY_PATH= (HOSTNAME)
其中服务名即为被访问主机中监听器中的服务名称,本例中为Oracle10g或者orcl
测试:
SQL>connect sys/abcd@服务名 as sysdba;
2.TNSNAMES
关键文件:E:/oracle/product/10.2.0/db_1/NETWORK/ADMIN目录下的tnsnames.ora和sqlnet.ora
在sqlnet.ora中,有这样一段NAMES.DIRECTORY_PATH= (TNSNAMES, EZCONNECT),括号里面的代表两种连接方式。系统会根据你连接串即@后的部分自动选择分析合适的连接方式
在tnsname.ora中,有这样一段
FUWUMING =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = WWW-25495F83280)(PORT = 1521))
)
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = jav)
)
)
其中,FUWUMING是该链接方式的连接串,可以随便写。HOST为被连接主机,SERVICE_NAME和服务器端全局数据库名称相同。即服务器该目录下的listener.ora中,GLOBAL_DBNAME对应的值。
SQL>connect sys/abcd@FUWUMING as sysdba;
3.EZCONNECT
关键文件:E:/oracle/product/10.2.0/db_1/NETWORK/ADMIN目录下的tnsnames.ora
SQL>connect sys/abcd@服务器名:数据库监听端口/服务器全局数据库名 as sysdba
此外,需要说明的就是E:/oracle/product/10.2.0/db_1/NETWORK/ADMIN/sqlnet.ora文件中的
SQLNET.AUTHENTICATION_SERVICES= (none) ,默认值为NTS,其中NTS为操作系统连接认证。none为数据库连接认证