2013年5月

Oracle 11g彻底卸载重装

1.关闭oracle所有的服务。可以在windows的服务管理器中关闭:  
  一般有以下服务:
  (1)Oracle SID VSS Writer Service:Oracle对VSS的支持服务。(非必须启动)
  (2)OracleDBConsole+SID:Oracle控制台服务,即企业管理器(OEM)。(非必须启动)
  (3)OracleJobScheduler+SID:Oracle定时器服务。(非必须启动)
  (4)OracleMTRecoveryService:该服务允许数据库充当一个微软事务服务器、COM/COM+对象和分布式环境下的事务资源管理器。
  (5)OracleOraDb11g_home1ClrAgent:Oracle数据库.NET扩展服务的一部分。
  (6)OracleOraDb11g_home1TNSListener+ListenerInstance:该服务是服务器端为客户端提供的监听服务,只有该服务启动,客户端才能连接到服务器。该服务接收客户端请求,将请求传递给服务器。(必须启动)
  (7)OracleService+SID:数据库服务(数据库实例),是Oracle核心服务该服务,是数据库启动的基础, 只有该服务启动,Oracle数据库才能正常启动。(必须启动)

  服务的启动及停止顺序:

Start Oracle 11g Service
@echo off
echo 确定要启动Oracle 11g服务吗?
pause
net start OracleOraDb11g_home1TNSListener
net start OracleServiceSID
net start OracleDBConsoleSID
echo 启动Oracle 11g服务完成。
Pause
Stop Oracle 11g Service
@echo off
echo 确定要停止Oracle 11g服务吗?
pause
net stop OracleDBConsoleSID
net stop OracleServiceSID
net stop OracleOraDb11g_home1TNSListener
echo 停止Oracle 11g服务完成,请确认有没有错误发生。
Pause

2.开始->程序->[Oracle目录]->Oracle Installation Products->Universal Installer
  卸装所有Oracle产品,但Universal Installer本身不能被删除。

3.打开注册表:regedit,打开路径:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\   
  删除该路径下的所有以oracle开始的服务名称,这个键是标识Oracle在windows下注册的各种服务!   

4.打开注册表:regedit,打开路径:HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\
  删除该oracle目录,该目录下注册着Oracle数据库的软件安装信息。   

5.删除注册的oracle事件日志,打开注册表:regedit,打开路径:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Eventlog\Application\
  删除注册表的以oracle开头的所有项目。   

6.删除环境变量Oracle_Base、Oracle_Home、Oracle_SID、path中关于oracle的内容。 
  鼠标右键单击“我的电脑-->属性-->高级-->环境变量-->path变量。  
  删除Oracle在该值中的内容。注意:path中记录着一堆操作系统的目录,在windows中各个目录之间使用分号(;)隔开的,删除时注意。 
  建议:删除path环境变量中关于Oracle的值时,将该值全部拷贝到文本编辑器中,找到对应的Oracle的值,删除后,再拷贝修改的串,粘贴到path环境变量中,这样相对而言比较安全。 

7.重新启动操作系统。  
  以上1~6个步骤操作完毕后,重新启动操作系统。   

8.重启操作系统后各种Oracle相关的进程都不会加载了。这时删除Oracle_Home下的所有数据。(Oracle_Home指Oracle程序的安装目录)   

9.删除C:\Program Files下oracle目录。(该目录视Oracle安装所在路径而定)  

10.删除开始菜单下oracle项,不同的安装这个目录稍有不同。  
 
11.从Windows目录下删除以下文件ORACLE.INI、oradim73.INI、oradim80.INI、oraodbc.ini等等。

12.WIN.INI文件中若有[ORACLE]的标记段,删除该段。

13.如有必要,删除所有Oracle相关的ODBC的DSN。

14.在事件查看器中,删除Oracle相关的日志。
  
至此,Windows平台下Oracle就彻底卸载了。

Oracle OraOLEDB错误解释

最近需要将以前的老代码(ASP+ORACLE)环境配置起来。过程中又碰到了很多OraOLEDB的问题。

Server.CreateObject 失败

以前连接oracle 10g,用的以下代码,那是09年的事情了。手头没有oracle 10g win32安装包。oracle今日(2013年)也不再提供10g下载了。只有下载了11g。win32,win64两个都下载了。打开网页报错:

Server 对象 错误 'ASP 0177 : 800401f3' 

Server.CreateObject 失败 

/conn.asp,行 5 

800401f3 

以下是代码:

ConnectStr="Provider=OraOLEDB.Oracle.1;Data Source=orcl;User ID=test;Password=123"
set Conn = server.createobject("myCls.Login")
Conn.open connectstr

经过多次尝试,修改为以下object字符串搞定:

set Conn = server.createobject("adodb.connection")

ORA-12541: TNS: 无监听程序

报错信息:

OraOLEDB 错误 '80004005' 

ORA-12541: TNS: 无监听程序 

/conn.asp,行 9 

这个是因为没有打开Oracle监听程序(OracleOraDb11g_home1TNSListener)造成。

TNS: 监听程序无法分发客户机连接

OraOLEDB 错误 '80004005' 

ORA-12518: TNS: 监听程序无法分发客户机连接 

/conn.asp,行 9 

OracleOraDb11g_home1TNSListener服务开启了,但是OracleServiceORCL没有开启

invalid username/password; logon denied

OraOLEDB 错误 '80004005' 

ORA-01017: invalid username/password; logon denied 

/conn.asp,行 9 

登录用户名或密码错误,要么是无此用户,要么是密码错误。

表或视图不存在

OraOLEDB 错误 '80004005' 

ORA-00942: 表或视图不存在 

/login.asp,行 40 

没有找到table or view

F3第二次修摇机

2013.05.18 83260 福安-第二次修摇机 ¥0//上次没有安装好,这次重新安装

占道停车两次 ¥100*2 扣6分

重置Oracle 11g密码(Windows平台)

  1. 删除文件“D:\oracle\product\11.2.0\dbhome_1\database\PWDorcl.ORA”(假设数据库实例名字为orcl,oracle家目录为D:\oracle)。
    如果不首先删除此文件,就运行第2点里面的orapwd命令会报错:OPW-00005: 存在同名文件 - 请删除或重命名
  2. cmd下运行:orapwd.exe file=D:/oracle/product/11.2.0/Dbhome_1/database/PWDorcl.ORA password=<YourNewPassWord>;