windows server 2008 服务器 oracle11g降级oracle10g遇到的种种问题

一、完全卸载oracle11g步骤:
1、 开始->设置->控制面板->管理工具->服务 停止所有Oracle服务。
2、 开始->程序->Oracle - OraHome81->Oracle Installation Products-> Universal Installer,单击“卸载产品”-“全部展开”,选中除“OraDb11g_home1”目录,删除。(或者到oracle目录下找到卸载的批处理文件进行卸载,这个没有实验过)
3、 重启电脑
4、 运行regedit,选择HKEY_LOCAL_MACHINESOFTWAREORACLE,按del键删除这个入口。
5、 运行regedit,选择HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServices,滚动这个列表,删除所有Oracle入口(以oracle或OraWeb开头的键)。
6、 运行refedit,HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesEventlogApplication,删除所有Oracle入口。
7、 删除HKEY_CLASSES_ROOT目录下所有以Ora、Oracle、Orcl或EnumOra为前缀的键。
8、 删除HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionExplorerMenuOrderStart MenuPrograms中所有以oracle开头的键。
9、 删除HKEY_LOCAL_MACHINESOFTWAREODBCODBCINST.INI中除Microsoft ODBC for Oracle注册表键以外的所有含有Oracle的键。
10、我的电脑-->属性-->高级-->环境变量,删除环境变量CLASSPATH和PATH中有关Oracle的设定。
11、从桌面上、STARTUP(启动)组、程序菜单中,删除所有有关Oracle的组和图标。
12、删除所有与Oracle相关的目录(如果删不掉,重启计算机后再删就可以了)包括:
  1.C:Program fileOracle目录。
  2.ORACLE_BASE目录(oracle的安装目录)。
  3.C:WINDOWSsystem32configsystemprofileOracle目录。
  4.C:UsersAdministratorOracle或C:Documents and SettingsAdministratorOracle目录。
  5.C:WINDOWS下删除以下文件ORACLE.INI、oradim73.INI、oradim80.INI、oraodbc.ini等等。
  6.C:WINDOWS下的WIN.INI文件中若有[ORACLE]的标记段,删除该段。
13、安装时的app根目录。例如在E:app,就删除E盘中的app文件。再次重启电脑

二、安装oracle10g(10204_vista_w2k8_x64_production_db.zip)

1、 下载地址:链接:http://pan.baidu.com/s/1qXSwkfq 密码:vp96

2、 我的服务器是Windows Server 2008 R2企业版,所以需要修改两个文件绕过oracle检测。

  1、databaseinstalloraparam.ini     

[Oracle]
DISTRIBUTION=TRUE
SOURCE=../stage/products.xml
LICENSE_LOCATION=
JRE_LOCATION=../stage/Components/oracle.swd.jre/1.5.0.11.0/1/DataFiles
JRE_MEMORY_OPTIONS=" -mx192m"
DEFAULT_HOME_LOCATION=oracleproduct10.2.0db
DEFAULT_HOME_NAME=OraDb10g_home
NO_BROWSE=/net
NLS_ENABLED=TRUE
BOOTSTRAP=TRUE
OUI_VERSION=10.2.0.4.0
ADDITIONAL_COMPONENTS={"oracle.sysman.ccr:ALWAYS","oracle.rdbms.rat:ALWAYS","oracle.jdk:UPGRADE","oracle.swd.jre:UPGRADE"}
## JRE_VERSION is only for Windows. This is to copy accessbridge dlls
JRE_VERSION=1.5.0
#SHOW_HOSTNAME=ALWAYS_SHOW shows the hostname panel always
#SHOW_HOSTNAME=NEVER_SHOW does not the hostname panel
#SHOW_HOSTNAME=CONDITION_SHOW shows the hostname panel on condition
SHOW_HOSTNAME=NEVER_SHOW
#THIN_JDBC_FILENAME is optional and defaults to classes12.jar
#The value specified for this should be packaged with OUI, and should
#be relative to <OUI expanded stagedir>/jlib/
THIN_JDBC_FILENAME=classes12.jar
#RUN_OUICA specifies the batch script name that needs to be run
#The script is ouica.bat for win32, and ouica.sh for solaris.
#If the value is not specified, then the OUICA script is not run
RUN_OUICA=ouica.bat
CLUSTERWARE={"oracle.crs","10.1.0.2.0"}
SILENT_VARIABLE_VALIDATION=TRUE

