`
trophy
  • 浏览: 176784 次
  • 性别: Icon_minigender_1
  • 来自: 济南
社区版块
存档分类
最新评论
文章列表
高水位线实验: -- 创建test3表 SQL> create table test3 as   2  select * from dba_objects where 1 = 2; Table created -- 查看表中分配块,区大小 SQL> SELECT segment_name, segment_type, blocks -- 分配数据块数, extents -- 分配区块数   2    FROM dba_segments   3   WHERE segment_name = 'TEST3'   4  ; SEGMENT_NAME                      ...
Oracle SQL的优化规则: 尽量少用IN操作符,基本上所有的IN操作符都可以用EXISTS代替         用IN写出来的SQL的优点是比较容易写及清晰易懂,但是用IN的SQL性能总是比较低的,从ORACLE执行的步骤来分析用IN的SQL与不用IN的SQL有以下区别:        ORACLE 试图将其转换成多个表的连接,如果转换不成功则先执行IN里面的子查询,再查询外层的表记录,如果转换成功则直接采用多个表的连接方式查询。由此可见用 IN的SQL至少多了一个转换的过程。一般的SQL都可以转换成功,但对于含有分组统计等方面的SQL就不能转换了。         Oracle在执行IN ...
EXECUTE IMMEDIATE 代替了以前Oracle8i中DBMS_SQL package包.它解析并马上执行动态的SQL语句或非运行时创建的PL/SQL块.动态创建和执行SQL语句性能超前,EXECUTE IMMEDIATE的目标在于减小企业费用并获得较高的性能,较之以前它相当容易编码.尽管DBMS_SQL仍然可用,但是推荐使用EXECUTE IMMEDIATE,因为它获的收益在包之上。 -- 使用技巧1. EXECUTE IMMEDIATE将不会提交一个DML事务执行,应该显式提交如果通过EXECUTE IMMEDIATE处理DML命令,那么在完成以前需要显式提交或者作为EXECUTE ...
distinct这个关键字来过滤掉多余的重复记录只保留一条,但往往只用 它来返回不重复记录的条数,而不是用它来返回不重记录的所有值。其原因是distinct只有用二重循环查询来解决,而这样对于一个数据量非常大的站来说,无疑是会直接影响到效率的。 下面先来看看例子: table表 字段1     字段2   id        name   1           a   2           b   3           c   4           c   5           b 库结构大概这样,这只是一个简单的例子,实际情况会复杂得多。 比如我想用一条 ...
今天有人问我,他把字段类型设计成float(2)后,插入数据93.5,后,为什么变成了90? 为了说明这个问题,我们先来看一段话(http://www.cnoug.org/viewthread.php?tid=56643):Oracle Online Help 说:FLOAT(b) specifies a floating-point number with binary precision b. The precision b can range from 1 to 126. To convert from binary to decimal precision, multiply b ...
 一、概述  SGA,PGA,UGA都是Oracle管理的内存区。  SGA(System Global Area),即系统全局区,Oracle中最重要的内存区。  PGA(Process Global Area),即程序全局区,一个进程的专用的内存区。  UGA(User Global Area),即用户全局区,与特定的会话相关联。  专用服务器连接模式,UGA在PGA中分配。  共享服务器连接模式,UGA在SGA中的Large Pool中分配。  如果采用专用服务器连接模式,PGA中包含UGA,其他区域用来排序,散列和位图合并。  简单来讲,PGA=UGA+排序区+散列区+位图合并区。  ...
Oracle 的 9i/10g 中已经对内存管理逐步做了很大的简化,11g 则更进一步,引入了一个新的概念自动化内存管理(Automatic Memory Management,AMM) . 如果 DBA 真的想偷懒的话,只需要设定两个参数就可以把烦心的事情都交给 Oracle 折腾了(只要 DBA 足够心宽)。PGA 与 SGA 一起搞定。这两个参数分别是: MEMORY_TARGET--操作系统的角度上 Oracle 所能使用的最大内存值。动态参数 MEMORY_MAX_TARGET--MEMORY_TARGET所能设定的最大值。非动态可调。 Tip: 如果使用的是 pfile,设 ...
实例结构 oracle实例=内存结构+进程结构 oracle实例启动的过程,其实就是oracle内存参数设置的值加载到内存中,并启动相应的后台进程进行相关的服务过程。 进程结构 oracle进程=服务器进程+用户进程 几个重要的后台进程: DBWR:数据写入进程
为了确保并发用户在存取同一数据库对象时的正确性(即无丢失修改、可重复读、不读 “脏”数据),数据库中引入了锁机制。基本的锁类型有两种:排它锁(Exclusive locks 记 为X 锁)和共享锁(Share locks记为 S锁)。 排它 ...
Oracle 10g引入dbms_scheduler来替代先前的dbms_job,在功能方面,它比dbms_job提供了更强大的功能和更灵活的机制/管理。   整理scheduler这一部分,源于最近发现系统上自动采集统计信息的执行时间有些异常,执行时间被定义到了上午(这并不是一个很合理可靠的时间).在重新修改配置的同时,也顺便整理了这一块内容.   首先简单讲一下oracle 10g scheduler,10g引入dbms_scheduler来替代先前的dbms_job,在功能方面,它比dbms_job提供了更强大的功能和更灵活的机制/管理.它主要由以下几大块构成:   1.作业 ...
1.以sys用户登录到EM,新建一个用户userman,授予角色connect、resouce 2.退出EM,以用户userman登录EM,登录权限开始忘记改了,仍然是sysdba,结果登不上去,然后把登录权限改成normal登录,仍然登录不上去,但是以此用户登录sql*plus是可以登录滴,接着又用sys用户登录到EM,授予userman‘sysdba’的系统权限,然后再退出来,以userman登录,登录权限不管是‘sysdba’还是‘normal’都登录不上去,怎么回事??? 3.在网上查了一下,终于找到解决的办法了,呵呵 以userman用户登录到sql*plus,并且以sysdba ...
[/size]启动和关闭——管理员手册 --------------------------------------------------------------- 启动数据库时可以启动到不同的状态: START NOMOUNT:根据初始化参数建立SGA。 START MOUNT:根据初始化参数建立SGA。读取控制文件信息,加载数据库 ...
Global site tag (gtag.js) - Google Analytics