XP安装Oracle过程中出现的问题及解决办法(一)
删除Oracle之一
软件环境: 1、Windows 2000+ORACLE 8.1.7
2、ORACLE安装路径为:C:\ORACLE
实现方法:
1、 开始->设置->控制面板->管理工具->服务,停止所有Oracle服务。
2、 开始->程序->Oracle - OraHome81->Oracle Installation Products->Universal Installer,卸装所有Oracle产品,但Universal Installer本身不能被删除
5、 运行regedit,选择HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE,按del键删除这个入口。
6、 运行regedit,选择HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services,滚动这个列表,删除所有Oracle入口。
7、 运行regedit, HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Eventlog\Application,删除所有Oracle入口。
8、 开始->设置->控制面板->系统->高级->环境变量 删除环境变量CLASSPATH和PATH中有关Oracle的设定
9、 从桌面上、STARTUP(启动)组、程序菜单中,删除所有有关Oracle的组和图标
10、删除\Program Files\Oracle目录
11、重新启动计算机,重起后才能完全删除Oracle所在目录
12、删除与Oracle有关的文件,选择Oracle所在的缺省目录C:\Oracle,删除这个入口目录及所有子目录,并从Windows 2000目录(一般为C:\WINNT)下删除以下文件ORACLE.ini、oradim73.ini、oradim80.ini、oraodbc.ini等等。
13、WIN.INI文件中若有[ORACLE]的标记段,删除该段
14、如有必要,删除所有Oracle相关的ODBC的DSN
15、到事件查看器中,删除Oracle相关的日志
说明:
如果有个别DLL文件无法删除的情况,则不用理会,重新启动,开始新的安装,
安装时,选择一个新的目录,则,安装完毕并重新启动后,老的目录及文件就可以删除掉了。
删除Oracle之二
如果需要卸载Oracle,请运行安装光盘上的安装文件Setup.exe,在“欢迎”窗口中,选择“卸装产品”按钮,进入“Invertory 目录”窗口: 在该窗口中选择需要删除的产品(在产品名称前面的方框内打上在标记√),然后单击“删除”按钮即可;或者直接在开始菜单中找到Oracle for NT程序组下的Oracle installer,同样可以卸载Oracle。
卸载Oracle产品后,在系统的注册表内仍然有相关信息,您可以参考以下方法进行手工删除。
注意:对注册表的操作可能对系统产生严重影响,
相关文档:
oracle表空间操作详解
1
2
3作者: 来源: 更新日期:2006-01-04
5
6
7建立表空间
8
9CREATE TABLESPACE data01
10DATAFILE '/ora ......
IN和EXISTS区别
in 是把外表和内表作hash join,而exists是对外表作loop,每次loop再对内表进行查询。
一直以来认为exists比in效率高的说法是不准确的。
如果查询的两个表大小相当,那么用in和exists差别不大。
如果两个表中一个较小,一个是大表,则子查询表大的用exists,子查询表小的用in:
例如:表A(小表),表B ......
由于系统移植,原来的数据库编码和时区都换了,原来的一些SQL文也出错了。。
经常崩出"ORA-01846: not a valid day of the week
"错误。
经测试,以下这个简单语句也会错!!
SQL> select next_day(sysdate,'FRIDAY') from DUAL;
select next_day(sysdate,'FRIDAY') from DUAL
ORA-01 ......
1. round(Num,n) : 四舍五入数字Num,保留n位小数,不写N默认不要小数,四舍五入到整数个位
select ROUND(21.237,2) from dual;
结果: 21.24
2. trunc(Num,n) : 截取数字Num,保留n位小数,不写N默认是0,即不要小数
select TRUNC(21.237,2) from dual;
结果:21.2 ......
如何定义游标类型
TYPE ref_type_name IS REF CURSOR [RETURN return_type];
声明游标变量
cursor_name ref_type_name;
从技术底层看,两者是相同的。普通plsql cursor在定义时是“静态”的。而Ref cursors可以动态打开。
例如下面例子:
Declare
type rc is ref cursor;
cursor c is select * from dual ......