为什么server 2008r2 php 连接oracle 这么慢,使用起来卡顿几秒

为什么server 2008r2 php 连接oracle 这么慢,使用起来卡顿几秒,第1张

首先,我们要解除oracle安装的windows版本检测1、编辑安装包内文件 database\stage\prereq\db\refhost.xml 增加下面节点 <OPERATING_SYSTEM> <VERSION VALUE="6.1"/> </OPERATING_SYSTEM>2、编辑安装包内文件database\install\oraparam.ini 找到[Certified Versions]小节 在下面的第二行中增加windows版本6.1,如下面所示 Windows=4.0,5.0,5.1,5.2,6.1 注意要把windows 前面的"#"去掉,否则无效3、执行C:\Windows\System32\UserAccountControlSettings.exe 把旁边的控制块拉到最下面。最后,要以兼容形式运行安装程序。4、右击setup.exe 点击属性-兼容性- 勾选以兼容模式运行这个程序 ,下拉列表中选择windos xp sp3一切完成以后点击setup开始安装吧。oracle 装好了?很兴奋?接下来还有其他软件的问题了 在使用oracle自带的sqlplus连接本机或者远程的oracle实例均能成功过,但使用 PL/SQL Developer (我装的是7.1版本) 连接任何一个实例在登录时均报“ORA-12154: TNS:无法解析指定的连接标识符”错误。冷静,先分析原因,既然sqlplus已经能够连接,说明oracle的安装(至少客户端的安装)是正常的,TNS的配置是正确的。问题应该出在PL/SQL Developer 自身。考虑到本次安装oracle的过程中有诺干次安装失败且变换过oracle home,是否是注册表中的信息有写垃圾未清理?!进入 PL/SQL Developer 的 preferences中发现可以设定oracle home。该选项为空是自动选择,也可以手工填入路径。但是设置后没有效果。之后又检查了注册表、oracle设置均无异常。无奈之下选择了重装PL/SQL Developer 。运行安装程序以后d出一个警告框,这次仔细的看了一下,大概意思是安装目录中含有特殊字符可能导致oracle无法连接。该提示窗口按“确认”按钮后依然会继续安装。恍然大悟啊,64位win7会把32位应用程序默认的安装到Program Files (x86)目录下,那两个括号可能让oracle郁闷了。改变安装路径为一个比较“大众化”的路径,再次进行数据库连接,一切问题都解决了。

1、首先右键我的电脑,选择管理选项。

2、进入电脑管理界面,展开服务和进程选项,然后选择服务,进入服务的管理界面。

3、在页面右边,依次右键点击所有Oracle开头的服务,选择属性。

4、将启动类型选择为手动就可以了,这样就不会因为数据库卡了。

5、最后以后随时用的时候,再次进入服务界面,把划红线的四项,右键选择启动。

Oracle数据库出现死锁的时候可以按照以下处理步骤加以解决:

第一步:尝试在sqlplus中通过sql命令进行删除,如果能够删除成功,则万事大吉!但通常情况下,出现死锁时,想通过命令行或者通过Oracle的管理工具删除有死锁的session,oracle只会将该session标记为killed,但无法清除掉,往往需要通过第二步在 *** 作系统层级进行删除!

Connected to Oracle9i Enterprise Edition Release 9.2.0.1.0 

Connected as quik

SQL> select xidusn, object_id, session_id, locked_mode from v$locked_object --查死锁的对象,获取其SESSION_ID

XIDUSN OBJECT_ID SESSION_ID LOCKED_MODE

---------- ---------- ---------- -----------

10 30724 29 3

10 30649 29 3

SQL> select username,sid,serial# from v$session where sid=29 --根据上步获取到的sid查看其serial#号

USERNAME SID SERIAL#

------------------------------ ---------- ----------

QUIK 29 57107

SQL> alter system kill session '29,57107' --删除进程,如已经删除过,则会报ora-00031的错误;否则oracle会将该session标记为killed状态,等待一段时间看能否会自动消失,如长时间消失不掉,则需要做后续步骤

alter system kill session '29,57107'

ORA-00031: session marked for kill

SQL> select pro.spid from v$session ses,v$process pro where ses.sid=29 and ses.paddr=pro.addr --查看spid号,以便在 *** 作系统中根据该进程号删除进程

SPID

------------

2273286

第二步:进入 *** 作系统进行删除进程,本示例的 *** 作系统是IBM aix。

login: root --录入用户名

root's Password: --录入密码

*******************************************************************************

* *

* *

* Welcome to AIX Version 5.3! *

* *

* *

* Please see the README file in /usr/lpp/bos for information pertinent to *

* this release of the AIX Operating System. *

* *

* *

*******************************************************************************

Last unsuccessful login: Fri Apr 23 14:42:57 BEIDT 2010 on /dev/pts/1 from 10.73

.52.254

Last login: Fri Apr 23 15:27:50 BEIDT 2010 on /dev/pts/2 from 10.73.52.254

# ps -ef|grep 2273286 --查看进程详情

root 2289864 2494636 0 17:07:15 pts/1 0:00 grep 2273286

oracle 2273286 1 0 14:38:24 - 0:21 oracleQUIK (LOCAL=NO)

# kill -9 2273286 --删除进程,小心 *** 作,别写错进程号,如果oracle的关键进程被删,数据库会崩溃的!

# ps -ef|grep 2273286 --再次查看

root 2289864 2494636 0 17:07:15 pts/1 0:00 grep 2273286

For Windows, at the DOS Prompt: orakill sid spid

For UNIX at the command line> kill –9 spid


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/6761109.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-27
下一篇 2023-03-27

发表评论

登录后才能评论

评论列表(0条)

保存