oracle 问题收集

1.连接数据库时,遇到ORA-12505异常的解决办法

问题:

An error occurred while establishing the connection:
   Type:java.sql.SQLException   ErrorCode: 0
Message:
   Listener refused theconnection with the following error:
ORA-12505, TNS:listener does not currently know of SID given inconnect descriptor
The Connection descriptor used by the client was:
localhost:1521:nmsdb    //注:这里nmsdb或者orcl是sid

解决方法:

在listener.ora文件中找到如下内容添加红色标记行,然后重启监听服务

listener.ora一般在oracle\product\10.2.0\db_1\NETWORK\ADMIN目录下

SID_LIST_LISTENER =
  (SID_LIST =
    (SID_DESC=
     (SID_NAME = PLSExtProc)
     (ORACLE_HOME = d:\oracle\product\10.2.0\db_1)
     (PROGRAM = extproc)
    )
 
 (SID_DESC=  
     (GLOBAL_DBNAME =nmsdb 
     (ORACLE_HOME =D:\oracle\product\10.1.0\Db_1)  
     (SID_NAME =nmsdb 
    )

  )

注:nmsdb为创建库时的sid

 

=============================================================

 

2.查看及修改oracle编码格式方法

   --查看oracle数据库字符集:

  select userenv('language') from dual;

  查询结果:

  SIMPLIFIED CHINESE_CHINA.AL32UTF8

  --修改oracle数据库字符集:(在SQL Plus中)

  sql> conn / as sysdba;

  sql> shutdown immediate;

  database closed.

  database dismounted.

  oracle instance shut down.

  sql> startup mount;

  oracle instance started.

  total system global area  135337420 bytes

  fixedsize                         452044 bytes

  variablesize                    109051904 bytes

  databasebuffers             25165824 bytes

  redobuffers                     667648 bytes

  database mounted.

  sql> alter system enable restrictedsession;

  system altered.

  sql> alter system setjob_queue_processes=0;

  system altered.

  sql> alter system set aq_tm_processes=0;

  system altered.

  sql> alter database open;

  database altered.

  sql> alter database character set internal_useJA16SJIS;

  sql> shutdown immediate;

  sql> startup;

 

=======================================================

2.windows7安装卸载oracle10

安装:
在安装文件的
oracle_home\stage\prereq\db\refhost.xml
加入以下
 <OPERATING_SYSTEM>
     <VERSION VALUE="6.1"/>
 </OPERATING_SYSTEM>

保存,运行安装程序即可
安装时最好关闭360和防火墙
===================================================

卸载Oracle


实现方法:

1、开始->设置->控制面板->管理工具->服务停止所有Oracle服务;

2、开始->程序->Oracle – OraDb10g_home1>Oracle Installation Products->Universal Installer 卸装所有Oracle产品,但UniversalInstaller本身不能被删除;删除oracle的安装目录,如d:\oracle(不行就用360强删)

3、运行regedit,选择HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE,按del键删除这个入口;

4、运行regedit,选择HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services,滚动这个列表,删除所有Oracle入口;

5、运行refedit,选择HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Eventlog\Application,删除所有Oracle入口;

6、开始->设置->控制面板->系统->高级->环境变量,删除环境变量CLASSPATH和PATH中有关Oracle的设定;

7、从桌面上、STARTUP(启动)组、程序菜单中,删除所有有关Oracle的组和图标;

8、删除c:\Program Files\Oracle目录;

9、重新启动计算机,重起后才能完全删除Oracle所在目录 ;

10、删除与Oracle有关的文件,选择Oracle所在的缺省目录C:\Oracle,删除这个入口目录及所有子目录,并从WindowsXP目录(一般为d:\WINDOWS)下删除以下文件ORACLE.INI、oradim73.INI、oradim80.INI、oraodbc.ini等等;

11、WIN.INI文件中若有[ORACLE]的标记段,删除该段;

12、如有必要,删除所有Oracle相关的ODBC的DSN;

13、到事件查看器中,删除Oracle相关的日志说明:如果有个别DLL文件无法删除的情况,则不用理会,重新启动,开始新的安装,安装时,选择一个新的目录,则,安装完毕并重新启动后,老的目录及文件就可以删除掉了。

3.oracle数据库解锁

用DBA身份登录PLSQL
使用SQL语句查询锁的状态:

select sess.sid,
   sess.serial#,
   lo.oracle_username,
   lo.os_user_name,
   ao.object_name,
   lo.locked_mode
   from v$locked_object lo,
   dba_objects ao,
   v$session sess
where ao.object_id = lo.object_id and lo.session_id = sess.SID;


获得未提交的事物的列表和基础信息
然后根据 sessionID和serial#号强制关闭事物:

Sql代码
ALTER SYSTEM KILL SESSION '9,108';
--'9,108'为sessionID和serial#号,逗号分开


OK,解锁成功!这个方法适用9i和10G,其他的没测试,但是89不离10。哇哈哈!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值