当前位置:  数据库>oracle
本页文章导读:
    ▪关于oracle卸载没有卸载完全的问题 - 青山鼬       1.关闭oracle所有的服务。可以在windows的服务管理器中关闭; 2.打开注册表:regedit 打开路径: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\ 删除该路径下的所有以oracle开始的服务名称,这个键是.........
    ▪Oracle存储过程的一点使用总结 - hanfei_007        【博客文章背景】博客开通已经1、2年了,一直碍于技术能力,不敢献丑。想起1年前在一个数据处理相关项目结束后,代金排主管让我做一个数据库开发总结文档和一个Toad、PL/SQL Developer.........
    ▪SQL*Plus环境变量设置浅析 - 潇湘隐者          SQL*Plus的使用环境是可以通过login.sql 或 glogin.sql脚本来设置的,可能很多初学者或不习惯使用SQL*Plus的老鸟都不知道。因为在如今UI工具(Toad、PL/SQL Developer..)大行其道的年代,S.........

[1]关于oracle卸载没有卸载完全的问题 - 青山鼬
    来源:    发布时间: 2013-10-29
1.关闭oracle所有的服务。可以在windows的服务管理器中关闭;
2.打开注册表:regedit 打开路径: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\ 删除该路径下的所有以oracle开始的服务名称,这个键是标识Oracle在windows下注册的各种服务!
3.打开注册表,找到路径:
HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE 删除该oracle目录,该目录下注册着Oracle数据库的软件安装信息。
4.删除注册的oracle事件日志,打开注册表 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Eventlog\Application 删除注册表的以oracle开头的所有项目。
5.删除环境变量path中关于oracle的内容。 鼠标右键右单击“我的电脑-->属性-->高级-->环境变量-->PATH 变量。 删除Oracle在该值中的内容。注意:path中记录着一堆操作系统的目录,在windows中各个目录之间使用分号(;)隔开的,删除时注意。 建议:删除PATH环境变量中关于Oracle的值时,将该值全部拷贝到文本编辑器中,找到对应的Oracle的值,删除后,再拷贝修改的串,粘贴到PATH环境变量中,这样相对而言比较安全。
6.重新启动操作系统。

以上1~5个步骤操作完毕后,重新启动操作系统。
7.重启操作系统后各种Oracle相关的进程都不会加载了。这时删除Oracle_Home下的所有数据。(Oracle_Home指Oracle程序的安装目录)
8.删除C:\Program Files下oracle目录。 (该目录视Oracle安装所在路径而定)
9.删除开始菜单下oracle项,如: C:\Documents and Settings\All Users\「开始」菜单\程序\Oracle - Ora10g 不同的安装这个目录稍有不同。 如果不删除开始菜单下的Oracle相关菜单目录,没关系,这个不影响再次安装Oracle.当再次安装Oracle时,该菜单会被替换。
至此,Windows平台下Oracle就彻底卸载了。

本文链接:http://www.cnblogs.com/qingshanyou/p/3228935.html,转载请注明。


    
[2]Oracle存储过程的一点使用总结 - hanfei_007
    来源:    发布时间: 2013-10-29

  【博客文章背景】博客开通已经1、2年了,一直碍于技术能力,不敢献丑。想起1年前在一个数据处理相关项目结束后,代金排主管让我做一个数据库开发总结文档和一个Toad、PL/SQL Developer工具的存储过程测试方法总结文档,并安排讲解给其他同事们(高级主管、主管、几年工作经验的开发同事、一块进公司的毕业生)并得好评之后(更多是鼓励吧!),代说文档是丑了点,但你讲的东西让我们这些只是简单使用sql语句的人,也是大开眼界。你不是注册了博客园?你可以把它们整理一下发到上面,对自己而言是个好事情,对别人而已也是个好事情!今天手中的项目告一段落,看着自己的博客一直空着,又想着代金排主管当时的话,还有自己觉得自己只有这点能力,整理了几句话送给各位。同时借这篇文章对帮助我、鼓励我的金排主管说句:谢谢你!

  【数据库学习经历】从大二开始接触并学习数据库MS Server2005 、Oracle 10g(感谢学校开了这两门课,很多同事也吃惊我们专门开了这两门课而且每课都是一学期、必修、3个学分),虽然当时云里雾里,但是肯定把51、智联等招聘网站上查看我的求职简历的负责招聘的HR或技术主管的小朋友们吓呆了。

  【oracle使用经历】虽然学了oracle,不过从大一下学期就直使用的mysql(实在没有用到oracle的地方),不过因为从实习到现在一直接触的都是oracle ,所以MS的相关东东只能扔给老师了(惭愧惭愧)...实习时从plsql中的建表、用户、授权、增删改查到简单的java webservice对oracle的增删改查,一点点的到现在写存储过程、写job、改写优化公司老人的package、数据初始化脚本...

  【存储过程使用经历】正式入职后接触的第一个项目就是数据库Clob大字段的数据库存储过程处理,没少从博客园的技术贴偷东西(得意地笑!!!),蹒跚走来总结了这几条虽不算高深却可以少挨骂的经验教训,希望新来的(刚接触存储过程的)、常住的(论坛长时间潜水的--比如我)积极扔砖!

