`

Oracle启动和常用知识

阅读更多

1、使用oracle用户登录: oracle/oracle

2、打开终端

3、查看本机IP地址:ifconfig,下图红色框中为ip地址

4、启动数据库:sqlplus sys/oracle as sysdba,在sql视图中输入startup

退出sql视图exit,启动监听lsnrctl start

启动监听:lsnrctl start
查看监听:lsnrctl status
停止监听:lsnrctl stop

 

 

1.ORA-20000: ORU-10027: 执行存储过程的错误 
 
循环执行存储过程时,出现报错:
 
 
解决方法:
        经过一系列的分析以及查看网上的资料终于知道了问题的解决方法,出现的原因是因为我在存储过程中使用了dbms_output.put_line(); 由于过程中有循环,因此输出量比较大,致使缓存不够报错.网上的解决方法是set   serveroutput   on   size   100000 (相当于把缓存设置大一点),但是我执行时候报错 ORA-00922: missing or invalid option,之后还是修改了自己的语句,既然是输出过多导致,我就将数据语句放在循环外面,这样只要输出语句小于缓存就可以了.
 
 
2.Oracle中的trunc函数
ORACLE中TRUNC是截取的函数
用在日期类型上,就是截取到日或时间
SELECT TRUNC(SYSDATE) FROM DUAL;
默认是截取系统日期到日,得到2012-12-19
比如值为"2012-12-19 14:30:50"的日期变量
TRUNC(SYSDATE)得到 2012-12-19 , 和TRUNC(SYSDATE,'DD')一样
TRUNC(SYSDATE,'YYYY'),得到2012-1-1
TRUNC(SYSDATE,'MM'),得到2012-12-1
TRUNC(SYSDATE,'DD'),得到2012-12-19
TRUNC(SYSDATE,'HH')或HH24,得到2012-12-19 14:00:00
TRUNC(SYSDATE,'MI'),得到2012-12-19 14:30:00
TRUNC(SYSDATE,'SS'),是会报错的,直接用SYSDATE不用TRUNC
另外说明一下,截取后得到的仍为date数据类型
 
TRUNC(x,y)用在数值上时(没有四舍五入功能,如果要四舍五入用ROUND(x,y)):
TRUNC(89.985)=89  --缺省的y值默认是0,截取到个位
TRUNC(89.985,1)=89.9 --截取1位小数
TRUNC(89.985,2)=89.98 --截取2位小数
TRUNC(89.985,4)=89.98 --截取4位小数,与原值不变
TRUNC(89.985,-1)=80 --截取到十位,个位补充0
 
 
3.oracle忘记sys密码解决
两种方法找回sys密码:
1.用windows验证(请确认OracleBaseDir/ora92/network/admin/sqlnet.ora文件中
SQLNET.AUTHENTICATION_SERVICES= (NTS)
这行未被注释),然后敲入
sql> connect sys/随意密码 as sysdba;
sql> alter user sys identified by 'new_password';
2.通过orapwd命令重新创建密码文件(每个DB有自己的密码文件)
先把OracleBaseDir/ora92/database/pwd+DBSID名.ora改成另外的文件名,
进入sqlplus,
sql> orapwd.exe file=OracleBaseDir/ora92/database/ pwd myoracle.ora password=newpwd(entries=10);
将OracleBaseDir/ora92/database/myoracle.ora文件名改为pwd+DBSID名.ora
最后,重新启动Oracle服务。
 
4. count(*),count(1)和count(主键)的区别
如果null参与聚集运算,则除count(*)之外其它聚集函数都忽略null. 
如: 
    ID     DD 
     1      e 
     2    null 
    select  count(*) from table  --结果是2 
    select  count(DD)  from table  ---结果是1
 
不考虑Null的情况 
count(1)和count(主键) 这两个只扫描主键Index就可以得到数据, 
count(*)是扫描表的。 
所以count(1)和count(主键)这两个效率高。 
还有一种写法是count(ROWID)这也是只扫描Index的,效率高。
 
5.Start with...Connect By子句递归查询
简单介绍如下:
     在扫描树结构表时,需要依此访问树结构的每个节点,一个节点只能访问一次,其访问的步骤如下:
     第一步:从根节点开始;
     第二步:访问该节点;
     第三步:判断该节点有无未被访问的子节点,若有,则转向它最左侧的未被访问的子节,并执行第二步,否则执行第四步;
     第四步:若该节点为根节点,则访问完毕,否则执行第五步;
     第五步:返回到该节点的父节点,并执行第三步骤。
 
  总之:扫描整个树结构的过程也即是中序遍历树的过程
 
通过子节点向根节点追朔. 
Sql代码
select * from persons.dept start with deptid=76 connect by prior paredeptid=deptid
( paredeptid是父id, deptid是当前id )
 
通过根节点遍历子节点.
Sql代码
select * from persons.dept start with paredeptid=0 connect by prior deptid=paredeptid
 
再次复习一下:start with ...connect by 的用法, start with 后面所跟的就是就是递归的种子。
 
递归的种子也就是递归开始的地方 connect by 后面的"prior" 如果缺省:则只能查询到符合条件的起始行,并不进行递归查询;
 
connect by prior 后面所放的字段是有关系的,它指明了查询的方向。
 
 
 
 
 
 
 

 

分享到:
评论

相关推荐

    高性能动态SQL Oracle数据安全 Oracle 数据库的聚簇技术 等等

    oracle知识 42 数据库的导入导出 42 Oracle查询中rownum与Order by查询 45 oracle9i小结 46 Oracle 数据库的聚簇技术 61 数据库、服务名、实例 63 Oracle内存结构 64 sys用户和system用户 67 Oracle SQL语句 67 ...

    ORACLE数据库基础知识-华为维护资料

    第1章 ORACLE数据库基础知识 1 1.1 产品概述 1 1.1.1 产品简介 1 1.1.2 基本概念 1 1.2 ORACLE系统结构 2 1.2.1 ORACLE物理结构 2 1.2.2 系统全局区 4 1.2.3 进程 6 1.3 存储管理 7 1.3.1 逻辑结构 8 1.3.2 表...

    jfsky.com-Oracle数据库基础知识

    2.2 SQL*Plus方式的ORACLE数据库启动和关闭 26 2.2.1 启动数据库 26 2.2.2 关闭数据库 26 2.3 svrmgrl方式的ORACLE数据库启动和关闭 28 2.3.1 启动数据库 28 2.3.2 关闭数据库 30 2.4 应用开发工具(SQL * Plus) 31...

    Oracle 教案(教程)

    第1章 Oracle基础知识 1.1 Oracle简介 1.2 Oracle 的版本 1.3 Oracle的安装(演示) 重要概念: 1. 全局数据库名与SID 全局数据库名 SID(数据库实例名) 2. Oracle的常用账户 3. 安装后的注意事项: 1.4 Oracle的...

    剑破冰山++Oracle开发艺术[1].part10

    本书主要覆盖Oracle开发必备的重要知识点:数据库编程规范、Oracle开发常用工具及使用、MERGE方法、神秘的NULL和讨厌的CHAR、扩展GROUP BY、Oracle自动类型转换、Oracle分析函数、Oracle层次查询、11g R2新特性之...

    《剑破冰山__Oracle开发艺术_》高清PDF

    本书主要覆盖Oracle开发必备的重要知识点:数据库编程规范、Oracle开发常用工具及使用、MERGE方法、神秘的NULL和讨厌的CHAR、扩展GROUP BY Oracle自动类型转换、Oracle分析函数、Oracle层次查询、11g R2新特性之递归...

    近800页的Oracle知识总结文档

    第四章 数据库的启动原理和开关命令 第五章 ORACLE的体系结构 第六章 常用工具的安装 第七章 数据字典与动态性能视图 第八章 对象 第九章 EM 第十章 ASM 第十一章 权限管理 第十二章 select语句 第十三章 ...

    ORACLE11G宝典.rar 是光盘里面的内容,书太厚咧没法影印啊

    程序设计,第5~9章分别介绍了Oracle11g的体系结构、表空间与数据文件的管理、启动和关闭数据库、网络服务与管理,第10—13章介绍了有关安全的几个内容(权限、角色、概要文件、用户的管理),第14—17章介绍了几种...

    剑破冰山++Oracle开发艺术[1].part01

    本书主要覆盖Oracle开发必备的重要知识点:数据库编程规范、Oracle开发常用工具及使用、MERGE方法、神秘的NULL和讨厌的CHAR、扩展GROUP BY、Oracle自动类型转换、Oracle分析函数、Oracle层次查询、11g R2新特性之...

    剑破冰山++Oracle开发艺术[1].part07

    本书主要覆盖Oracle开发必备的重要知识点:数据库编程规范、Oracle开发常用工具及使用、MERGE方法、神秘的NULL和讨厌的CHAR、扩展GROUP BY、Oracle自动类型转换、Oracle分析函数、Oracle层次查询、11g R2新特性之...

    剑破冰山++Oracle开发艺术[1].part04

    本书主要覆盖Oracle开发必备的重要知识点:数据库编程规范、Oracle开发常用工具及使用、MERGE方法、神秘的NULL和讨厌的CHAR、扩展GROUP BY、Oracle自动类型转换、Oracle分析函数、Oracle层次查询、11g R2新特性之...

    剑破冰山++Oracle开发艺术[1].part02

    本书主要覆盖Oracle开发必备的重要知识点:数据库编程规范、Oracle开发常用工具及使用、MERGE方法、神秘的NULL和讨厌的CHAR、扩展GROUP BY、Oracle自动类型转换、Oracle分析函数、Oracle层次查询、11g R2新特性之...

    剑破冰山++Oracle开发艺术[1].part08

    本书主要覆盖Oracle开发必备的重要知识点:数据库编程规范、Oracle开发常用工具及使用、MERGE方法、神秘的NULL和讨厌的CHAR、扩展GROUP BY、Oracle自动类型转换、Oracle分析函数、Oracle层次查询、11g R2新特性之...

    剑破冰山++Oracle开发艺术[1].part03

    本书主要覆盖Oracle开发必备的重要知识点:数据库编程规范、Oracle开发常用工具及使用、MERGE方法、神秘的NULL和讨厌的CHAR、扩展GROUP BY、Oracle自动类型转换、Oracle分析函数、Oracle层次查询、11g R2新特性之...

    剑破冰山++Oracle开发艺术[1].part05

    本书主要覆盖Oracle开发必备的重要知识点:数据库编程规范、Oracle开发常用工具及使用、MERGE方法、神秘的NULL和讨厌的CHAR、扩展GROUP BY、Oracle自动类型转换、Oracle分析函数、Oracle层次查询、11g R2新特性之...

    剑破冰山++Oracle开发艺术[1].part06

    本书主要覆盖Oracle开发必备的重要知识点:数据库编程规范、Oracle开发常用工具及使用、MERGE方法、神秘的NULL和讨厌的CHAR、扩展GROUP BY、Oracle自动类型转换、Oracle分析函数、Oracle层次查询、11g R2新特性之...

    剑破冰山++Oracle开发艺术[1].part09

    本书主要覆盖Oracle开发必备的重要知识点:数据库编程规范、Oracle开发常用工具及使用、MERGE方法、神秘的NULL和讨厌的CHAR、扩展GROUP BY、Oracle自动类型转换、Oracle分析函数、Oracle层次查询、11g R2新特性之...

    Oracle 10g 学习笔记

    │ ORACLE的索引和约束详解 - Oracle10g - 沪城篱笆.mht │ oracle里常用命令 - Oracle - 51CTO技术论坛_中国领先的IT技术社区.mht │ Sequence相关操作命令 - lvhuiqing的专栏 - CSDN博客.mht │ Sequence相关操作...

    深入解析Oracle.DBA入门进阶与诊断案例

    针对数据库的启动和关闭、控制文件与数据库初始化、参数及参数文件、数据字典、内存管理、Buffer Cache与Shared Pool原理、重做、回滚与撤销、等待事件、性能诊断与SQL优化等几大Oracle热点主题,本书从基础知识入手...

Global site tag (gtag.js) - Google Analytics