(2008-06-02 10:41)
标签:
it
一、 常用日期数据格式
1.Y或YY或YYY 年的最后一位,两位或三位
SQL> Select to_char(sysdate,'Y') from dual;
TO_CHAR(SYSDATE,'Y')
--------------------
7
SQL> Select to_char(sysdate,'YY') from dual;
TO_CHAR(SYSDATE,'YY')
---------------------
07
SQL> Select to_char(sysdate,'YYY') from dual;
TO_CHAR(SYSDATE,'YYY')
----------------------
007
2.Q 季度 1~3月为第一季度,2表示第二季度。
SQL> Select to_char(sysdate,'Q') from dual;
TO_CHAR(SYSDATE,'Q')
--------------------
2
3.MM 月份数
SQL> Select to_char(sysdate,'MM') from dual;
TO_CHAR(SYSDATE,'MM')
---------------------
05
4.RM 月份的罗马表示 (V在罗马数字中表示 5)
SQL> Select to_char(sysdate,'RM') from dual;
TO_CHAR(SYSDATE,'RM')
---------------------
V
5.Month 用9个字符长度表示的月份名
SQL> Select to_char(sysdate,'Month') from du
(2008-06-02 10:37)
标签:
it
1.
表明对语句块选择基于开销的优化方法,并获得最佳吞吐量,使资源消耗最小化.
例如:
SELECT EMP_NO,EMP_NAM,DAT_IN FROM BSEMPMS WHERE
EMP_NO='SCOTT';
2.
表明对语句块选择基于开销的优化方法,并获得最佳响应时间,使资源消耗最小化.
例如:
SELECT EMP_NO,EMP_NAM,DAT_IN FROM BSEMPMS WHERE
EMP_NO='SCOTT';
3.
表明如果数据字典中有访问表的统计信息,将基于开销的优化方法,并获得最佳的吞吐量;如果数据字典中没有访问表的统计信息,将基于规则开销的优化方法;
例如:
SELECT EMP_NO,EMP_NAM,DAT_IN FROM BSEMPMS WHERE
EMP_NO='SCOTT';
4.
表明对语句块选择基于规则的优化方法.
例如:
SELECT EMP_NO,EMP_NAM,DAT_IN FROM BSEMPMS WHERE
EMP_NO='SCOTT';
5.
表明对表选择全局扫描的方法.
例如:
SELECT EMP_NO,EMP_NAM FROM BSEMPMS A WHERE EMP_NO='SCOTT';
6.
提示明确表明对指定表根据ROWID进行访问.
例如:
SELECT * FROM BSEMPMS WHERE ROWID>='AAAAAAAAAAAAAA'
AND EMP_NO='SCOTT';
7.
(2008-06-02 10:36)
标签:
it
在oracle中的select语句可以用START WITH...CONNECT BY PRIOR子句实现递归查询,connect
by 是结构化查询中用到的,其基本语法是:
select ... from tablename start with cond1
connect by cond2
where cond3;
简单说来是将一个树状结构存储在一张表里,比如一个表中存在两个字段:
id,parentid那么通过表示每一条记录的parent是谁,就可以形成一个树状结构。
用上述语法的查询可以取得这棵树的所有记录。
其中COND1是根结点的限定语句,当然可以放宽限定条件,以取得多个根结点,实际就是多棵树。
COND2是连接条件,其中用PRIOR表示上一条记录,比如 CONNECT BY PRIOR
ID=PRAENTID就是说上一条记录的ID是本条记录的PRAENTID,即本记录的父亲是上一条记录。
COND3是过滤条件,用于对返回的所有记录进行过滤
(2008-05-31 12:04)
标签:
it
http://hi.baidu.com/edeed/blog/item/345401e9938c023db80e2db0.html
DBA视频
http://hi.baidu.com/edeed/blog/item/e0aa3d6de4f667ff43169433.html
标签:
索引
oracle
位图
one
条目
it
第七章 索引
Oralce索引的类型:
1,B*Tree索引,这是“传统的”索引,是迄今为止在Oracle和大部分其他数据库中使用最多的索引,其在结构上和二叉树相似,根据码提供对单个行或一系列行的快速访问,通常需要很少的读取就能找到正确的航。
B*Tree索引有几种“子类型”:
索引组织表--在B*Tree结构中存储的一种表。
B*Tree聚簇索引--是用来索引聚簇码的,该索引不是用来从码转向行,而是从聚簇码转向包含和行相关的聚簇码的块。
2,反向码索引--这些是码中的字节是“反向”的B*Tree索引,用来通过在整个索引中装入底层的值,来更均匀的分配索引条目。
3,降序索引--降序索引允许数据在索引结构中从大到小排序。
4,位图索引--在B*Tree索引中,索引条目和行之间是一对一的关系。对于位图索引,一个索引条目使用一个位图同时指向许多行。这对于基本上制度的低技术(数据只有很少几个截然不同的值)数据是合适的。
5,基于函数的索引--这是一种在行,列中存储函数计算结果的
(2008-05-29 09:03)
标签:
oralce
it
1、startup nomount
非安装启动:这种方式启动下可执行:重建控制文件、重建数据库
启动instance,即启动SGA和后台进程,这种启动只需要init.ora文件。
2、startup mount dbname
安装启动:这种方式启动下可执行:数据库日志归档、数据库恢复、重新命名一些数据库文件
如:系统表空间或日志文件。
执行“nomount”,然后打开控制文件
3、startup open dbname
首先执行“nomount”,然后执行“mount”,再打开包括Redo log文件在内的所有数据库文件,
这种方式下可访问数据库中的数据。
4、startup等于以下三个命令
startup nomount
alter database mount
alter database open
标签:
嵌套表
oracle
索引
one
表空间
it
第六章 数据库表
Oralce中表的7中类型:
1,堆组织表(Heap Organized
Tables)--这是一种“规范”编著的数据库表。数据以一种堆的方式管理,当增加数据时,将使用在段中找到的第一个合适数据大小的空闲空间。当数据从表中删除时,留下的空间允许随后的insert和update重用。“堆”就是一片空间,并且以某种随机的方式使用。
2,索引组织表--这里表存储在索引结构中,利用行本身物理排序。在堆中,数据可能被填到任何合适的地方;在索引组织表中,根据主关键字,以排序顺序来存储数据。
3,聚簇表--第一,许多表物理上连接在一起存储,通常希望在一个数据库块上的一张表里。对于聚簇表,来自许多张表的数据可能被存储在同一个块上;第二,包含相同聚簇码值得所有数据将物理上存储在一起。数据“聚集”在聚簇码值周围,聚簇码用B*Tree索引构建。
散列聚簇表--和聚簇表相似,但是不是使用B*Tree索引有聚簇码丁文数据,散列聚簇吧码散列到簇中,来到达数据所在的数据库块。
4,嵌套表--对Oracle来说这是对象关系扩展的一部分,由系统产生的,并且以父/子关系维持子表,工作方式就像SCOTT模式中的EMP和DEPT一样。
5,临时表--这些表存储事
标签:
oralce
进程
it
Oralce进程:
在Oracle实例中有3类进程
1,服务器进程(Server
Process)--这些进程基于客户端的请求来执行工作。专用和共享的服务器,这些都是服务器进程。
2,后台进程(Background
Processes)--这些进程是伴随着数据库的启动而启动的,并执行各种维护工作,例如讲块写入磁盘,维护联机重做日志,清理推出的进程等等。
3,从属进程(Slave Process)--这些进程类似于后台进程,但它们是代表后台进程或服务器进程执行额外工作的进程。
服务器进程:
专用和共享服务器有相同的作用,处理所有的sql。提交查询时,服务器进程将分析这个查询,将它放在共享池中。这个进程将提出查询方案,执行查询方案,在缓冲区高速缓存中查找需要的数据,将数据从磁盘读取到缓冲区告诉缓存里,这些服务器进程都是骨干进程。是系统CPU时间的最大消耗者,进行排讯,累计,链接,几乎所有的工作。
在专用服务器模式下,客户端会话和服务器进程(或者是线程,有些时候是线程)之间存在一对一的关系,如果UNIX机器上有100个会话,那么将有100个进程在执行。
Oralce使用的网络软件/协议(Net8)用来进行客户服务器处理。
(2008-05-28 15:24)
标签:
c语言
陷阱
it
分类:
C语言
C专家编程
作 者:(美)PETER VAN DER LINDEN
C陷阱与缺陷
作 者:(美)ANDREW KOENIG
(2008-05-27 15:59)
标签:
回滚
sql
存取信息
oracle
语句
it
sql语句->
TOAD,plsql->
sever->
PGA(进程全局区)->
SGA(系统全局区)->
找相应的执行计划(解析sql语句,绑定变量,检查语法....)/如果在DataBuffer中存在sql语句就不从磁盘上抓取sql语句,而是从DataBuffer中抓取->
准备redo(重演,存取信息可以重演sql过程)/ondo(回滚,存取信息可以回滚数据)->
执行sql会在redo
cache中记录记录信息可以还原数据更改过程,在更新表的同时也更新索引,ondo回滚段->tablespace->磁盘->写入sql执行信息-->
在这一系列动作完成后把更新信息写入datafiles,写入数据是异步的,量大,速度慢
redo可以记录table,index一些信息,存在redo buffer中,当redo buffer满时,把信息写到redo
logfiles中,redo是实时的顺序的,速度快,量小
ondo信息也要保存在redo中,数据库中的任何变动都要被redo记录
select语句
Datablack
头:(1,锁定信息2,表的一些信息)
pctused
pctfree
highwatermast
写redo到磁盘中最消耗资源
redo越少,查询越快
实例崩溃--突然掉电