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

重置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>;

backup-plan备份计划

硬件:联想Y450A-TSI(H),系统:Windows XP SP3 CHS

  • 驱动—————————————————
    ……..

  • 系统—————————————————
    备份C:\windows\system32\drivers\etc\hosts
    计算机名字:tun-xp,虚拟内存D盘,2048~4096
    启动ClearType / 下载 http://download.microsoft.com/download/d/6/e/d6e2ff26-5821-4f35-a18b-78c963b1535d/VistaFont_CHS.EXE
    显示属性->外观->高级->微软雅黑/字体大小:大字体
    Path:%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;d:\link;d:\app\TortoiseSVN\bin;D:\phpnow\php-5.2.14-Win32\ext;D:\app\Subversion\bin;C:\Program Files\Common Files\Thunder Network\KanKan\Codecs;D:\phpnow\php-5.2.14-Win32;d:\app\TortoiseHg;D:\app\java\jre\bin;C:\Program Files\wkhtmltopdf;D:\oracle\product\10.2.0\db_1\bin
    分辨率1366×768 / 颜色质量:最高(32位)
    任务栏
    "锁定任务栏"->去掉勾选->靠右边
    "工具栏"->"快速启动"->去掉勾选
    "隐藏不活动的图标"->去掉勾选
    "列出我最近打开的文档"->去掉勾选

    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Desktop\NameSpace 删除桌面图标:回收站/蓝牙
    文件夹选项
        使用简单文件共享(推荐)    DISABLE
        隐藏受保护的操作系统文件(推荐)DISABLE
        隐藏已知文件的扩展名  DISABLE
        隐藏文件和文件夹->显示所有文件和文件夹
        显示系统文件夹内容           ENABLE
        在标题栏显示完整路径      ENABLE
        在地址栏中显示完整路径 ENABLE
    安装IIS
    
  • 软件—————————————————
    7-zip
    Adobe Flash Player 11
    Photoshop CS6
    Advanced Installer
    iTunes
    Cheat Engine
    Construct 2
    LatencyMon
    SkyDrive
    QQ Pinyin
    TeamViewer
    TortoiseSVN
    Vmware Workstation
    QQ 2013
    Thunder 7
    TaobaoWangWang
    91手机助手
    iTunes D:\Backup\mydoc\My Music\wpj
    WinRAR/7-zip/Flash Player ActiveX|Plugin/ 360下载
    Wakoopa
    Everything
    http://www.voidtools.com/Everything-1.2.1.371.exe
    .\everything.db / .\everthing.ini
    [x]Boogunote 备份D:\app\BooguNote*.boo
    HNetMeter 备份C:\Documents and Settings\Administrator\Application Data\HTNetMeter\sum_v2.log
    MSoffice2k3
    完美解码
    Putty 备份HKEY_CURRENT_USER\Software\SimonTatham\PuTTY
    SSH 备份C:\Documents and Settings\Administrator\Application Data\SSH
    FlashFxp Sites.dat
    Notepad++
    %appdata%\Notepad++
    文件关联/c/cpp/sh/……….
    Visual Studio 6/2005(C++ Only)
    插件:VC6lineNumber/Visual AssistX/WndTab/
    Visual Studio 2010/PHPNow/Tortoise SVN/TortoiseHg/
    Netbeans 备份C:\Documents and Settings\Administrator.netbeans\6.9
    Oracle 10g
    Sqlyog
    IE8
    Firefox 书签/扩展:Adblock Plus/AutoProxy/Element Hiding Helper/Firebug/Firecookie/Greasemonkey/WebDeveloper/
    Chrome 书签/扩展:Adblock Plus for Google Chrome? (Beta)
    Safari
    Opera
    Thunder
    RaySource
    115Udown
    NamiRobot
    硕鼠
    QQ 备份QQ消息(消息管理器->导出->所有分组.bak/群.bak/)/表情管理->qq表情.eif
    Fetion
    AliWW
    GTalk
    Aoe3
    WoW3
    Ballance
    360(Windows Update)

CreateRemoteThread 返回 ERROR_ACCESS_DENIED (5) 访问拒绝错误

Question

本地测试一个远程DLL注入的例子。发现注入系统默认的notepad.exe失败。

单步调试到这句:

HANDLE hRemoteThread = CreateRemoteThread(hProcess,0, 0,(DWORD(__stdcall *)( void *))GetProcAddress(hKernel32,"LoadLibraryA"),pTargetArg, 0, &dwThreadID);
if(hRemoteThread == NULL)
{
    dwErr = GetLastError();
    break;
}

dwErr是5(ERROR_ACCESS_DENIED )。

Solution

原因是本机是Windows 7 x64系统。Win+R输入notepad运行的是C:\Windows\System32\notepad.exe,这个路径下的binary是x64平台的。运行C:\Windows\SysWow64\notepad.exe x86平台的exe注入成功。

由此可知,32bit exe注入64bit exe肯定失败。至于64bit exe注入32bit exe没有测试,估计应该不行。

Error MSB6006: “mt.exe”已退出,代码为 31。

Visual Studio 2010 with installed service pack 1 (Windows & 64 bit )

During Release builds for no obvioud reason random errors:

error MSB6006: “mt.exe” exited with code 31.

Disabling antivirus seems fixing the problem.
Debug builds (NO optimization?) seems are not affected.

Antivirus: Symantec Endpoint Protection.

解决:

project options -> linker -> manifest -> Generate Manifest-> NO.
项目->属性->链接器->清单文件->生成清单  改为 “否”

But I do not know why.
If anybody knows please tell me.

参考:http://connect.microsoft.com/VisualStudio/feedback/details/682867/error-msb6006-mt-exe-exited-with-code-31