易截截图软件、单文件、免安装、纯绿色、仅160KB

Oracle 插入总结

Oracle 向一个表中插入数据的两种方式:
       Conventional Insert Operations:传统插入会优先使用高水位之下,会保证数据应用完整性:高水位之下是指:删除之后的剩余空间,高水位之上是指:从来没有用过的处女块。
       Direct-path Insert Operations:数据插入会利用高水位之上,不用高水位之下。采用Appends追加方式、不经过Buffer Catch 这个过程会大大提高性能。
Dircet-Load 工作模式
1 Serial Direct-path Insert :Single proces Insert (用分区或没分区)一个进程。插入之前是不会用高水位之下的块。所以插入前要rebuild 表使高水下的块结束空状态
2 Parallel Direct-path Insert(用分区) :多进程并行插入分区表。一个分区上可用多个进程,但是一个进程不能进入多个区。和1种方式一样、
3 Parallel Direct-path Insert (非分区):多进程并行插入非分区表。每个需要干活的进程会分一个临时的segment。最后会有一个协调者进程把segment合并移动到primary table segment 上。
具体:
1 (串行) :insert /*+Append*/ into temp nologging select * from all_objects;
/*+Append*/ :(串行)块拷贝直接使用高水位。
需要commit 后在查询。
2 (并行含分区):默认就是/*+Append*/
   Alter sesion enable parallel DML;
   INSERT /*+Parallel (用户.表, 分区数)*/  into 表 nologging select * from 源表。
如果是分区表nologging模式和主表的nologging 一样
一个表的nologging 是和它所在表空间的所在表空间是一样的。
可以改变所在表空间的nologging改变其下的表的nologging模式
set autot :可以查看Statistics logging日志
不过这样nologging是没有用的。可以使用alter table xxx nologging;
在insert /*+Append*/ into temp nologging select * from all_objects; 是会产生redo size非常的少、


相关文档:

oracle10G分区的创建与维护Oracle分区表和本地索引

 
  Oracle的分区技术在某些条件下可以极大的提高查询的性能,所以被广泛采用。从产品上说,分区技术是Oracle企业版中独立收费的一个组件。以下是对于分区及本地索引的一个示例。
  Oracle的分区技术在某些条件下可以极大的提高查询的性能,所以被广泛采用。从产品上说,分区技术是Oracle企业版中独立收费的一个 ......

Oracle数据库分区表操作方法

http://www.diybl.com/course/7_databases/oracle/oraclejs/2007614/52942.html
摘要:在大量业务数据处理的项目中,可以考虑使用分区表来提高应用系统的性能并方便数据管理,本文详细介绍了分区表的使用。 
   在大型的企业应用或企业级的数据库应用中,要处理的数据量通常可以达到几十到几百GB,有的甚至可以到T ......

ORACLE由脚本到创建数据库完整过程。

(1)以SYS身份登陆
conn sys/sysem_pwd as sysdba;
(2)创建amly用户
create user amly identified by 9imly;
(3)创建表空间
create tablespace ts_amly datafile 'd:\amlyfile\test.dbf' size 100M;
(4)将表空间分配给用户
alter user amly default tablespace ts_amly;
(5)给用户授权
grant create sess ......

oracle method

--single line method
select ascii('A') Big_A from dual;
select chr(65) A, chr(122) z, chr(223) ch3 from dual;
select concat('sigo','way') from dual;
select initcap('sigoway') from dual;
select instr('ababab','a',-1,2), instr('ababab','a',1,3) from dual;
select instrb('ababab','a',1,3) from dua ......

Oracle 的 Round 函數(四舍五入)函数


 
该函数用来返回一个四舍五入后的值
 
SELECT ROUND( number, [ decimalplaces ] ) from DUAL
 
參數:
必填项:number : 要处理的数值(数值表达式)
可选项:decimalplaces : 四舍五入时取的小数的位数,不填则返回整数
 
Sample :
 
select round(123.456) from dual;& ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号