oracle原理:11g中的网络配置 -凯发k8官方网
目录
1.11g的网络连接方式
2. 11g中网络配置的主要文件
3.静态注册和动态注册
4.netca和netmanager
1.11g的网络连接方式
在windows下,安装完oracle会自动完成好网络配置实现网络连接,但是在linux下,得自己手动配置才行。客户端有tnsnames.ora的配置文件来配置网络服务名,如服务器地址,监听端口,数据库sid等。而服务器端有listener.ora配置文件来配置监听器,如监听协议、地址及其他信息。从本地访问数据库服务器,首先要开启oracleserviceorcl服务,如果是通过网络访问数据库服务器,还要启动oracleoradb11g_home1tnslistener服务。
lsnrctl [status/start/stop]
在windows和linux下都可以用上面的命令来查看/开启/停止监听服务,当然如果是在windows下还可以在控制面板的服务里通过可视化界面直接 查看/开启/停止服务。
2. 11g中网络配置的主要文件
主要文件有三个,都位于 $oracle_home\network\admin路径下的 sqlnet.ora 、listener.ora、tnsnames.ora.我的这三个文件在d:\oracle\product\11.2.0\dbhome_3\network\admin。直接可以用可视界面进行修改参数,或者用vim编辑。
2.1 打开sqlnet.ora 里面有这一句话:sqlnet.authentication_services= (nts) 这是基于操作系统的验证方式。这可以让你在以管理员身份登录操作系统时,可以无需输入用户密码就可以以sysdba角色直接登录上,如下图所示。如果把nts改成none,那么就是以口令形式进行登录,此时就不可以无密码直接登录了。
sqlnet.ora 里面有还有一句话:names.directory_path= (tnsnames, ezconnect) , 这个是连接方式。默认是先按照tnsnmanes.ora文件里指定的连接方式,如果在文件里查无相应记录则会用简单连接的方式尝试连接。想要用什么连接方式连接往括号里面加参数就行,不想用该连接方式就删除对应参数即可。参数有tnsnames,onames,hostname,ezconnect。越前面的参数的越先用对应的方式尝试连接。
sqlplus user/password@ip:端口/orcl --在cmd窗口下 conn user/password@ip:端口orcl --在sqlplus窗口下 例如: sqlplus voapd/voapd@hu-pc/orcl像这种方式就是简单连接,如果出现oracle中监听程序当前无法识别连接描述符中请求服务的错误,可以参考
https://www.cnblogs.com/telwanggs/p/10935367.html 的凯发k8官方网的解决方案。
2.2listener.ora文件里有(address = (protocol = ipc)(key = extproc1521)) ,这个是调用外部过程的监听,比如调用c /java等一些高级语言的方法程序来完成相应的任务,如果把这行删了,就无法调用外部过程了.
global_dbname :全局数据库名。通过select * from global_name; 查询得出 。
protocol:监听协议,一般都使用tcp
listener :监听名称,可以配置多个监听。
global_dbname:全局数据库名
sid_name:服务名,通常和全局数据库名一致。
我的配置如图:
2.3.在客户端没有tsnames.ora文件时,除了复制别人的,还可以用netca进行可视化配置。没有tsnames,ora文件也就无法按照tnsnmanes.ora文件里指定的连接方式进行连接了。
打头的左对齐的变量就是服务名(sid),例如上文的orcl、oraclr_connection_data。
其中在address 写上要连接服务器的端的信息,连接方式tcp,主机为hu-pc端口为1521,当然host也可以是ip地址、域名等.
可以在 cmd窗口中 输入 tnsping [服务名] 来看能不能ping通服务,而这里的服务名就是tsnames.ora里的sid来查找的。
3.静态注册和动态注册
3.1 在listener.ora里如果有类型下面的语句就是静态注册,指明了全局数据库名,服务名,oracle主目录等。
sid_list_listener =(sid_list =(sid_desc =(sid_name = clrextproc)(oracle_home = d:\oracle\product\11.2.0\dbhome_3)(program = extproc)(envs = "extproc_dlls=only:d:\oracle\product\11.2.0\dbhome_3\bin\oraclr11.dll"))(sid_desc =(global_dbname = orcl)(oracle_home = d:\oracle\product\11.2.0\dbhome_3)(sid_name = orcl)))3.2 在listener.ora里如果有类型下面的语句就是动态注册
listener =(description_list =(description =(address = (protocol = tcp)(host = hu-pc)(port = 1521))(address = (protocol = ipc)(key = extproc1521)) ))在cmd中输入lsnrctl status 如果状态为unknown就是静态注册,如果是ready就是动态注册.动态注册可以不需要listener.ora文件。在启动监听服务时需要读取listener.ora文件内容,如果没有listener.ora文件时,默认情况pmon会向lsntctl动态注册协议为tcp/ip,端口为1521注册到监听器。
lsnrctl status 来查看我监听状态
想要静态注册和动态注册之间转化,就需要把listener.ora的静态注册的部分给删掉,或者把listener.ora给删除。重启服务如图所示。在读listener.ora文件内容里要是没有相应的静态注册信息,待pmon进程重启后会对监听器进行动态注册。
由于pmon后台进程是随着数据库打开才会打开的,动态注册大概需要1分钟才能完成。
4.netca和netmanager
以管理员的身份启动cmd,输入netca会有一个界面,如图,这是一个对参数文件进行修改的可视化界面,要比上面操作文件来改参数要方便得多。监听程序配置实际上就是配置listener.ora配置文件的可视化界面。命名方法配置是配sql,ora的,本地网络服务配置tsnames.ora的。
在win菜单下搜索net manageer打开,这里面可以进行静态注册,选择添加数据库,写入相应的信息,oracle主目录就是oracle_home.
添加完数据库后,重启lsnrctl服务等待1分钟。
可以重新查看listener.ora文件,发现静态注册信息又添加上去了。
注意:不建议直接手动操作配置文件,尽量采用可视化管理工具来操作。如果出现tns监听异常,或者服务无法打开,尝试把listener.ora备份后删除,在重新用可视化工具进行配置。
与50位技术专家面对面20年技术见证,附赠技术全景图总结
以上是凯发k8官方网为你收集整理的oracle原理:11g中的网络配置的全部内容,希望文章能够帮你解决所遇到的问题。
- 上一篇:
- 下一篇: