名站网址导航为大家提供关于数据库教程相关的教程网站知识。
正在看的ORACLE教程是:ORACLE8的分区管理。 摘要:本篇文章介绍了ORACLE网站数据库的新特性—分区管理,并用例子说明使用具体相关方法。Oracle网站数据库的备份与恢复
---- 一、 导出/导入(Export/Import),---- 利用Export可将数据从网站数据库中提取出来,利用Import则可将提取出来的数据送回Oracle网站数据库中去。,---- 1. 简单导出数据(Export)和导入数据(Import),---- Oracle支持三种类型的输出:,---- (1)表相关方式(T相关方式),将指定表的数据导出。,---- (2)用户相关方式(U相关方式),将指定用户的所有对象及数据导出。,---- (3)全库相关方式(Full相关方式),将网站数据库中的所有对象导出。,---- 数据导出(Import)的过程是数据导入(Export)的逆过程,它们的数据流向不同。,---- 2. 增量导出/导入,---- 增量导出是一种经常用的的数据备份具体相关方法,它只能对整个网站数据库来实施,并且必须作为SYSTEM来导出。在进行此种导出时,系统不要求回答任何问题。导出网站网站文件名缺省为export.dmp,假如如果不希望自己的输,---- 增量导出包括三个类型:,---- (1)“完全”增量导出(Complete),---- 即备份整个网站数据库,比如:,---- $exp system/manager inctype=complete file=990702.dmp,---- (2) “增量型”增量导出,---- 备份上一次备份后改变的数据。比如:,---- $exp system/manager inctype=incremental file=990702.dmp,---- (3) “累计型”增量导出(Cumulative),---- 累计型导出相关方式只是导出自上次“完全” 导出之后网站数据库中变化了的信息。比如:,---- $exp system/manager inctype=cumulative file=990702.dmp,---- 网站数据库管理员可以排定一个备份日程表,用数据导出的三个不同相关方式合理高效地完成。,---- 比如网站数据库的备份任务可作如下安排:,---- 星期一:完全导出(A),---- 星期二:增量导出(B),---- 星期三:增量导出(C),---- 星期四:增量导出(D),---- 星期五:累计导出(E),---- 星期六:增量导出(F),---- 星期日:增量导出(G),---- 假如如果在星期日,网站数据库遭到意外破坏,网站数据库管理员可按以下步骤来恢复网站数据库:,---- 第一步:用开始执行命令CREATE DATABASE重新生成网站数据库结构;,---- 第二步:创建一个足够大的附加回段。,---- 第三步:完全增量导入A:,---- $imp system./manager inctype= RECTORE FULL=Y FILE=A,---- 第四步:累计增量导入E:,---- $imp system/manager inctype= RECTORE FULL=Y FILE =E,---- 第五步:最近增量导入F:,---- $imp system/manager inctype=RESTORE FULL=Y FILE=F,---- 二、 冷备份,---- 冷备份发生在网站数据库已经正常关闭的情况下,当正常关闭时会提供给咱们一个完整的网站数据库。冷备份是将关键性网站网站文件拷贝到另外位置的一种说法。对于备份Oracle信息而言,冷备份是最快和最安全的具体相关方法。冷备,---- 1.是非常快速的备份具体相关方法(只需拷贝网站网站文件),---- 2.容易归档(简单拷贝即可),---- 3.容易恢复到某个时间点上(只需将网站网站文件再拷贝回去),---- 4.能与归档具体相关方法相结合,作网站数据库“最新状态”的恢复。,---- 5.低度维护,高度安全。,---- 但冷备份也有如下不足:,---- 1.单独使用时,只能提供到“某一时间点上”的恢复。,---- 2.在实施备份的全过程中,网站数据库必须要作备份而不能作其它工作。也就是说,在冷备份过程中,网站数据库必须是关闭状态。,---- 3.若磁盘空间有限,只能拷贝到磁带等其它外部存储设备上,速度会很慢。,---- 4.不能按表或按用户恢复。,---- 假如如果可能的话(主要看效率),应将信息备份到磁盘上,然后启动网站数据库(使用户可以工作)并将所备份的信息拷贝到磁带上(拷贝的同时,网站数据库也可以工作)。冷备份中必须拷贝的网站网站文件包括:,---- 1.所有数据网站网站文件,---- 2.所有控制网站网站文件,---- 3.所有联机REDO LOG网站网站文件,---- 4.Init.ora网站网站文件(可选)。,---- 值得注意的是冷备份必须在网站数据库关闭的情况下进行,当网站数据库处于打开状态时,执行网站数据库网站网站文件系统备份是无效的,---- 下面是做冷备份的完整例子:,---- (1) 关闭网站数据库$sqldba lmode=y,---- SQLDBA >connect internal;,---- SQLDBA >shutdown normal;,---- (2) 用拷贝开始执行命令备份全部的时间网站网站文件、重做日志网站网站文件、控制网站网站文件、初始化参数网站网站文件,---- SQLDBA >! cp < file > < backup directory >,---- (3) 重启Oracle网站数据库,---- $sqldba lmode=y,---- SQLDBA >connect internal;,---- SQLDBA >startup;,---- 三、 热备份,---- 热备份是在网站数据库运行的情况下,采用archivelog mode相关方式备份数据的具体相关方法。所以,假如如果您有昨天夜里的一个冷备份而且又有今天的热备份网站网站文件,在发生问题时,就可以利用这些资料恢复更多的信息,---- 1.数据网站网站文件一个表空间一个表空间地备份。,---- (1)设置表空间为备份状态,---- (2)备份表空间的数据网站网站文件,---- (3)恢复表空间为正常状态,---- 2.备份归档log网站网站文件。,---- (1)临时停止归档进程,---- (2)log下那些在archive redo log目标目录中的网站网站文件,---- (3)重新启动archive进程,---- (4)备份归档的redo log 网站网站文件,---- 3.用alter database backup controlfile开始执行命令来备份拷贝网站网站文件,---- 热备份的优点是:,---- 1.可在表空间或数据网站网站文件级备份,备份时间短。,---- 2.备份时网站数据库仍可使用。,---- 3.可达到秒级恢复(恢复到某一时间点上)。,---- 4.可对几乎所有网站数据库实体作恢复。,---- 5.恢复是快速的,在大多数情况下在网站数据库仍工作时恢复。,---- 热备份的不足是:,---- 1.不能出错,否则后果严重。,---- 2.若热备份不成功,所得结果不可用于时间点的恢复。,---- 3.因难于维护,所以要特别仔细小心,不允许“以失败而告终”。
关键词:ORACLE,分区
一、 分区概述:
为了简化网站数据库大表的管理,ORACLE8推出了分区选项。分区将表分离在若干不同的表空间上,用分而治之的具体相关方法来支撑无限膨胀的大表,给大表在物理一级的可管理性。将大表分割成较小的分区可以改善表的维护、备份、恢复、事务及查询性能。针对当前社保及电信行业的大量日常业务数据,可以推荐使用ORACLE8的该选项。
二、分区的优点:
1 、增强可用性:假如如果表的一个分区由于系统故障而不能使用,表的其余好的分区仍然可以使用;
2 、减少关闭时间:假如如果系统故障只影响表的一部分分区,那么只有这部分分区需要修复,故能比整个大表修复花的时间更少;
3 、维护轻松:假如如果需要重建表,独立管理每个分区比管理单个大表要轻松得多;
4 、均衡I/O:可以把表的不同分区分配到不同的磁盘来平衡I/O改善性能;
5 、改善性能:对大表的查询、增加、修改等操作办法可以分解到表的不同分区来并行执行,可使运行速度更快;
6 、分区对用户透明,最终用户感觉不到分区的存在。
三、分区的管理:
1 、分区表的建立:
某公司的每年产生巨大的销售记录,DBA向公司建议每季度的数据放在一个分区内,以下示范的是该公司1999年的数据(假设每月产生30M的数据),操作办法如下:
STEP1、建立表的各个分区的表空间:
CREATE TABLESPACE ts_sale1999q1
DATAFILE ‘/u1/oradata/sales/sales1999_q1.dat'
SIZE 100M
DEFAULT STORAGE (INITIAL 30m NEXT 30m MINEXTENTS 3 PCTINCREASE 0)
CREATE TABLESPACE ts_sale1999q2
DATAFILE ‘/u1/oradata/sales/sales1999_q2.dat'
SIZE 100M
DEFAULT STORAGE (INITIAL 30m NEXT 30m MINEXTENTS 3 PCTINCREASE 0)
CREATE TABLESPACE ts_sale1999q3
DATAFILE ‘/u1/oradata/sales/sales1999_q3.dat'
SIZE 100M
DEFAULT STORAGE (INITIAL 30m NEXT 30m MINEXTENTS 3 PCTINCREASE 0)
CREATE TABLESPACE ts_sale1999q4
DATAFILE ‘/u1/oradata/sales/sales1999_q4.dat'
SIZE 100M
DEFAULT STORAGE (INITIAL 30m NEXT 30m MINEXTENTS 3 PCTINCREASE 0)
STEP2、建立基于分区的表:
CREATE TABLE sales
(invoice_no NUMBER,
...
sale_date DATE NOT NULL )
PARTITION BY RANGE (sale_date)
(PARTITION sales1999_q1
VALUES LESS ThAN (TO_DATE(‘1999-04-01','YYYY-MM-DD')
TABLESPACE ts_sale1999q1,
PARTITION sales1999_q2
VALUES LESS ThAN (TO_DATE(‘1999-07-01','YYYY-MM-DD')
TABLESPACE ts_sale1999q2,
PARTITION sales1999_q3
VALUES LESS ThAN (TO_DATE(‘1999-10-01','YYYY-MM-DD')
TABLESPACE ts_sale1999q3,
PARTITION sales1999_q4
VALUES LESS ThAN (TO_DATE(‘2000-01-01','YYYY-MM-DD')
TABLESPACE ts_sale1999q4 );
2 、分区表的扩容:
到了1999年年底,DBA应向表中加入2000年的表空间,同样是每季度一个表空间,由于公司业务欣欣向荣,预计每个分区为40M,操作办法如下。
STEP1、建立表空间:
CREATE TABLESPACE ts_sale2000q1
DATAFILE ‘/u1/oradata/sales/sales2000_q1.dat'
SIZE 130M
DEFAULT STORAGE (INITIAL 40m NEXT 40m MINEXTENTS 3 PCTINCREASE 0)
其他表空间ts_sale2000q2,ts_sale2000q3,ts_sales2000q4如法炮制。
STEP2、为表添加表空间:
ALTER TABLE sales
ADD PARTITION sales2000_q1
VALUES LESS ThAN (TO_DATE(‘2000-04-01','YYYY-MM-DD')
TABLESPACE ts_sale2000q1;
其他分区sales2000_q1,sales2000_q1,sales2000_q1如法炮制。
3 、删除不必要的分区:
公司规定:销售的明细数据两年内必须保存在线。到2001年,DBA必须将1999年的数据备份(备份具体相关方法见5、EXPORT分区),将1999年的分区删除,将空间供后来的数据使用。如此循环,永远保持两年的销售数据在线。
STEP1、DROP 分区:
ALTER TABLE sales
DROP PARTION sales1999_q1;
ALTER TABLE sales
DROP PARTION sales1999_q2;
ALTER TABLE sales
DROP PARTION sales1999_q3;
ALTER TABLE sales
DROP PARTION sales1999_q4;
STEP2、利用操作办法系统的相关工具删除以上表空间占用的网站网站文件(表空间基于裸设备无须次步),UNIX系统为例:
oracle$ rm /u1/oradata/sales/sales1999_q1.dat
oracle$ rm /u1/oradata/sales/sales1999_q2.dat
oracle$ rm /u1/oradata/sales/sales1999_q3.dat
oracle$ rm /u1/oradata/sales/sales1999_q4.dat
4 、分区的其他操作办法:
分区的其他操作办法包括截短分区(truncate),将存在的分区划分为多个分区(split),交换分区(exchange),重命名(rename),为分区建立索引等。DBA可以根据适当的情况使用。
以下仅说明分裂分区(split),例如该公司1999年第四季度销售明细数据急剧增加(因为庆国庆、迎千禧、贺回归),DBA向公司建议将第四季度的分区划分为两个分区,每个分区放两个月份的数据,操作办法如下:
STEP1、按(1)的具体相关方法建立两个分区的表空间ts_sales1999q4p1,
ts_sales1999q4p2;
STEP2、给表添加两个分区sales1999_q4_p1,sales1999_q4_p2;
STEP3、分裂分区:
ALTER TABLE sales
SPLIT PARTITON sales1999_q4
AT TO_DATE (‘1999-11-01','YYYY-MM-DD')
INTO (partition sales1999_q4_p1, partition sales1999_q4_p2)
5 、查看分区信息:
DBA要查看表的分区信息,可查看数据字典USER_EXTENTS,操作办法如下:
SVRMGRL>SELECT * FROM user_extents WhERE SEGMENT_NAME='SALES';
SEGMENT_NA PARTITION_ SEGMENT_TYPE TABLESPACE
---------- ------------ -------