1.连接数据库时,遇到ORA-12505异常的解决办法
问题:
An error occurred while establishing the connection:
Message:
ORA-12505, TNS:listener does not currently know of SID given inconnect descriptor
The Connection descriptor used by the client was:
localhost:1521:nmsdb
解决方法:
在listener.ora文件中找到如下内容添加红色标记行,然后重启监听服务
listener.ora一般在oracle\product\10.2.0\db_1\NETWORK\ADMIN目录下
SID_LIST_LISTENER =
注:nmsdb为创建库时的sid
=============================================================
2.查看及修改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
fixedsize
variablesize
databasebuffers
redobuffers
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
加入以下
保存,运行安装程序即可
安装时最好关闭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#号强制关闭事物:
ALTER SYSTEM KILL SESSION '9,108'; --'9,108'为sessionID和serial#号,逗号分开
OK,解锁成功!这个方法适用9i和10G,其他的没测试,但是89不离10。哇哈哈!