最近一直在看oracle,对它的一大堆网络配置术语搞得晕头转向,本文想从两个方面着手说明oracle的工作流程,本文信息全是本人实践所感悟到,有不周不实之处,还望多多指点。
程序如何远程连接oracle
在本地写的程序经常需要查询远程oracle的数据,首先,程序会先查看TNS_NAME环境变量,查看tnsnameora文件,文件中记载了远程连接oracle所需的信息,如IP、端口、服务、协议等等,如果没有配置环境变量,那会系统会到ORACLE_HOME/NETWORK/ADMIN目录下查找tnsnameora(当然,tnsnameora只是本地命名方法,此外,还有一些诸如目录命名法等)
这时,在oracle所在远程主机中应开启监听程序,可以很简单的通过网络配置助手进行配置,什么名字无所谓,但是需要有个监听程序用来处理远端的请求。
sqlplus如何远程连接oracle
sqlplus连接数据库的方法是不大一样的,当然,前面的步骤,如查找tnsnameora文件,这些都是一致的,在这些文件中存在远程主机的位置信息。
但是在oracle主机上面,对sqlplus请求的信息进行处理却不是监听程序进行的,而是本地网络服务,用于处理sqlplus请求。
不知道为什么oracle要这么处理,但是确实是这样,当把监听程序停掉之后,sqlplus仍然可以远程连接。
所以如果,自己希望连接oracle,却一直连接不上,那么仔细检查一下tnsnameora文件吧,或者是配置的环境变量是否有问题。
1、首先按下Win+R打开运行,键入“gpeditmsc”,回车打开了组策略编辑器;
2、在打开的窗口中依次展开“计算机配置”-“Windows设置”-“安全设置”-“本地策略”-“审核策略”选项,然后在右边窗口中,双击打开“审核对象访问”;
3、接着再在“本地安全设置”选项卡中把“审核对象访问”的“审核这些 *** 作”设置为“成功”,然后点击“确定”保存设置;
4、添加QQ为审核的对象,
1)下面以QQ为例先找到QQ主程序,右键单击打开“属性”窗口,切换到“安全”选项卡,然后点击“高级”按钮;
2)在d出的QQ的高级安全设置窗口中,切换到“审核”选项卡,如果需要权限,就输入管理员账户密码信息或是单击“继续”按钮,然后点击“编辑”按钮;
3)接着在打开的窗口中在“审核”窗口中点击“添加”,在d出来的“选择用户或组”的对话框,将当前用户名输入进去,点击“确定”保存;
4)接着在左侧的“Windows日志”中打开“安全”,右侧窗口中就可以看到相对应的事件,其中不难发现有刚才QQ的审核信息,同样这个审核功能还可以应用到其他程序上,比如某些下载程序等,Win7会详细记录每次程序运行的详细情况,让你对电脑使用情况了如指掌。
打开Oracle
Net
Manager创建监听
1
在开始菜单,选择oracle,再选择“配置和移值工具”,打开Oracle
Net
Manager。
2
在d出的窗口上
选择“监听程序”,点击左边的“+”图标,创建监听。
3
在接下来的窗口上选择监听名称,或者自己起一个监听名称,在点击下方“确定”按钮。
END
添加服务器数据库IP地址配置监听
1
点击“添加地址”按钮,填写好服务器主机ip地址以及端口号并及时保存。
END
配置服务名称
选择“服务名称”,创建一个服务名称,最好跟目标主机数据库服务名称一致。
点击下一步,选择TC/IP选项,再单击下一步。
填写好服务器数据库主机名,一般填写IP地址就可以了,再填写好端口:1521
。下一步的时候,填写好服务名,跟SID一致就可以了。
测试是否可以连通,点击“测试”按钮,更改进入数据库 *** 作的账户跟密码点击测试。
测试连接成功如下图,如果测试未成功,就按上面的步骤仔细检查看看哪里出问题了。一般查询服务器ip地址、端口、数据库用户名、密码、防火墙等等地方是否有问题。
方法1:可以利用ServletContext类的对象application解决,这个属于整个web应用都公用的内部对象。例如在监听器中
public class GetConnListener implements ServletContextListener {
//例如这个是要传的数据
String data="0";
//当此web应用被访问后启用该方法
public void contextInitialized(ServletContextEvent sce) {
//创建application
ServletContext application=scegetServletContext();
//将数据存入application的属性中
applicationsetAttribute("Data",data);}
然后再JSP页面,的JSP脚本中写入
String data=(String)sapplicationgetAttribute("Data");
outprint(data);
就能狗获取和输出这个数据了。
方法二便是直接在JAVA中把数据存入数据库,JSP从数据库中读出数据。
1、如果你的是纯java的应用,那么可以通过给事件增加一个事件监听器的方式来加入相应的监听器
2、如果你写的是Web应用的java程序,那么你可以去通过去实现一个servlet的监听器接口来实现自己的监听器,在写完自己的监听器之后,你还要把监听器配置到你的webxml文件中,这事在服务器加载你的web应用项目的时候,就会自动的加载该监听器从而进行相应的初始化 *** 作了。
oracle是这样的:
监听与数据库的服务是分开的,是单独的一个Session线程。
监听是专门负责挂牌的,就想医院里面你看到的专门挂牌的那个地方用来接待病人的(即:访问IP)
但是监听到有病人的时候,知道她看妇科病,但是妇科医生没有坐诊(即:为所寻找的这个数据库实例没有启动,不坐诊)
现在你是强行让妇科医生坐诊,但是医院却不开门(即监听为关闭状态)
所以总让你先开启监听,开启监听的步骤如上图所说:
或者:
cmd-->lsnrctl start
-->sqlplus "/as sysdba"
-->startup;
此时就OK了。
以上就是关于oracle监听程序配置与网络服务名配置有什么用全部的内容,包括:oracle监听程序配置与网络服务名配置有什么用、win7旗舰版系统如何设置全程监控电脑运行的程序、oracle不能创建监听程序怎么解决等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)