[Certified Versions]
#You can customise error message shown for failure, provide value for CERTIFIED_VERSION_FAILURE_MESSAGE
Windows=5.0,5.1,5.2,6.0,6.1

#Windows 2000 use winver.exe to find version
[Windows-5.0-required]
#Minimum display colours for OUI to run
MIN_DISPLAY_COLORS=256
#Minimum CPU speed required for OUI
#CPU=300

[Windows-5.0-optional]

#Windows XP use winver.exe to find version
[Windows-5.1-required]
#Minimum display colours for OUI to run
MIN_DISPLAY_COLORS=256
#Minimum CPU speed required for OUI
#CPU=300

[Windows-5.1-optional]

#Windows .net use winver.exe to find version
[Windows-5.2-required]
#Minimum display colours for OUI to run
MIN_DISPLAY_COLORS=256
#Minimum CPU speed required for OUI
#CPU=300

[Windows-5.2-optional]

[Windows-6.0-required]
#Minimum display colours for OUI to run
MIN_DISPLAY_COLORS=256
#Minimum CPU speed required for OUI
#CPU=300

[Windows-6.0-optional]

[Windows-6.1-required]
#Minimum display colours for OUI to run
MIN_DISPLAY_COLORS=256
#Minimum CPU speed required for OUI
#CPU=300

[Windows-6.1-optional]

[IMAGES]
FILE1=images/rdbms_1.gif
FILE2=images/rdbms_2.gif
FILE3=images/rdbms_3.gif
FILE4=images/rdbms_4.gif
FILE5=images/rdbms_5.gif
FILE6=images/rdbms_6.gif
FILE7=images/rdbms_7.gif
FILE8=images/rdbms_8.gif

LICENSE_LOCATION=license.txt

  2、databasestageprereqdb efhost.xml

<?xml version='1.0' encoding='windows-1252'?>
<!-- Copyright (c) 2004, Oracle. All Rights Reserved. -->
<!-- ref host for Windows -->
<HOST PLATID="233">
  <SYSTEM>
    <MEMORY>
      <PHYSICAL_MEMORY VALUE="256" UNIT="MB"/>
      <!--AVAILABLE_MEMORY VALUE="512" UNIT="MB"/-->
       <SWAP_SIZE>
        <STEP NAME="PHYSICAL_MEMORY" ATLEAST="0" ATMOST="256" UNIT="MB" MULTIPLE="3"/>
        <STEP NAME="PHYSICAL_MEMORY" GREATER_THAN="256" ATMOST="512" UNIT="MB" MULTIPLE="2"/>
        <STEP NAME="PHYSICAL_MEMORY" GREATER_THAN="512" ATMOST="2048" UNIT="MB" MULTIPLE="1.5"/>
        <STEP NAME="PHYSICAL_MEMORY" GREATER_THAN="2048" ATMOST="8192" UNIT="MB" MULTIPLE="1"/>
        <STEP NAME="PHYSICAL_MEMORY" GREATER_THAN="8192" UNIT="MB" MULTIPLE="0.75"/>
      </SWAP_SIZE>
    </MEMORY>
  </SYSTEM> 
  <CERTIFIED_SYSTEMS>
    <OPERATING_SYSTEM>
      <VERSION VALUE="5.0"/>
      <SERVICE_PACK VALUE="1"/> 
    </OPERATING_SYSTEM>
    <OPERATING_SYSTEM>
      <VERSION VALUE="5.1"/>
      <SERVICE_PACK VALUE="1"/> 
    </OPERATING_SYSTEM>
    <OPERATING_SYSTEM>
      <VERSION VALUE="5.2"/>
    </OPERATING_SYSTEM>
    <!--Microsoft Windows Vista-->
    <OPERATING_SYSTEM>
      <VERSION VALUE="6.0"/>
    </OPERATING_SYSTEM>
    <!--Microsoft Windows Server2008 R2-->
    <OPERATING_SYSTEM>
      <VERSION VALUE="6.1"/>
    </OPERATING_SYSTEM>
  </CERTIFIED_SYSTEMS>
  <ORACLE_HOME>
    <COMPATIBILITY_MATRIX>
      <ALLOW>
        <NEW_HOME/>
      </ALLOW>   
      <DISALLOW>
    <COMP NAME="oracle.server" ATLEAST="8.1.0.0.0" ATMOST="9.2.0.9.0"/>
    <COMP NAME="oracle.server" ATLEAST="10.1.0.0.0" ATMOST="10.1.0.9.0"/>
    <COMP NAME="oracle.client" ATLEAST="8.1.0.0.0" ATMOST="9.2.0.9.0"/>
    <COMP NAME="oracle.iappserver.iapptop" ATLEAST="9.0.2.0.0" ATMOST="99.9.9.9.9"/>
    <COMP NAME="oracle.iappserver.infrastructure" ATLEAST="9.0.2.0.0" ATMOST="99.9.9.9.9"/>
    <COMP NAME="oracle.iappserver.devcorner " ATLEAST="9.0.2.0.0" ATMOST="99.9.9.9.9"/>
    <COMP NAME="oracle.ids.toplevel.development" ATLEAST="9.0.0.0.0" ATMOST="99.9.9.9.9"/>
    <COMP NAME="oracle.networking.netclt" ATLEAST="8.1.3.0.0" ATMOST="9.2.0.9.0"/>
    <COMP NAME="oracle.install.instcommon" ATLEAST="8.1.3.0.0" ATMOST="9.2.9.9.9"/>
    <COMP NAME="oracle.client" ATLEAST="10.1.0.0.0" />
    <COMP NAME="oracle.crs" ATLEAST="10.1.0.0.0" />
    <ORCA_HOME/> 
      </DISALLOW>     
    </COMPATIBILITY_MATRIX>
  </ORACLE_HOME>
