- 浏览: 176784 次
- 性别:
- 来自: 济南
最新评论
-
ostriches:
很完整的例子。
oracle 高水位线(转)
文章列表
高水位线实验: -- 创建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。读取控制文件信息,加载数据库 ...