??xml version="1.0" encoding="utf-8" standalone="yes"?>激情欧美一区二区三区,三级网站视频在在线播放,飘雪影院手机免费高清版在线观看 http://www.aygfsteel.com/jnzgrass/category/18501.htmlzh-cn Tue, 05 Jun 2007 04:08:49 GMT Tue, 05 Jun 2007 04:08:49 GMT 60 Oracle数据导入导出imp/exp命o http://www.aygfsteel.com/jnzgrass/articles/121834.html东舟 东舟 Mon, 04 Jun 2007 06:45:00 GMT http://www.aygfsteel.com/jnzgrass/articles/121834.html http://www.aygfsteel.com/jnzgrass/comments/121834.html http://www.aygfsteel.com/jnzgrass/articles/121834.html#Feedback 0 http://www.aygfsteel.com/jnzgrass/comments/commentRss/121834.html http://www.aygfsteel.com/jnzgrass/services/trackbacks/121834.html 执行环境Q可以在SQLPLUS.EXE或者DOSQ命令行Q中执行Q?br /> DOS中可以执行时׃ 在oracle 8i 中?安装目录ora81BIN被设|ؓ全局路径Q?br /> 该目录下有EXP.EXE与IMP.EXE文g被用来执行导入导出?br /> oracle用java~写QSQLPLUS.EXE、EXP.EXE、IMP.EXEq两个文件有可能是被包装后的cL件?br /> SQLPLUS.EXE调用EXP.EXE、IMP.EXE所包裹的类Q完成导入导出功能?br /> 下面介绍的是导入导出的实例?br />数据导出Q?br /> 1 数据库TEST完全导出,用户名system 密码manager 导出到D:daochu.dmp?br /> exp system/manager@TEST file=d:daochu.dmp full=y 2 数据库中system用户与sys用户的表导出 exp system/manager@TEST file=d:daochu.dmp owner=(system,sys) 3 数据库中的表inner_notify、notify_staff_relat导出 exp aichannel/aichannel@TESTDB2 file= d:datanewsmgnt.dmp tables=(inner_notify,notify_staff_relat) 4 数据库中的表table1中的字段filed1?00"打头的数据导?br /> exp system/manager@TEST file=d:daochu.dmp tables=(table1) query=" where filed1 like '00%'" 上面是常用的导出Q对于压~,既用winzip把dmp文g可以很好的压~?br /> 也可以在上面命o后面 加上 compress=y 来实现?br /> 数据的导?br /> 1 D:daochu.dmp 中的数据导入 TEST数据库中?br /> imp system/manager@TEST file=d:daochu.dmp imp aichannel/aichannel@HUST full=y file=d:datanewsmgnt.dmp ignore=y 上面可能有点问题Q因为有的表已经存在Q然后它报错,对该表就不进行导入?br /> 在后面加?ignore=y 可以了?br /> 2 d:daochu.dmp中的表table1 导入 imp system/manager@TEST file=d:daochu.dmp tables=(table1) 基本上上面的导入导出够用了。不情况要先是表d删除Q然后导入?br /> 注意Q?br /> 操作者要有够的权限Q权限不够它会提C?br /> 数据库时可以q上的。可以用tnsping TEST 来获得数据库TEST能否q上?br /> 附录一Q?br /> l用户增加导入数据权限的操作 W一,启动sql*puls W二Q以system/manager登陆 W三Qcreate user 用户?IDENTIFIED BY 密码 Q如果已l创用户Q这步可以省略) W四QGRANT CREATE USER,DROP USER,ALTER USER ,CREATE ANY VIEW , DROP ANY VIEW,EXP_FULL_DATABASE,IMP_FULL_DATABASE, DBA,CONNECT,RESOURCE,CREATE SESSION TO 用户名字 W五, q行-cmd-q入dmp文g所在的目录, imp userid=system/manager full=y file=*.dmp 或?imp userid=system/manager full=y file=filename.dmp 执行CZ: F:WorkOracle_Databackup>imp userid=test/test full=y file=inner_notify.dmp 屏幕昄 Import: Release 8.1.7.0.0 - Production on 星期?2?16 16:50:05 2006 (c) Copyright 2000 Oracle Corporation. All rights reserved. q接? Oracle8i Enterprise Edition Release 8.1.7.0.0 - Production With the Partitioning option JServer Release 8.1.7.0.0 - Production l由常规路径导出由EXPORT:V08.01.07创徏的文?br />已经完成ZHS16GBK字符集和ZHS16GBK NCHAR 字符集中的导?br />导出服务器用UTF8 NCHAR 字符?(可能的ncharset转换) . 正在AICHANNEL的对象导入到 AICHANNEL . . 正在导入表 ?"INNER_NOTIFY" 4行被导入 准备启用U束条g... 成功l止导入Q但出现警告?br /> 附录二: Oracle 不允许直接改变表的拥有? 利用Export/Import可以辑ֈq一目的. 先徏立import9.par, 然后Q用时命o如下Qimp parfile=/filepath/import9.par ?import9.par 内容如下Q?br /> FROMUSER=TGPMS TOUSER=TGPMS2 Q注Q把表的拥有者由FROMUSER改ؓTOUSERQFROMUSER和TOUSER的用户可以不同) ROWS=Y INDEXES=Y GRANTS=Y CONSTRAINTS=Y BUFFER=409600 file==/backup/ctgpc_20030623.dmp log==/backup/import_20030623.log 补充Q?br />1.在导入导出命令中加上feedback=1000可以让过E显CZ个不断增多的?..”,以改变以往的闪烁的光标 ]]> 数据库主键设计之思?/title> http://www.aygfsteel.com/jnzgrass/articles/96521.html东舟 东舟 Mon, 29 Jan 2007 07:50:00 GMT http://www.aygfsteel.com/jnzgrass/articles/96521.html http://www.aygfsteel.com/jnzgrass/comments/96521.html http://www.aygfsteel.com/jnzgrass/articles/96521.html#Feedback 0 http://www.aygfsteel.com/jnzgrass/comments/commentRss/96521.html http://www.aygfsteel.com/jnzgrass/services/trackbacks/96521.html 主键的无意义性: 我强调主键不应该h实际的意义,q可能对于一些朋友来说不太认同,比如订单表吧Q会有“订单编号”字D,而这个字D呢在业务实际中本n是应该h唯一性,h唯一标识记录的功能,但我是不推荐采用订单~号字段作ؓ主键的,因ؓh实际意义的字D,h“意义更改”的可能性,比如订单~号在刚开始的时候我们一切顺利,后来客户说“订单可以作废,q新生成订单,而且订单可保持原订单号一致”,q样原来的主键就面危险了。因此,h唯一性的实际字段也代表可以作Z键。因此,我推荐是新设一个字D专门用Z键,此主键本w在业务逻辑上不体现Q不h实际意义。而这U主键在一定程序增加了复杂度,所以要视实际系l的规模大小而定Q对于小目Q以后扩展不会很大的话,也查允许用实际唯一的字D作主键的? 主键的选择 我们现在在思考一下,应该采用什么来作表的主键比较合理,x一下,主键的设计没有一个定论,各h有各人的ҎQ哪怕同一个,在不同的目中,也会采用不同的主键设计原则? W一Q编号作主键 此方法就是采用实际业务中的唯一字段的“编号”作Z键设计,q在型的项目中是推荐这样做的,因ؓq可以ə目比较单化Q但在用中却可能带来一些麻烦,比如要进行“编号修改”时Q可能要涉及到很多相兌的其他表Q就象黎叔说的“后果很严重?q有是上面提到的“业务要求允许编号重复时”,我们再那么先知,都无法知道业务将会修Ҏ什? W二Q自动编号主? q种Ҏ也是很多朋友在用的Q就是新Z个ID字段Q自动增长,非常方便也满主键的原则Q优ҎQ数据库自动~号Q速度快,而且是增量增长,聚集型主键按序存放Q对于检索非常有?数字型的Q占用空间小Q易排序Q在E序中传递也方便;如果通过非系l增加记录(比如手动录入Q或是用其他工具直接在表里插入新记录Q或老系l数据导入)Ӟ非常方便Q不用担心主键重复问题? ~点Q其实缺点也是来自其优点,是因ؓ自动增长Q在手动要插入指定ID的记录时会显得麻烦,其是当pȝ与其他系l集成时Q需要数据导入时Q很难保证原pȝ的ID不发生主键冲H(前提是老系l也是数字型的);如果其他pȝ主键不是数字型那麻烦更大了Q会D修改主键数据cd了,q也会导致其他相兌的修改,后果同样很严?q其他pȝ也是数字型的Q在导入ӞZ区分新老数据,可能惛_老数据主键前l一加一个“o?old)来表C是老数据,那么自动增长的数字型又面临一个挑战? W三QMax加一 ׃自动~号存在那些问题Q所以有些朋友就采用自己生成Q同h数字型的Q只是把自动增长L了,采用在InsertӞdMax值后加一Q这U方法可以避免自动编L问题Q但也存在一个效率问题,如果记录非常大的话,那么Max()也会影响效率?更严重的是ƈ发性问题,如果同时有两到相同的Max后,加一后插入的IDg重复Q这已经是有l验教训的了? W四Q自制加一 考虑Max加一的效率后Q有人采用自制加一Q也是Z个特别的表,字段为:表名Q当前序列倹{这样在往表中插入值时Q先从此表中扑ֈ相应表的最大值后加一Q进行插入,有h可能发现Q也可能会存在ƈ发处理,q个q发处理Q我们可以采用lockU程的方式来避免Q在生成此值的Ӟ先LockQ取到g后,再unLock出来Q这样不会有两h同时生成了。这比Max加一的速度要快多了。但同样存在一个问题:在与其他pȝ集成Ӟq了系l中的生成方法后Q很ȝ保证自制表中的最大g导入后的保持一_而且数字型都存在上面讲到的“o”老数据的导入问题。因此在“自制加一”中可以把主键设为字W型的。字W型的自制加一我倒是蛮推荐的Q应该字W型主键可以应付很多我们意想不到的情c? W五QGUID主键 目前一个比较好的主键是采用GUIDQ当然我是推荐主键还是字W型的,但值由GUID生成QGUID是可以自动生成,也可以程序生成,而且键g可能重复Q可以解决系l集成问题,几个pȝ的GUID值导ChQ也不会发生重复Q就有“o”老数据也可以区分Q而且效率很高Q在.NET里可以直接用System.Guid.NewGuid()q行生成Q在SQL里也可以使用 NewID()生成? 优点是: ? IDENTITY 列相比,uniqueidentifier 列可以通过 NewID() 函数提前得知新增加的? IDQؓ应用E序的后l处理提供了很大方便? 便于数据库移植,其它数据库中q不一定具? IDENTITY 列,? Guid 列可以作为字W型列{换到其它数据库中Q同时将应用E序中生的 GUID 值存入数据库Q它不会对原有数据带来媄响? 便于数据库初始化Q如果应用程序要加蝲一些初始数据, IDENTITY 列的处理方式比较麻烦,? uniqueidentifier 列则无需M处理Q直接用 T-SQL 加蝲卛_? 便于Ҏ些对象或帔Rq行怹标识Q如cȝ ClassIDQ对象的实例标识QUDDI 中的联系人、服务接口、tModel标识定义{? ~点是: GUID D长,不容易记忆和输入Q而且q个值是随机、无序的? GUID 的值有 16 个字节,与其它那些诸? 4 字节的整数相比要相对大一些。这意味着如果在数据库中? uniqueidentifier 键,可能会带来两斚w的消极媄响:存储I间增大Q烦引时间较慢? 我也不是推荐GUID最好,其实在不同的情况Q我们都可以采用上面的某一U方式,思考了一些利与弊Q也方便大家在进行设计时参考。这些也只是我的一Ҏ考而已Q而且可能我知识面限制Q会有一些误论在里面Q希望大家有什么想法欢q讨论?br />
http://groups.csdn.net/DOTNET/topic/2ba4e27a-3e2d-4ddd-bdba-d02ca9c700fd.aspx ]]>Oracle中分的?/title> http://www.aygfsteel.com/jnzgrass/articles/95944.html东舟 东舟 Thu, 25 Jan 2007 07:24:00 GMT http://www.aygfsteel.com/jnzgrass/articles/95944.html http://www.aygfsteel.com/jnzgrass/comments/95944.html http://www.aygfsteel.com/jnzgrass/articles/95944.html#Feedback 0 http://www.aygfsteel.com/jnzgrass/comments/commentRss/95944.html http://www.aygfsteel.com/jnzgrass/services/trackbacks/95944.html 在大型的企业应用或企业的数据库应用中,要处理的数据量通常可以辑ֈ几十到几百GBQ有的甚臛_以到TBU?虽然存储介质和数据处理技术的发展也很快,但是仍然不能满用户的需求,Z使用L大量的数据在d操作和查询中速度更快QOracle提供了对表和索引q行分区的技术,以改善大型应用系l的性能?br /> 使用分区的优点: 1、增强可用性:如果表的某个分区出现故障Q表在其他分区的数据仍然可用Q?br /> 2、维护方便:如果表的某个分区出现故障Q需要修复数据,只修复该分区卛_Q?br /> 3、均衡I/OQ可以把不同的分区映到盘以^衡I/OQ改善整个系l性能Q?br /> 4、改善查询性能Q对分区对象的查询可以仅搜烦自己兛_的分区,提高索速度?br /> Oracle数据库提供对表或索引的分区方法有三种Q?br /> 1、范围分?br /> 2、Hash分区Q散列分区) 3、复合分?br /> 下面以实例的方式分别对q三U分区方法来说明分区表的使用。ؓ了测试方便,我们先徏三个表空间?br /> create tablespace dinya_space01 datafile '/test/demo/oracle/demodata/dinya01.dnf' size 50M create tablespace dinya_space01 datafile '/test/demo/oracle/demodata/dinya02.dnf' size 50M create tablespace dinya_space01 datafile '/test/demo/oracle/demodata/dinya03.dnf' size 50M 1 分区表的创徏Q?.1 范围分区 范围分区是Ҏ据表中的某个值的范围q行分区Q根据某个值的范围Q决定将该数据存储在哪个分区上。如Ҏ序号分区Q根据业务记录的创徏日期q行分区{?br /> 需求描qͼ有一个物料交易表Q表名:material_transactions。该表将来可能有千万U的数据记录数。要求在表的时候用分。这时候我们可以用序号分Z个区Q每个区中预计存储三千万的数据,也可以用日期分区,如每五年的数据存储在一个分Z?br /> Ҏ交易记录的序号分区徏表: SQL> create table dinya_test 2 ( 3 transaction_id number primary key, 4 item_id number(8) not null, 5 item_description varchar2(300), 6 transaction_date date not null 7 ) 8 partition by range (transaction_id) 9 ( 10 partition part_01 values less than(30000000) tablespace dinya_space01, 11 partition part_02 values less than(60000000) tablespace dinya_space02, 12 partition part_03 values less than(maxvalue) tablespace dinya_space03 13 ); Table created. SQL> 成功Q根据交易的序号Q交易ID在三千万以下的记录将存储在第一个表I间dinya_space01中,分区名ؓ:par_01Q在三千万到六千万之间的记录存储在第二个表空_dinya_space02中,分区名ؓQpar_02Q而交易ID在六千万以上的记录存储在W三个表I间dinya_space03中,分区名ؓpar_03. Ҏ交易日期分区Q?br /> SQL> create table dinya_test 2 ( 3 transaction_id number primary key, 4 item_id number(8) not null, 5 item_description varchar2(300), 6 transaction_date date not null 7 ) 8 partition by range (transaction_date) 9 ( 10 partition part_01 values less than(to_date('2006-01-01','yyyy-mm-dd')) tablespace dinya_space01, 11 partition part_02 values less than(to_date('2010-01-01','yyyy-mm-dd')) tablespace dinya_space02, 12 partition part_03 values less than(maxvalue) tablespace dinya_space03 13 ); Table created. SQL> q样我们分别徏了以交易序号和交易日期来分区的分。每ơ插入数据的时候,pȝ根据指定的字段的值来自动记录存储到制定的分区(表空_中?br /> 当然Q我们还可以Ҏ需求,使用两个字段的范围分布来分区Q如partition by range ( transaction_id ,transaction_date),分区条g中的g做相应的改变Q请读者自行测试?br /> 1.2 Hash分区Q散列分区) 散列分区为通过指定分区~号来均匀分布数据的一U分区类型,因ؓ通过在I/O讑֤上进行散列分区,使得q些分区大小一致。如物料交易表的数据根据交易ID散列地存攑֜指定的三个表I间中: SQL> create table dinya_test 2 ( 3 transaction_id number primary key, 4 item_id number(8) not null, 5 item_description varchar2(300), 6 transaction_date date 7 ) 8 partition by hash(transaction_id) 9 ( 10 partition part_01 tablespace dinya_space01, 11 partition part_02 tablespace dinya_space02, 12 partition part_03 tablespace dinya_space03 13 ); Table created. SQL> 成功Q此时插入数据,pȝ按transaction_id记录散列地插入三个分区中,q里也就是三个不同的表空间中?br /> 1.3 复合分区 有时候我们需要根据范围分区后Q每个分区内的数据再散列地分布在几个表空间中Q这h们就要用复合分区。复合分区是先用范围分区,然后在每个分区内再用散列分区的一U分区方法,如将物料交易的记录按旉分区Q然后每个分Z的数据分三个子分区,数据散列地存储在三个指定的表空间中Q?br /> SQL> create table dinya_test 2 ( 3 transaction_id number primary key, 4 item_id number(8) not null, 5 item_description varchar2(300), 6 transaction_date date 7 ) 8 partition by range(transaction_date)subpartition by hash(transaction_id) 9 subpartitions 3 store in (dinya_space01,dinya_space02,dinya_space03) 10 ( 11 partition part_01 values less than(to_date('2006-01-01','yyyy-mm-dd')), 12 partition part_02 values less than(to_date('2010-01-01','yyyy-mm-dd')), 13 partition part_03 values less than(maxvalue) 14 ); Table created. SQL> 该例中,先是Ҏ交易日期q行范围分区Q然后根据交易的ID记录散列地存储在三个表I间中?br /> 2 分区表操?br />以上了解了三U分的徏表方法,下面用实际的数据qҎ日期的范围分区来试分区表的数据记录的操作?br />2.1 插入记录Q?br />SQL> insert into dinya_test values(1,12,'BOOKS',sysdate); 1 row created. SQL> insert into dinya_test values(2,12, 'BOOKS',sysdate+30); 1 row created. SQL> insert into dinya_test values(3,12, 'BOOKS',to_date('2006-05-30','yyyy-mm-dd')); 1 row created. SQL> insert into dinya_test values(4,12, 'BOOKS',to_date('2007-06-23','yyyy-mm-dd')); 1 row created. SQL> insert into dinya_test values(5,12, 'BOOKS',to_date('2011-02-26','yyyy-mm-dd')); 1 row created. SQL> insert into dinya_test values(6,12, 'BOOKS',to_date('2011-04-30','yyyy-mm-dd')); 1 row created. SQL> commit; Commit complete. SQL> 按上面的l果Q?006q前的数据将存储在第一个分区part_01上,?006q到2010q的交易数据存储在W二个分区part_02上,2010q以后的记录存储在第三个分区part_03上?br />2.2 查询分区表记录: SQL> select * from dinya_test partition(part_01); TRANSACTION_ID ITEM_ID ITEM_DESCRIPTION TRANSACTION_DATE -------------------------------------------------------------------------------- 1 12 BOOKS 2005-1-14 14:19: 2 12 BOOKS 2005-2-13 14:19: SQL> SQL> select * from dinya_test partition(part_02); TRANSACTION_ID ITEM_ID ITEM_DESCRIPTION TRANSACTION_DATE -------------------------------------------------------------------------------- 3 12 BOOKS 2006-5-30 4 12 BOOKS 2007-6-23 SQL> SQL> select * from dinya_test partition(part_03); TRANSACTION_ID ITEM_ID ITEM_DESCRIPTION TRANSACTION_DATE -------------------------------------------------------------------------------- 5 12 BOOKS 2011-2-26 6 12 BOOKS 2011-4-30 SQL> 从查询的l果可以看出Q插入的数据已经Ҏ交易旉范围存储在不同的分区中。这里是指定了分区的查询Q当然也可以不指定分区,直接执行select * from dinya_test查询全部记录。在也检索的数据量很大的时候,指定分区会大大提高检索速度?br /> 2.3 更新分区表的记录Q?br />SQL> update dinya_test partition(part_01) t set t.item_description='DESK' where t.transaction_id=1; 1 row updated. SQL> commit; Commit complete. SQL> q里第一个分Z的交易ID=1的记录中的item_description字段更新为“DESK”,可以看到已经成功更新了一条记录。但是当更新的时候指定了分区Q而根据查询的记录不在该分ZӞ不会更新数据,L下面的例子: SQL> update dinya_test partition(part_01) t set t.item_description='DESK' where t.transaction_id=6; 0 rows updated. SQL> commit; Commit complete. SQL> 指定了在W一个分Z更新记录Q但是条件中限制交易ID?Q而查询全表,交易ID?的记录在W三个分ZQ这栯条语句将不会更新记录?br /> 2.4 删除分区表记录: SQL> delete from dinya_test partition(part_02) t where t.transaction_id=4; 1 row deleted. SQL> commit; Commit complete. SQL> 上面例子删除了第二个分区part_02中的交易记录ID?的一条记录,和更新数据相同,如果指定了分区,而条件中的数据又不在该分ZӞ不会删除Q何数据?br /> 3 分区表烦引的使用Q?br />分区表和一般表一样可以徏立烦引,分区表可以创建局部烦引和全局索引。当分区中出现许多事务ƈ且要保证所有分Z的数据记录的唯一性时采用全局索引?br />3.1 局部烦引分区的建立Q?br />SQL> create index dinya_idx_t on dinya_test(item_id) 2 local 3 ( 4 partition idx_1 tablespace dinya_space01, 5 partition idx_2 tablespace dinya_space02, 6 partition idx_3 tablespace dinya_space03 7 ); Index created. SQL> 看查询的执行计划Q从下面的执行计划可以看出,pȝ已经使用了烦引: SQL> select * from dinya_test partition(part_01) t where t.item_id=12; Execution Plan ---------------------------------------------------------- 0 SELECT STATEMENT Optimizer=CHOOSE (Cost=2 Card=1 Bytes=187) 1 0 TABLE ACCESS (BY LOCAL INDEX ROWID) OF 'DINYA_TEST' (Cost= 2 Card=1 Bytes=187) 2 1 INDEX (RANGE SCAN) OF 'DINYA_IDX_T' (NON-UNIQUE) (Cost=1 Card=1) Statistics ---------------------------------------------------------- 0 recursive calls 0 db block gets 4 consistent gets 0 physical reads 0 redo size 334 bytes sent via SQL*Net to client 309 bytes received via SQL*Net from client 2 SQL*Net roundtrips to/from client 1 sorts (memory) 0 sorts (disk) 2 rows processed SQL> 3.2 全局索引分区的徏立?br />全局索引建立时global 子句允许指定索引的范围|q个范围gؓ索引字段的范围| SQL> create index dinya_idx_t on dinya_test(item_id) 2 global partition by range(item_id) 3 ( 4 partition idx_1 values less than (1000) tablespace dinya_space01, 5 partition idx_2 values less than (10000) tablespace dinya_space02, 6 partition idx_3 values less than (maxvalue) tablespace dinya_space03 7 ); Index created. SQL> 本例中对表的item_id字段建立索引分区Q当然也可以不指定烦引分区名直接Ҏ个表建立索引Q如Q?br /> SQL> create index dinya_idx_t on dinya_test(item_id); Index created. SQL> 同样的,对全局索引Ҏ执行计划可以看出索引已经可以使用Q?br /> SQL> select * from dinya_test t where t.item_id=12; Execution Plan ---------------------------------------------------------- 0 SELECT STATEMENT Optimizer=CHOOSE (Cost=2 Card=3 Bytes=561) 1 0 TABLE ACCESS (BY GLOBAL INDEX ROWID) OF 'DINYA_TEST' (Cost =2 Card=3 Bytes=561) 2 1 INDEX (RANGE SCAN) OF 'DINYA_IDX_T' (NON-UNIQUE) (Cost=1 Card=3) Statistics ---------------------------------------------------------- 5 recursive calls 0 db block gets 10 consistent gets 0 physical reads 0 redo size 420 bytes sent via SQL*Net to client 309 bytes received via SQL*Net from client 2 SQL*Net roundtrips to/from client 3 sorts (memory) 0 sorts (disk) 5 rows processed SQL> 4 分区表的l护Q?br /> 了解了分的徏立、烦引的建立、表和烦引的使用后,在应用的q要l常对分行维护和理。日常维护和理的内容包括:增加一个分区,合ƈ一个分区及删除分区{等。下面以范围分区Z说明增加、合q、删除分区的一般操作: 4.1 增加一个分? SQL> alter table dinya_test 2 add partition part_04 values less than(to_date('2012-01-01','yyyy-mm-dd')) tablespace dinya_spa ce03; Table altered. SQL> 增加一个分区的时候,增加的分区的条g必须大于现有分区的最大|否则pȝ提CORA-14074 partition bound must collate higher than that of the last partition 错误?br /> 4.2 合ƈ一个分区: SQL> alter table dinya_test merge partitions part_01,part_02 into partition part_02; Table altered. SQL> 在本例中原有的表的part_01分区和part_02分区q行了合qӞ合ƈ后的分区为part_02,如果在合q的时候把合ƈ后的分区定ؓpart_01的时候,pȝ提CORA-14275 cannot reuse lower-bound partition as resulting partition 错误?br /> 4.3 删除分区Q?br />SQL> alter table dinya_test drop partition part_01; Table altered. SQL> 删除分区表的一个分区后Q查询该表的数据时显C,该分Z的数据已全部丢失Q所以执行删除分区动作时要慎重,保先备份数据后再执行,或将分区合ƈ?br /> 5 ȝQ?br /> 需要说明的是,本文在D例说名分事务操作的时候,都指定了分区Q因为指定了分区Q系l在执行的时候则只操作该分区的记录,提高了数据处理的速度。不要指定分区直接操作数据也是可以的。在分区表上建烦引及多烦引的使用和非分区表一栗此外,因ؓ在维护分区的时候可能对分区的烦引会产生一定的影响Q可能需要在l护之后重徏索引Q相兛_容请参考分索引部分的文档?/font> ]]> 查看ORACLEpȝ参数 http://www.aygfsteel.com/jnzgrass/articles/88568.html东舟 东舟 Mon, 18 Dec 2006 08:11:00 GMT http://www.aygfsteel.com/jnzgrass/articles/88568.html http://www.aygfsteel.com/jnzgrass/comments/88568.html http://www.aygfsteel.com/jnzgrass/articles/88568.html#Feedback 0 http://www.aygfsteel.com/jnzgrass/comments/commentRss/88568.html http://www.aygfsteel.com/jnzgrass/services/trackbacks/88568.html ]]>
վ֩ģ壺
|
|
² |
|
ɽ |
ƽ |
|
Ĭ |
|
Ѱ |
|
ɽ |
ǿ |
|
лͨ |
|
˫ |
ɳƺ |
|
|
|
|
|
|
|
|
|
ҳ |
³ľ |
̩ |
|
|
|
|
|
|
|
|
|
|
żҸ |