windows server 2008 oracle 11g 卸载

oracle11G自带一个卸载批处理

运行过程中可能需要填写如下项:

  • 指定要取消配置的所有单实例监听程序[LISTENER]:LISTENER
  • 指定在此 Oracle 主目录中配置的数据库名的列表 [MYDATA,ORCL]: MYDATA,ORCL
  • 是否仍要修改 MYDATA,ORCL 数据库的详细资料? [n]: n
  • CCR check is finished
  • 是否继续 (y – 是, n – 否)? [n]: y

删除注册表中与Oracle相关内容:

  • 删除HKEY_LOCAL_MACHINE/SOFTWARE/ORACLE目录。
  • 删除HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Services中所有以oracle或OraWeb为开头的键。
  • 删除HKEY_LOCAL_MACHINE/SYSETM/CurrentControlSet/Services/Eventlog/application中所有以oracle开头的键。
  • 删除HKEY_CLASSES_ROOT目录下所有以Ora、Oracle、Orcl或EnumOra为前缀的键。
  • 删除HKEY_CURRENT_USER/SOFTWARE/Microsoft/windows/CurrentVersion/Explorer/MenuOrder/Start Menu/Programs中所有以oracle 开头的键。
  • 删除HKDY_LOCAL_MACHINE/SOFTWARE/ODBC/ODBCINST.INI中除Microsoft ODBC for Oracle注册表键以外的所有含有Oracle的键。
  • 删除环境变量中的PATHT CLASSPATH中包含Oracle的值。
  • 删除“开始”/“程序”中所有Oracle的组和图标。
  • 删除所有与Oracle相关的目录,包括:  (1)、c:Program fileOracle目录。 (2)、ORACLE_BASE目录。(3)、c:Documents and Settings系统用户名、LocalSettingsTemp目录下的临时文件。

000

00

继续阅读“windows server 2008 oracle 11g 卸载”

ORA-02429错误的解决方法

drop index时出现如下错误:

ORA-02429: cannot drop index used for enforcement of unique/primary key

ora-02429:无法删除用于强制唯一/主键的索引。 
ORA-02429: 一意キーまたは主キーの保持に使用される索引は削除できません。
 
当创建Primary key和unique约束时,如果在该key上不存在索引
则Oracle会自动创建对应的unique索引,而当你要删除该索引时,必须先Disable或Drop该约束。

create table test(
id NUMBER(6) PRIMARY KEY,
name VARCHAR2(10)
);

继续阅读“ORA-02429错误的解决方法”

Oracle字符集的查看查询和Oracle字符集的设置修改

一、什么是Oracle字符集

       Oracle字符集是一个字节数据的解释的符号集合,有大小之分,有相互的包容关系。ORACLE 支持国家语言的体系结构允许你使用本地化语言来存储,处理,检索数据。它使数据库工具,错误消息,排序次序,日期,时间,货币,数字,和日历自动适应本地化语言和平台。

影响oracle数据库字符集最重要的参数是NLS_LANG参数。

它的格式如下: NLS_LANG = language_territory.charset

它有三个组成部分(语言、地域和字符集),每个成分控制了NLS子集的特性。

其中:

Language: 指定服务器消息的语言, 影响提示信息是中文还是英文

Territory: 指定服务器的日期和数字格式,

Charset:  指定字符集。

如:AMERICAN _ AMERICA. ZHS16GBK

从NLS_LANG的组成我们可以看出,真正影响数据库字符集的其实是第三部分。

所以两个数据库之间的字符集只要第三部分一样就可以相互导入导出数据,前面影响的只是提示信息是中文还是英文。

怎么查看数据库版本

select * from v$version  

包含版本信息,核心版本信息,位数信息(32位或64位)等  

至于位数信息,在Linux/unix平台上,可以通过file查看,

如file $ORACLE_HOME/bin/oracle

二、查看数据库字符集

继续阅读“Oracle字符集的查看查询和Oracle字符集的设置修改”

Oracle DECODE函数的语法介绍

Oracle DECODE函数是Oracle公司独家提供的功能,它是一个功能很强的函数。它虽然不是SQL的标准,但对于性能非常有用。

到目前,其他的数据库供应商还不能提供类似DECODE的功能,甚至有的数据库的供应商批评Oracle的SQL不标准。

1 DECODE 中的if-then-else逻辑
在逻辑编程中,经常用到If – Then –Else 进行逻辑判断。在DECODE的语法中,实际上就是这样的逻辑处理过程。它的语法如下:
DECODE(value, if1, then1, if2,then2, if3,then3, . . . else )
Value 代表某个表的任何类型的任意列或一个通过计算所得的任何结果。当每个value值被测试,如果value的值为if1,

Decode 函数的结果是then1;如果value等于if2,Decode函数结果是then2;等等。事实上,可以给出多个if/then 配对。

如果value结果不等于给出的任何配对时,Decode 结果就返回else 。

需要注意的是,这里的if、then及else 都可以是函数或计算表达式。

含义解释:
DECODE(条件,值1,翻译值1,值2,翻译值2,…值n,翻译值n,缺省值)

该函数的含义如下:
IF 条件=值1 THEN
RETURN(翻译值1)
ELSIF 条件=值2 THEN
RETURN(翻译值2)
……
ELSIF 条件=值n THEN
RETURN(翻译值n)

ELSE
RETURN(缺省值)
END IF

2 DECODE 的简单例子
Oracle系统中就有许多数据字典是使用decode 思想设计的,比如记录会话信息的V$SESSION数据字典视图就是这样。

继续阅读“Oracle DECODE函数的语法介绍”