算了,不说了,最近上海持续高温,说多了都是汗,还是虚汗!!!

  【言归正传】总结如下:

  • 常见的数据处理如截取、替换、包含等,先上网再实现,即“拿来主义”
  • 变量命名要易于理解,即“望文生义”
  • 变量命名要避开列名,即“大路朝天各走一边”
  • 游标中的sql要尽量简单,即“简简单单我的心”
  • 涉及到insert、update等根据约束要添加异常处理,即“防患未然”
  • trigger中有事务机制,不能在调用的存储过程中使用commit,即“不要越俎代庖”
  • 清空表中数据时要用“EXECUTE IMMEDIATE ‘truncate table tablename’”,即“特事特办”
  • null与’’、’’与’’不相等,即”翻脸不认人”
  • sql优化尽量一次完成,即"没有更好,只有够好"
  •   【内容解释】具体解释及(或)代码如下:

  • “拿来主义”:亲,时刻牢记,google、度娘不能只用来八卦、娱乐,在没有费别人的脑子之前,不要尝试自己搞个算法
  • “望文生义”:这就不用解释了
  • “大路朝天各走一边”:1、避免自己在变量的处理中搞晕自己,特别是变量放在select结果中处理 2、可读性高(结合"望文生义")
  • “简简单单我的心”:易于业务逻辑的确认和维护(开发人员定规则的情况及后续业务变更
  • “防患未然”:不解释,除非你想让存储过程抛错给你的程序捕获详细信息
  • “不要越俎代庖”:这个是基本常识,小心找死
  • “特事特办”:不仅仅体现在对清表的操作,我们需要根据实际业务需要在存储过程中使用一些提升效率的方法
  • ”翻脸不认人”:数据库中null、''是特殊的存在,特别是你自己定义变量然后使用的时候,要小心,有兴趣的测测代码(oracle不会错,只是我们的理解错了,你懂了吗?)

    SELECT CASE WHEN '' IS NULL
    THEN '1' ELSE '2' END testtest FROM DUAL;
    SELECT CASE WHEN '' = ''
    THEN '1' ELSE '2' END testtest FROM DUAL;
    SELECT CASE WHEN '' = NULL
    THEN '1' ELSE '2' END testtest FROM DUAL;
    SELECT CASE WHEN NULL = NULL
    THEN '1' ELSE '2' END testtest FROM DUAL;
    SELECT CASE WHEN NULL IS NULL
    THEN '1' ELSE '2' END testtest FROM DUAL;
    SELECT CASE WHEN LENGTH (NULL) <> 0
    THEN '1' ELSE '2' END testtest FROM DUAL;
    SELECT CASE WHEN LENGTH (NULL) IS NULL
    THEN '1' ELSE '2' END ttest FROM DUAL;
    SELECT CASE WHEN LENGTH ('') IS NULL
    THEN '1' ELSE '2' END ttest FROM DUAL;
    SELECT CASE WHEN LENGTH ('') = 0
    THEN '1' ELSE '2' END ttest FROM DUAL;

  • "没有更好,只有够好":这句话不是说大家不要追求最好,而是要尽你当下的可能把代码优化好,一旦你的代码提交并发布到实际运行环境中,除非项目负责人要求你优化再优化(都这种地步,就真得优化了),否则你可以嫌它丑但尽量不要动--不错,勿动!(我们测试一轮近1周,测试至少要3轮,如果改了核心的东西,就得相关程序全盘再测,知道为什么了吧?不说了都是泪!)
  •  

    附送大家使用ROWNUM,要注意几点事项:

    1、>=不考虑 ----例子:where ROWNUM >2或 ROWNUM = 2或 ROWNUM >=2的记录
    2、=常伴<或1 ----例子:where ROWNUM < 3等价于 ROWNUM <= 2 或 ROWNUM=1
    3、ROWNUM变为结果集
    想怎么使用都随意----例子:分页查询最后一个rn
  • 举例如下:

        
    [3]SQL*Plus环境变量设置浅析 - 潇湘隐者
        来源:    发布时间: 2013-10-29

        SQL*Plus的使用环境是可以通过login.sql 或 glogin.sql脚本来设置的,可能很多初学者或不习惯使用SQL*Plus的老鸟都不知道。因为在如今UI工具(Toad、PL/SQL Developer..)大行其道的年代,SQL*Plus这种命令工具渐渐被冷落了,可能只是偶尔被用用,不过这并不妨碍它被很多DBA或SQL*Plus爱好者广泛使用。

    其中glogin.sql文件是全局设置文件,位于$ORACLE_HOME/sqlplus/admin下,而login.sql文件属于个性化设置文件,则可以位于任何位置。既可以通过SQLPATH环境变量设置或不设置。

    SQL*Plus启动的时候首先会先运行glogin.sql脚本,然后查找当前目录下是否存在login.sql文件,如果找到则运行该脚本,如果当前目录不存在login.sql.则查找是否设置了SQLPATH环境变量,找到了就会去执行该环境变量路径下的login.sql脚本,否则则会停止继续查找。

    我们首先来看看glogin.sql文件的庐山正面目吧!其实都是一些格式化列标题和列数据的现实格式的设置,

    --
    -- Copyright (c) 1988, 2004, Oracle Corporation.  All Rights Reserved.
    --
    -- NAME
    --   glogin.sql
    --
    -- DESCRIPTION
    --   SQL*Plus global login "site profile" file
    --
    --   Add any SQL*Plus commands here that are to be executed when a
    --   user starts SQL*Plus, or uses the SQL*Plus CONNECT command
    --
    -- USAGE
    --   This script is automatically run
    --

    -- Used by Trusted Oracle
    COLUMN ROWLABEL FORMAT A15

    -- Used for the SHOW ERRORS command
    COLUMN LINE/COL FORMAT A8
    COLUMN ERROR    FORMAT A65  WORD_WRAPPED

    -- Used for the SHOW SGA command
    COLUMN name_col_plus_show_sga FORMAT a24
    COLUMN units_col_plus_show_sga FORMAT a15
    -- Defaults for SHOW PARAMETERS
    COLUMN name_col_plus_show_param FORMAT a36 HEADING NAME
    COLUMN value_col_plus_show_param FORMAT a30 HEADING VALUE

    -- Defaults for SHOW RECYCLEBIN
    COLUMN origname_plus_show_recyc   FORMAT a16 HEADING 'ORIGINAL NAME'
    COLUMN objectname_plus_show_recyc FORMAT a30 HEADING 'RECYCLEBIN NAME'
    COLUMN objtype_plus_show_recyc    FORMAT a12 HEADING 'OBJECT TYPE'
    COLUMN droptime_plus_show_recyc   FORMAT a19 HEADING 'DROP TIME'

    -- Defaults for SET AUTOTRACE EXPLAIN report
    -- These column definitions are only used when SQL*Plus
    -- is connected to Oracle 9.2 or earlier.
    COLUMN id_plus_exp FORMAT 990 HEADING i
    COLUMN parent_id_plus_exp FORMAT 990 HEADING p
    COLUMN plan_plus_exp FORMAT a60
    COLUMN object_node_plus_exp FORMAT a8
    COLUMN other_tag_plus_exp FORMAT a29
    COLUMN other_plus_exp FORMAT a44

    -- Default for XQUERY
    COLUMN result_plus_xquery HEADING 'Result Sequence'

    如果你想定制一些通用的环境变量设置,那么就可以在glogin.sql里面设置,需要注意的是它的影响是全局的。如果你想定制个性化的环境变量,最好使用login.sql来设置。

    如果没有loging.sql,通常我们用SQL*Plus登录数据库如下所示:

    [oracle@GSP monitoring]$ sqlplus / as sysdba

    SQL*Plus: Release 10.2.0.4.0 - Production on Fri Aug 2 14:26:36 2013

    Copyright (c) 1982, 2007, Oracle.  All Rights Reserved.

    Connected to:
    Oracle Database 10g Release 10.2.0.4.0 - Production

    SQL>

    在当前目录新建一个loging.sql文件,设置了一些变量:

    set sqlprompt "_connect_identifier> "
    set pagesize 500
    set linesize 138
    set serveroutput on

    _connect_identifier: 登录的实例
    pagesize: 设置每页打印的行数,该值包括NEWPAGE 设置的空行数
    linesize:  设置每行打印字符数,默认每行打印80个字符。可以设置LINESIZE,以避免折叠显示
    .....

    注意下面的明显变化(红色部分)
    [oracle@GSP monitoring]$ sqlplus / as sysdba

    SQL*Plus: Release 10.2.0.4.0 - Production on Fri Aug 2 14:33:44 2013

    Copyright (c) 1982, 2007, Oracle.  All Rights Reserved.

    Connected to:
    Oracle Database 10g Release 10.2.0.4.0 - Production

    apps>

    如果你想显示SQL*Plus登录的username、instance、datetie,那么你可以修改login.sql文件。
    set sqlprompt "_USER@ _CONNECT_IDENTIFIER >"
    set pagesize 500
    set linesize 138
    set serveroutput on

    此时登录SQL*Plus如下所示:
    [oracle@GSP monitoring]$ sqlplus / as sysdba

    SQL*Plus: Release 10.2.0.4.0 - Production on Fri Aug 2 14:41:07 2013

    Copyright (c) 1982, 2007, Oracle.  All Rights Reserved.

    Connected to:
    Oracle Database 10g Release 10.2.0.4.0 - Production

    SYS@ apps >

    当然你在其它目录(非当前目录)登录SQL*Plus,则不会有上面红色的环境设置。此时如果你需要在任何目录登录SQL*Plus都能应用该设置,则需设置SQLPATH环境变量。
    [oracle@GSP ~]$ vi ~/.bash_profile
    export SQLPATH=/home/oracle/monitoring/db_com_sql:$ORACLE_HOME/sqlplus/admin

    下面是一个比较通用的login.sql脚本:

    define_editor=vi 
    set serveroutput on size 100000  
    set trimspool on 
    set long 5000  
    set linesize 120  
    set pagesize 9999  
    column plan_plus_exp format a80  
    column global_name new_value gname  
    set termout off  
    define gname=idle  
    column global_name new_value gname  
    select lower(user) || '@' || substr(global_name,1,decode(dot,0,length(global_name),dot-1)) global_name from (select global_name,instr(global_name,'.') dot from global_name);  
    set sqlprompt '&gname> '  
    set termout on  

    参考资料:

    http://blog.csdn.net/tianlesoftware/article/details/6412769
    http://blog.sina.com.cn/s/blog_4fb09d6201008bve.html


    本文链接:http://www.cnblogs.com/kerrycode/p/3232629.html,转载请注明。


        
  • 最新技术文章:
    ▪current online redo log缺失后的恢复
    ▪ORA-600 2662错误解决实例
    ▪ORA-00600 2662错误解决方法
    ▪Oracle Hidden Parameter:_allow_resetlogs_corruption
    ▪Oracle诊断事件列表
    ▪Oracle 隐含参数 _disable_logging 详解
    ▪ORA-00600 [2662]错误解决过程
    ▪Oracle里常见的执行计划
    ▪Oracle里另外一些典型的执行计划
    ▪Oracle服务器自动备份
    ▪Oracle固定SQL的执行计划(一)---SQL Profile
    ▪Oracle固定SQL的执行计划(二)---SPM
    ▪同一环境下新建Standby RAC库
    ▪Oracle快速克隆安装
    ▪Oracle单实例启动多个实例
    mysql iis7站长之家
    ▪ORA-00379: no free buffers available in buffer pool DEFAULT ...
    ▪RMAN-06023: no backup or copy of datafile 16 found to restor...
    ▪RMAN还原数据库报错问题解决案例
    ▪OEL6.8_X86平台部署Oracle 10gR2检测失败问题
    ▪Oracle 性能优化建议
    ▪Oracle SQL语句优化心得
    ▪Oracle慢SQL监控脚本实现
    ▪Oracle dblink 查询 tns:无法解析指定的连接标识...
    ▪Red Hat Enterprise Linux 6使用udev配置Oracle ASM总结...
    ▪Linux6.6及以上版本配置Oracle ASM共享储存-UDEV
    ▪Oracle 12C 开启数据库归档模式
    ▪Solairs系统中配置Oracle 12c 开机启动
    ▪重建DBMS_STATS解决ORA-31626 ORA-21633以及ORA-04063 ORA...
    ▪Oracle ASMM 与AMM之间相互切换
     


    站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3