</HOST>

3、 安装的时候选高级安装→企业版→先单独安装软件不要安装数据库→一直安装完成→再运行Net Manager配置监听和服务。

  1、配置监听和服务的时候不要忘记配置数据库服务,监听位置主机填写本机IP,数据库服务名自定义。

  2、服务配置主机名填写本机IP,服务名填写第一步中自定义的数据库名。

  

4、如果服务里面没有监听(OracleOraDb10g_home1TNSListener):运行“cmd”,在命令行里输入"lsnrctl",回车,进入lsnrctl中,在“LSNRCTL>”后输入"start",回车。就会启动了,现在去服务里刷新一下就会有监听器的启动项了。

5、配置好监听和服务后,就算安装完成了。

三、数据导入遇到的问题  

  1、创建用户以及表空间。    

--1.创建自动增长的表空间:--存储地址 初始大小1G --每次扩展10M,无限制扩展
create tablespace 表空间名 datafile 'E:/oracle/product/10.2.0/oradata/orcl/表空间名.dbf' size 1024M autoextend on next 10M maxsize unlimited EXTENT MANAGEMENT local  autoallocate segment space management auto;

--2.建用户  
create user 用户名 identified by 密码 default tablespace 表空间名;

--3.赋权  
grant dba to 用户名;  --授权dba
grant unlimited tablespace to 用户名;  

  2、从生产导出数据:exp 生产用户名/生产密码@IP:1521/orcl owner=生产用户名 file=E:XXXX20170712.dmp log=E:expXXXX20170712.log

  3、从服务器本机导入数据:imp 测试库用户名/测试库密码 fromuser=生产用户名 touser=测试用户名 file=E:XXXX.dmp ignore=y log=E:impXXXX20170712.log buffer=819200

  4、如果发现导入的时候控制台出现????这样的乱码,并且导入的数据,也存在很多???这样的乱码,那就是NLS_LANG变量没有设置,最根本的方法,就是到注册表修改。    

    把注册表中的NLS_LANG设置为:SIMPLIFIED CHINESE_CHINA.ZHS16GBK就可以了
    路径1:HKEY_LOCAL_MACHINESOFTWAREORACLEKEY_OraDb10g_home1
    路径2:HKEY_LOCAL_MACHINESOFTWAREWow6432NodeORACLEKEY_OraDb10g_home1

  5、删除用户以及表空间,重新导出生产库,然后再次导入,就不会出现乱码了。

简单记录,下次遇到再做详细记录

原文地址:https://www.cnblogs.com/yeyerl/p/7157410.html