版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、Oracle8 数据库系统改良表的存取性能-索引与数据簇分区选件-分区表与分区索引并行选件-SQL语句并行处置新的数据类型多媒体数据类型. 索引 .索引在数据库运用中,性能主要取决于存取表中数据的速度。索引可以快速找到待定的表记录。索引维护与运用:索引对用户透明当有索引且能提高运用的性能时,Oracle自动运用索引。Oracle自动更新索引以使其与表同步。索引类型B树索引系统自动为主码和独一完好性约束建立位图索引索引表,分区索引,反向键值索引 。SMITHALLENWARDJONESMARTINBLAKECLARKSCOTTKINGTURNERADAMSJAMESFORDMILLERB树索引c
2、reate index 索引名 on 表名(列名) ADAMSALLENBLAKECLARKFORDJAMESJONESKINGMARTINMILLERSCOTTSMITHTURNERWARDMILLERTURNERBLAKEJAMESKINGROWID对于索引列的每一个能够的值,都有独立的位图项。在位图项中的每一位代表一个 能够的ROWID, 为1意味着 该行包含关键值。例如:LOC列3种取值北京 0 1 0 0 1 1 )天津 1 0 0 0 0 0 )上海 0 0 1 1 0 0 ) 第二个记录 第一个记录位图函数可以将位的位置转换为实践的ROWID 。 经过位图索引的合并简化查询条件,
3、 从而过滤被访问的数据集合。位图索引d01合资d02合资d03合资d04外企d05国企d06合资dnotype天津北京上海上海北京北京loc select dno from depwhere type = 合资 and loc in (北京, 上海); 合资 北京 上海1 0 0 0 1 1 0 1d0210 1 1d030 AND 0 OR 1 = 00 1 0 01 1 0 1d06位图索引的例子位图索引建立位图索引;create bitmap index dep_indexon dep(type) ;create bitmap index dep_indexon dep(doc) ;位图
4、索引适用于列的值取值不多的情况、索引列含有越多的值,位图项就越多,需求存储索引的空间也越大。由于Oracle必需展开一个位图索引的方式,所以不适于经常插入或更新数据的运用。位图索引典型地用于决策系统与数据仓库运用中查询数据。簇聚集索引当cluster建立后,必需建立簇索引后,被聚集 的表才干访问。系统不会自动为簇建索引。例:create clusert dep_emp(depno char(3);create table dep(dno . ,dname . ,) cluster dep_emp(dno);create table emp(emp ,dno.) cluster dep_emp(
5、dno);create index dep_emp_idx on cluster dep_emp; 簇聚集索引簇索引表的存储e01 王山 男 d01 佳月公司 8200e02 张丽 女 d01 e10 孙军 男 d02 运通公司 2034 d03 安合物业 6800 来自emp 来自dep cluster key 分区选件.分区选件分区的缘由表和索引迅速膨胀数据仓库和决策支持的需求什么是分区大的表或索引可以拆分为小的易于管理的数据片断, 例如将销售表按销售日期拆分成一系列数据片断其中每一个片断称为一个分区(partition)被分区的表称为分区表。数据仓库的概念数据仓库就是面向主题的、集成的、
6、稳定的、不同时间的数据集合,用以支持运营管理中的决策制定过程。主题是一个在较高层次将数据归类的规范,每一个主题对应一个宏观的分析领域数据仓库的集成特性是指在数据进入数据仓库之前,必需经过数据加工和集成,一致原始数据中的矛盾之处,将原始数据构造做一个从面向运用向面向主题的转变。数据仓库的稳定性是指数据仓库反映的是历史数据的内容,而不是日常事务处置产生的数据,进入数据仓库后是极少或根本不修正的数据仓库的概念数据仓库最根本的特点是物理地存放数据。这些数据并不是最新的、专有的,而是来源于其它数据库的。数据仓库的建立并不是要取代数据库,它要建立在一个较全面和完善的信息运用的根底上,用于支持高层决策分析。
7、而事务处置数据库在企业的信息环境中承当的是日常操作性的的义务。数据仓库是数据库技术的一种新的运用,而且到目前为止,数据仓库还是用数据库管理系统来管理其中的数据。分区只需表和索引可以分区。分区对于运用人员和用户是透明的。分区可以控制数据的存储地点:将数据分散存储在多个磁盘上。将经常运用的数据放在快速的磁盘上。分区可以有不同的物理属性:分区可以有不同的存储参数(tablespace, pctfree, pctused, 等等)分区表或索引可以跨表空间存储, 分区不可以。同一方式对象的一切分区必需具有一样的逻辑属性:一样的列, 数据类型, 约束。分区的作用添加了数据的可用性不同的分区可以跨表空间存储
8、,可以进展分区级的备份和恢复。不同的分区可以跨表空间存储, 降低了磁盘损坏带来的数据不可用性。不可用的分区不会影响到对其它分区的查询和维护提高了系统性能效力器可以进展智能的分区检测跳过与查询无关的分区访问跳过不在线的分区在物理设备上负载平衡将数据分散存储在多个磁盘上, 实现并行存取分区关键字分区关键字决议了划分分区的根据只能是规范数据类型: Number, Date, Character(VARCHAR2, CHAR)可以是多至16个的列的结合对关键字的修正不能导致记录在分区之间的挪动分区的数据范围LESS THAN 子句指定每个分区的上限值。除第一个分区外,每一个分区都有一个隐含的下限值即前
9、一个分区的上限值。最后一个分区的上限值可以设定为 MAXVALUE必需按照升序陈列来声明分区。建立分区表例1 CREATE TABLE sales97(acct_no number(5), product_id number(12), qty number(8), sales_date date )PARTITION BY RANGE (sales_date) ( PARTITION p1 VALUES LESS THAN (to_date(01-4月-1997,dd-mon-yyyy) TABLESPACE p1_space, PARTITION p2 VALUES LESS THAN (t
10、o_date(01-7月-1997,dd-mon-yyyy) TABLESPACE p2_space, PARTITION p3 VALUES LESS THAN (to_date(01-10月-1997,dd-mon-yyyy) TABLESPACE p3_space, PARTITION p4 VALUES LESS THAN (MAXVALUE) );建立分区表例2CREATE TABLE stu_score (stu_num NUMBER(5), score number not null,test_year number not null,test_month number not
11、null,test_day number not null )PARTITION BY RANGE(test_year,test_month,test_day) ( PARTITION score_q1 VALUES LESS THAN (1997,07,01 ) TABLESPACE education1, PARTITION score_q2 VALUES LESS THAN (1998,02,01 ) TABLESPACE education2 )查看分区情况查分区表分区数 select partition_count from user_part_tables where table_
12、name=SALES97PARTITION_COUNT 4查分区表分区划分情况情况select partition_name ,tablespace_name, partition_position,high_valuefrom user_tab_partitionswhere table_name=STU_SCORE ;SCORE_Q1 EDUCATION1 1 1997, 07, 01 SCORE_Q2 EDUCACION2 2 1998, 02, 01建立分区本卷须知设置分区的界限VALUES LESS THAN 定义了分区的上界VALUES LESS THAN 必需取值Number,
13、Character, DateMAXVALUE定义分区的最上界任何合法的存储子句均可用于分区(tablespace, pctfree.)没有为单独的分区设置存储子句时, 运用基表的存储子句在分区表中不能包含LONG类型的列。系统为每一分区设置一个隐含的CHECK约束(分区的最高限制是MAXVALUE时除外 。聚集表不能分区分区表的访问分区对表名的扩展: 方式名. 表名 PARTITION(分区名)例:SELECT * FROM sales97 WHERE qty 1000 AND sales_date BETWEEN 01-4月-97 AND 30-6月-97 ;指定分区SELECT * FR
14、OM sales97 PARTITION (p2)WHERE qty 1000;INSERT INTO sales97 PARTITION (p4)SELECT * FROM lastest_data;留意:分区表名的不兼容性分区表的访问分区值的检查insert into stu_scorevalues(98007,50,1998,2,1);错误位于第1行:ORA-14400: 插入的分区键超出最高的合法分区键。运用别名select * from stu_score partition(score_q1) q1where q1.score85建立视图create view sco_q1 ass
15、elect * from stu_score partition(score_q1);分区索引普通索引非分区索引CREATE INDEX sales97_idxON sales97 (sales_date);分区索引索引分区只需当索引本身足够大且适于分区时,索引分区才是有意义的。索引分区可提高可用性,提供并行索引扫描, 提高性能。选择分区索引的主列索引列与选择非分区索引主列没有区别根据where 子句的运用。分区索引战略一旦决议为表创建一个分区索引,必需决议如何组织、划分该索引的分区。两种选择:全局分区索引(GLOBAL):按自定的索引关键字来分区,对等分区索引, 也称部分索引 (LOCAL)
16、:创建与分区表的各分区一一对应的索引分区GLOBAL分区表分区表非分区表LOCAL分区索引对等分区索引 非分区索引对等分区对象定义: 以下属性完全一样的两个方式对象有一样的分区关键字一样数量的分区一样的分区界限运用对等分区的优点:对等分区对象是主、细表。全部对应的主细记录在相应的数据分区中,可很快完成两个表的衔接。在这种情况下,磁盘存取的减少类似于运用数据簇聚集来“予衔接主细表。对等分区的对象是表和索引:: 当查询时,特定索引分区中的全部键值只援用相应表分区中的记录。 当一个分区不可用时只需相应的分区索引不可用,不影响其他分区及分区索引,因此提高数据可用性。 当更新一个表分区的数据时,只须调整
17、相应的分区索引。分区表与对等分区索引建分区表CREATE TABLE sales97(acct_no NUMBER(5), product_id NUMBER(12), qty NUMBER(8), sales_date DATE)PARTITION BY RANGE (sales_date)(PARTITION q1 VALUES LESS THAN ,PARTITION q2 VALUES LESS THAN ,PARTITION q3 VALUES LESS THAN ,PARTITION q4 VALUES LESS THAN . ) ;建分区索引与对应分区表构成对等分区对象,。运用L
18、OCAL属性CREATE INDEX sales_idx ON sales97(sales_date)LOCAL (PARTITION index_q1, PARTITION index_q2, PARTITION index_q3, PARTITION index_q4);全局分区索引与分区表不构成对等分区对象, 按索引码分区, 而不是按表的分区关键字运用GLOBAL全局分区索引可以包含相应表全部分区的键值,在OLTP环境下提供比分区索引更好的性能。CREATE INDEX product_idx ON sales97 (product_id) GLOBAL PARTITION BY RAN
19、GE (product_id) (PARTITION pidx1 VALUES LESS THAN(100) tablespace users, PARTITION pidx2 VALUES LESS THAN (200 ) tablespace students, PARTITION pidx3 VALUES LESS THAN(MAXVALUE);分区索引例对等分区索引localcreate index stu_idx 97,7,1 98,2,1)on stu_score(test_year,test_month,test_day)local (partition index_q1, pa
20、rtition index_q2) ;全局分区索引global)create index stu_g_idxon stu_score(stu_num)global partition by range (stu_num) (partition pidx1 values less than(95000) tablespace users, partition pidx2 values less than (96000 ) tablespace students, partition pidx3 values less than(maxvalue) );查看分区索引select partition
21、_name,high_value,statusfrom user_ind_partitionswhere index_name=STU_IDX; INDEX_Q1 1997, 07, 01 USABLEINDEX_Q2 1998, 02, 01 USABLEselect partition_name,high_value,statusfrom user_ind_partitionswhere index_name=STU_G_IDX; PIDX1 95000 USABLEPIDX2 96000 USABLEPIDX3 MAXVALUE USABLE分区表的管理分区可独立管理,分区操作仅在单一分
22、区上发生作用。分区级的操作:alter table Add 分区alter table Drop分区 modify 分区 Move 分区 Split 分区 Rename分区 Exchange分区 Imported/Exported Load 分区数据分区索引的管理分区索引的管理类似于分区表的管理alter index drop partition只对global索引alter index split partition 只对global索引alter index rename partitionalter index rebuild partition alter index modify p
23、artitionalter index unusablealter index stu_idx rebuild partition index_q1;alter index stu_g_idx rebuild partition pidx1;分区表的维护 - 添加分区ALTER TABLE stu_score ADD PARTITION score_q3 VALUES LESS THAN (1998,07,01) TABLESPACE students;常用来维护历史数据, 用来添加另外时间段的数据。用于在分区表的高端添加分区假设添加的分区在分区表的中间,或最后分区边境是MAXVALUE时在高
24、端添加分区,要用其他方法拆分分区假设分区表有对等分区索引,那么分区索引会随之添加分区索引名用表分区名。分区索引的自动调整select partition_name,high_value,status from user_ind_partitions where index_name=STU_IDX; INDEX_Q1 1997, 07, 01 USABLEINDEX_Q2 1998, 02, 01 USABLESCORE_Q3 1998, 07, 01 USABLE 改名之前索引改名:alter index stu_idx rename partition score_q3 to index_
25、q3; select where index_name=STU_G_IDX; PIDX1 95000 USABLEPIDX2 96000 USABLE 没有变化PIDX3 MAXVALUE USABLE分区表的维护删除分区ALTER TABLE stu_score DROP PARTITION score_q3; 用于删除历史数据不想删除分区中的数据时, 应首先将分区数据合并到临近分区相应分区索引将被删除全局索引变为不可用需求重构删除分区索引select partition_name,high_value,statusfrom user_ind_partitionswhere index_na
26、me=STU_IDX; INDEX_Q1 1997, 07, 01 USABLEINDEX_Q2 1998, 02, 01 USABLEselect partition_name,high_value,statusfrom user_ind_partitionswhere index_name=STU_G_IDX; PIDX1 95000 UN USABLEPIDX2 96000 UNUSABLEPIDX3 MAXVALUE UNUSABLE分区表操作删除分区记录ALTER TABLE stu_score TRUNCATE PARTITION score_q3;也可以运用SQL语句中的Dele
27、te删除分区中的数据,但会比较慢。表中数据清空以后,对等分区索引会自动变化。非对等分区索引和普通索引变为不可用形状。 SCORE_Q2 STUDENTS 1998, 02, 01 表分区SCORE_Q3 STUDENTS 1998, 07, 01SCORE_Q1 USERS 1997, 07, 01 INDEX_Q2 1998, 02, 01 USABLE 索引分区INDEX_Q1 1997, 07, 01 USABLEINDEX_Q3 1998, 07, 01 USABLE PIDX1 95000 UNUSABLE 全局分区PIDX2 96000 UNUSABLEPIDX3 MAXVALUE
28、 UNUSABLE索引不可用能够使索引不可用(IU)的操作去除记录的分区操作(TRUNCATE PARTITION)跳过部分索引(LOCAL)的 Import对数据库的直接SQL*LOADER改动ROWID的分区操作(MOVE/SPLIT PARTITION)假设索引分区被标志为IU, 用户发出运用该索引分区的SELECT 或DML语句时, 将得到错误提示。这时需求重建索引。select * from stu_score where stu_num=950001错误位于第1行:ORA-01502: 索引 WXY.STU_G_IDX 或这类索引的分区是在不可运用的形状重建索引alter inde
29、x rebuild partition可以为local或global分区索引重建某个分区。例alter index stu_g_idx rebuild partition pidx1;alter index stu_g_idx rebuild partition pidx2;alter index stu_g_idx rebuild partition pidx3;重建索引还可以改动表空间等其他存储属性。alter index stu_g_idx rebuild partition pidx1 tablespace student2分区表的维护修正分区修正分区的物理属性alter table
30、stu_score modify partition score_q1 storage(maxextents 50);置分区表对应的部分索引为不可用形状。alter table stu_score modify partition score_q1 unusable local indexes ;, 用于插入和转入数据。为使部分索引可用, 必需重建索引分区重建已被标志为iu的局部分区索引alter table stu_score modify partition score_q1 rebuild unusable local indexes分区表的操作重命名分区修正分区名ALTER TABLE
31、 stu_scoreRENAME PARTITION score_q3 to score_qq3;附:修正表名ALTER TABLE stu_scoreRENAME to student_score ;分区表的操作挪动分区ALTER TABLE MOVE PARTITION挪动表分区到另外一个数据段上。新的数据段产生, 旧的数据段删除可在原表空间,也可移到其他表空间。用于将分区挪动到其它设备上,或用于减少分区碎片。相应的分区索引和其他类型的索引都应该重建。alter table stu_score move partition score_q1 ;分区表的操作拆分分区ALTER TABLE S
32、PLIT PARTITION将分区在分区范围内拆分为两个分区创建了两个分区, 每一个新分区有单独的数据段, 新的物理属性, 旧分区被删除相应的部分索引也被SPLIT, 并被标志为IU全局索引和非分区索引被标志为IUalter table stu_score split partition score_q2 at (1997,10,1) into (partition score_q21, partition score_q22); 分区名 分区上限值 分区索引 SCORE_Q1 1997, 07, 01 INDEX_Q1SCORE_Q21 1997, 10, 01 SCORE_Q21SCORE
33、_Q22 1998, 02, 01 SCORE_Q22SCORE_Q3 1998, 07, 01 INDEX_Q3分区表的操作交换数据ALTER TABLE EXCHANGE PARTITION用于非分区表和分区表的一个分区之间的双向交换。可以交换数据和索引段物理属性不变可以带with validation 或without validation。当数据不在分区范围时, WITH VALIDATION将报错。WITHOUT VALIDATION假定数据均在分区范围。例:alter table stu_score exchange partition score_q1 with table st
34、u_score97 without validation ;分区表操作合并分区运用IMPORT/EXPORT可以将临近分区合并为一个分区运用Export从低层分区取出要合并的数据运用SQL语句DROP曾经Exported的分区运用Import将取出的数据合并到临近分区运用SQL语句实现分区的合并insert into stu_tempselect * from stu_score partition(score_q1);alter table stu_score drop partition score_q1;insert into stu_scoreselect * from stu_tem
35、p;SQL语句的并行处置.什么是Oracle的并行并行效力器选项允许多个数据库实例运转在一个松散耦合多处置器系统或集群系统的不同接点上,同时存取一个 Oracle物理数据库,从而为用户提供了多种数据库存取途径。并行、容错并行SQL语句处置将一个SQL语句如查询分为几个子义务,然后启动多个进程并行处置子义务,并将结果快速前往给用户。 利用多进程、多CPU,缩短语句执行时间。SQL语句的并行执行不需求并行效力器选项。串行处置扫描emp表扫描dep表衔接排序CPUCPUCPUCPU查询结果Select ename,age,dnamefrom emp,depwhere emp.dno=dep.dnoo
36、rder by age;单个进程执行一条SQL语句SQL语句的并行处置Select ename,age,dnamefrom emp,depwhere emp.dno=dep.dnoorder by age;扫描emp表扫描dep表衔接排序CPUCPUCPUCPU查询结果多个进程执行一条SQL语句并行处置的条件软件环境 并行SQL处置系统。一个并行的SQL处置系统接受一个SQL恳求,智能地将它分解为几个较小的可以并行的子义务,然后运用一切空闲的CPU并行处置这些子义务,以到达缩短总处置时间的目的。Oracle效力器运用一种特殊的操作系统进程构造,并行处置对数据库的某些恳求。硬件 多CPU系统并行
37、SQL语句的硬件环境SMP(symmetric multiprocessor )对称多处置机CPUCPUCPU内存可以被并行处置的操作select(扫描表) , update , delete insert select 衔接操作join)聚合操作(统计)not in , group by , order by select distinct , union create table as select create index , rebuild indexsplit partiton , move partition , rebuild index partition 从SQL语句中调用P
38、L/SQL函数。并行机制-协调进程一个协调进程(coordinator)调度多个从属进程(slave processes)并行执行SQL语句。Select * from emp ;串行进程Emp表Select * from emp ;协调进程Emp表并行进程并行机制并行优化器当用户执行SQL语句时,优化器确定能否以并行方式执行语句,以及每一个操作的并行度是多少。并行进程池在启动一个数据库实例后,Oracle 建立一个并行进程池。当开场并行操作时,协调进程从并行池中获得并行进程资源,并把它们分配给有关操作。实行并行步骤SQL语句的前台进程变为并行协调进程。协调进程根据并行度从并行池中获得所需数量
39、的从属并行进程。系统将SQL语句化为一系列的操作,每个操作都尽能够地并行执行。当语句处置终了,协调进程前往结果给用户进程,并释放从属并行进程回进程池。并行方法块并行按ROWID的范围并行适用于查询包括select 语句和在 DML和DCL中的子查询。适用于move split 分区,rebuild 分区. 适用于分区 / 非分区的表和索引。分区并行适用于对分区表和分区索引的操作。从属进程并行适用于往非分区表中插入数据。插入记录时, 将记录分摊到各个从属进程分别插入因新记录还没有rowid,所以无法块并行。并行方案优化器确定了一条语句的执行方案协调器决议方案中的每一个操作的并行方法块并行、分区并
40、行 优化器确定执行方案中操作的执行顺序 语句的数据流操作之间的并行需求其他操作输出的操作称为父操作父操作子操作 : 消费者 消费者两种并行一个操作的并行 intro-operation 并行数据流中不同操作之间的并行 inter-operation 并行并行方式Select * from emp order by ename ; 无索引假设并行度为4,意味着对于任何给定的操作,可以激活4个并行进程 。实践上8个进程执行该语句。 Intro inter intro用户进程协调进程A-GH-MN-ST-ZscanscanscanscanEmp表并行度指定为执行一个单一操作而启动的进程数叫并行度语句
41、级指定 PARALLEL子句 PARALLEL (DEGREE 4) 语句提示hint /* + parallel(emp ,3) */表和索引级在建表和索引的语句中指定。隐含指定基于CPU数、存储表的设备磁盘数、分区数等并行度确定并行协调程序决议并行度的根据:检查在 SQL语句中的hint或parallel 子句。检查在表和索引定义语句中的指定。运用隐含并行度指定。一旦确定并行度,它将成为有关操作的并行度,即协调进程为一操作恳求的并行进程数。而实践进程数还取决于进程池中的可用资源。并行子句语法Parallel子句语法在DDL语句中运用用于create table ,create index
42、, create clusteralter table, alter indexrebuild ,alter clusteralter databaserecoverhint 指定在DML语句中运用/*+ parallel(表名,并行度) */noparallellparallell()degreeinstancesintegerdefault并行执行SQL语句例以并行度4同时执行扫描和更新 update /* + parallel(emp, 4) */ empset sal = sal + 100 where age50 ;以并行度3执行插入语句insert /* + parallel(em
43、p2, 3) */into emp2 select /* + parallel(emp1, 5) */ from emp1;以并行度4执行删除语句delete /* + parallel(tab1, 4) */ from tab1where col1 50 and col150;采用表定义隐含并行度值5select * from emp2 where age50;采用系统隐含值select * from emp1 where age50;PARALLEL( DEGREE 1 INSTANCES 1)等同于 NOPARALLELdegree 单实例中的并行instances 实例间的并行(没有并
44、行效力器时忽略两种并行度分别在并行效力器的5个实例上各启动5个恢复进程, 共25个进程。ALTER DATABASE RECOVERTABLESPACE binkyPARALLEL (DEGREE 5 INSTANCES 5);改动EMP1表的预定义并行度ALTER TABLE emp1PARALLEL (DEGREE 2);并行DML方式为使并行DML生效,会话需求PARALLEL DML方式特殊的锁、空间分配等ALTER SESSION ENABLE PARALLEL DML;一个事物可以包含多个修正不同表的并行DML, 但对于某个表作了并行DML修正后, 不能在此事务中再对该表作任何方式
45、的访问。查询包括DML语句中的子查询和DDL语句不受此影响。其他约束在并行DML操作中不支持触发器对本身的援用和连带删除必需被制止并行插入删除和修正不支持包含对象类型的表不支持聚集表复制功能中不支持并行DML并行任务 的平衡适当指定并行度可以优化性能、平衡并行操作例:emp表有10个分区并行度=1并行度=5 并行度=10并行度=9并行度=4处置时间 不等于 分区数 / 进程数大型对象-新数据类型支持多媒体数据. 大型对象-多媒体数据类型三种类型的LOB二进制LOB (BLOB):无构造的二进制大对象字符LOB (CLOB):字符数据不支持变宽字符集二进制文件 (BFILE):最大长度由OS定对
46、于LOB类型数据,表的列值为一定位器值,标明数据存放的位置:BLOB和CLOB :指向一个分开的由数据库分配的保管LOB的位置。 BFILE:指向一个外部文件。LOB数据没有必要与普通数据存放在一同。仅在需求时才访问它们。LOB可以是对象类型的属性每行只能有一个 LONG LONG在线存储 LONG = 2G LONG不能复制 LONG不能记录日志OCI可以处置该类型数据。varchar2 4k字符比较每行可以包含多个 LOBLOB可以离线存储LOB select * from person;列或属性类型无法经过 SQL*Plus 显示更新LOB数据自动加行锁不适用于LOB数据。要读加锁sel
47、ect pname from personwhere pname=张大年 for update ;update personset resume=新简历 where pname =张大年 ;update personset homepage= bfilename(person_dir,zhang.html)where pname=张大年 ;排他锁仅在更新内部存储的LOB数据时必要处置LOB数据的接口ORACLE提供大量的支配LOB数据的接口DBMS_LOB包 包含一系列函数和过程 OCI也包含大量API检查LOB数据的函数和过程COMPARE 比较两个LOB数据 GETLENGTH 执行sql 的length 函数 INSTR 查找字符串位置,执行sql 的instr 函数 READ 读入一段LOB值 SUBSTR LOB数据取子串,执行sql 的substr 函数处置LOB数据的接口改动LOB数据的函数和过程APPEND 把一个LOB数据追加到另一LOB数据后COPY 将一个LOB值的指定部分拷贝到另一LOB列ERASE 删除部分或全部LOB值 LOADFROMFILETRIM 执行sql 的rt
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- DB11T 271-2014 生活垃圾转运站运行管理规范
- 关于肺癌课件教学课件
- DB11∕T 1797-2020 食品生产企业质量提升指南
- 《短文两篇》导学案-2024-2025学年统编版九年级语文下册同步学与练
- 淮阴工学院《互换性与技术测量1》2023-2024学年第一学期期末试卷
- 金融数据加密机相关项目投资计划书
- 暑假安全教育 主题班会课件-2篇
- 轮胎均匀性试验机相关行业投资方案范本
- 智能城市EPC建设方案
- 外来物种对生态影响评估方案
- 太阳能光伏材料回收与回收利用投资报告
- 医疗卫生机构安全生产标准化文件汇编
- 全国职业院校技能大赛(航空服务赛项)备赛试题库(汇总)
- JGT368-2012钢筋桁架楼承板规范
- 诊所计划书范本
- 装配式围档施工方案
- 浙教版劳动教育六年级上册项目三 任务一《班级生活共观察》教学课件
- 小学信息技术-声控的秘密教学设计学情分析教材分析课后反思
- 课程名称耳应用解剖学
- 安徽高中会考:《通用技术》2023年考试真题与答案解析
- 搜狐网站架构介绍
评论
0/150
提交评论