- 1、本文档共9页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
DB2和orcale数据库表分区方法和数据库的备份与恢复
DB2数据库表分区一、创建分区1、创建表及其分区1、创建表ineitem按l_shipdate(DATE类型,本文一下皆是以date类型字段为例,其他类型如int类似)字段分区,共四个分区,分区名字分别为A B C D ,即让数据分别存放在这四个分区,按分区条件存放 CREATE TABLE lineitem(l_orderkey DECIMAL(10,0) NOT NULL,l_partkey INTEGER,l_shipdate DATE,l_commentVARCHAR(44)) PARTITION BY RANGE(l_shipdate) (PARTITION A STARTING 1/1/1992 ENDING 6/30/1992,PARTITION B STARTING 7/1/1992 ENDING 12/31/1992,PARTITION C STARTING 1/1/1993 ENDING 6/30/1993, PARTITION D STARTING 7/1/1993 ENDING 12/31/1993); 2、也可以按月、年等划分分区。一下列子是共建立了五个表分区,分别是l_shipdate的最小值--12/31/1991、1/1/1992—1/31/1991、2/1/1992—2/28/1992、3/1/1992—3/31/1992、4/1/1992---最大值。CREATE TABLE lineitem(l_orderkey DECIMAL(10,0) NOT NULL,l_partkey INTEGER,l_shipdate DATE,l_comment VARCHAR(44))PARTITION BY RANGE(l_shipdate)( startingminvalue, STARTING 1/1/1992 ENDING 3/30/1992 every 1 month,endingmaxvalue)2、添加新空分区Altertable lineitem add PARTITION test STARTING 7/1/1994 ENDING 12/30/19943、补充若创建分区时未指定分区名称,系统默认会自动设置为 PART0,PART1,PART2……依次类推。二、删除分区(即数据清理) 1、先分离分区(注意:分离分区数据还在,会把A分区里面的数据转移到test_tmp里,此时A分区已被删除)alter table lineitem detach PARTITION A into test_tmp 2、删除分区转移表,彻底删除数据drop tabletest_tmp注意:DB2删除表分区数据是分以上两步。其他的数据库好像直接删除分区A即可。三、DB2数据脱机备份与恢复 1、完全备份数据库(时间戳:20071121152940)db2 backup dbTestDB to D:/DB2_Train 2、模拟灾难强制删除数据库db2 dropdbTestDB 3、根据数据库备份还原数据库db2 restore dbTestDB from D:/DB2_Train taken at 20071121152940注意:根据本人试验和查阅文献,表分区需要在表建立时创建。若一张表已存在,无分区,之后想加入分区,则需先建一个表A,然后将数据导出,再导入到表A,删除原表,然后将表A名称改为原表名。尚待测试问题表空间的建立(大小,文件位置,文件名称)表空间的删除Oracle数据库表分区表分区规则1、每一个分区都必须有一个VALUES LESS THEN子句,它指定了一个不包括在该分区中的上限值。分区键的任何值等于或者大于这个上限值的记录都会被加入到下一个高一些的分区中。2、所有分区,除了第一个,都会有一个隐式的下限值,这个值就是此分区的前一个分区的上限值。3、在最高的分区中,MAXVALUE被定义。MAXVALUE代表了一个不确定的值。这个值高于其它分区中的任何分区键的值,也可以理解为高于任何分区中指定的VALUE LESS THEN的值,同时包括空值。表分区实例假设有一个CUSTOMER表,表中有数据200000行,我们将此表通过CUSTOMER_ID进行分区,每个分区存储100000行,我们将每个分区保存到单独的表空间中,这样数据文件就可以跨越多个物理磁盘。下面是创建表和分区的代码,如下:CREATE TABLE CUSTOMER ( CUSTOMER_ID NUMBER NOT NULL PRIMARY KEY, FIRST_NAME VARCHAR2(30) NOT NULL, LAST_NAME VARCHAR2(30
文档评论(0)