240 likes | 386 Vues
第 18 章 数据存储与转储. 本章目录. 18.1 存储空间管理 18.2 Oracle 支持的字符集 18.3 逻辑备份( EXPort ) 18.4 逻辑恢复( IMPort ) 18.5 SQL*Loader. 18.1 存储空间管理 18.1.1 表空间的创建与删除 1 .建立表空间的语法 创建数据表空间和撤消表空间的 CRAETE TABLESPACE 命令语法如下: CREATE [UNDO] TABLESPACE tablespace
E N D
本章目录 18.1 存储空间管理 18.2 Oracle支持的字符集 18.3 逻辑备份(EXPort) 18.4 逻辑恢复(IMPort) 18.5 SQL*Loader
18.1 存储空间管理 • 18.1.1 表空间的创建与删除 • 1.建立表空间的语法 • 创建数据表空间和撤消表空间的 • CRAETE TABLESPACE命令语法如下: • CREATE [UNDO] TABLESPACE tablespace • [DATAFILE datafile_tempfile_spec [, datafile_tempfile_spec]... ]
[{ MINIMUM EXTENT integer [ K | M ] | BLOCKSIZE integer [K] | logging_clause | FORCE LOGGING | DEFAULT [data_segment_compression] storage_clause | { ONLINE | OFFLINE } | { PERMANENT | TEMPORARY } | extent_management_clause | segment_management_clause } ];
datafile_tempfile_spec为表空间的数据文件定义,它的语法如下:datafile_tempfile_spec为表空间的数据文件定义,它的语法如下: ['filename'] [SIZE n [K|M]] [REUSE] [AUTOEXTEND {OFF|ON [NEXT n [K|M]] [MAXSIZE {UNLIMITED | n [K|M]}] }]
2.建立数据表空间 • 例:建立名称为data_ts1的数据表空间,大小为2M,区间大小统一为128KB大小。 • conn system/system@oradb • DROP TABLESPACE data_ts1 INCLUDING CONTENTS; • CREATE TABLESPACE data_ts1 • DATAFILE '%ORACLE_HOME%\database\data_ts1.dbf' SIZE 2M REUSE • UNIFORM SIZE 128K;
3.建立索引表空间 • 4.建立临时表空间 • 创建临时表空间的CREATE TEMPORARY TABLESPACE命令的简要语法如下: • CREATE TEMPORARY TABLESPACE tablespace • [TEMPFILE datafile_tempfile_spec] temp_tablespace_extent;
5.建立UNDO表空间 6.删除表空间 删除表空间的DROP TABLESPACE命令语法如下: DROP TABLESPACE tablespace [INCLUDING CONTENTS [AND DATAFILES] [CASCADE CONSTRAINTS] ] ;
18.1.2 回退段的创建与删除 1.回退段的创建 语法如下: CREATE [PUBLIC] ROLLBACK SEGMENT rollback_segment [TABLESPACE tablespace][STORAGE storage] ;
2.删除回退段 语法如下: DROP ROLLBACK SEGMENT rollback_segment ; 如下语删除回退段undo_ts1_rbs1: DROP ROLLBACK SEGMENT undo_ts1_rbs1;
18.1.3存储空间调节 为表空间增加数据文件的ALTER TABLESPACE语句的语法如下: ALTER TABLESPACE tablespace ADD DATAFILE filespec [autoextend_clause] [,filespec [autoextend_clause] ] … ;
改变数据文件大小的ALTER DATABASE语句的语法如下: ALTER DATABASE [database] DATAFILE 'filename' [, 'filename' ] … RESIZE integer [K | M ] ; 允许数据文件自动扩展的ALTER DATABASE语句语法如下: ALTER DATABASE DATAFILE filespec AUTOEXTEND {OFF|ON [ NEXT n [K|M] ] [MAXSIZE {UNLIMITED | n [ K | M ] }]} ;
18.2 Oracle支持的字符集 • 18.2.1 字符集 • 1.什么是字符集 • 2.Oracle核心字符集的设置 • 3.Oracle客户端字符集的设置
18.2.2 中文字符集 Oracle数据库管理系统使用两种中文字符集,简体中文字符集(Simplified Chinese)和繁体中文字符集(Traditional Chinese)。
18.3 逻辑备份(EXPort) 18.3.1 参数说明 18.3.2 以命令行输入参数方式运行EXPORT实用程序 18.3.3 以参数文件方式运行EXPORT实用程序
18.4 逻辑恢复(IMPort) 18.4.1 参数说明 18.4.2 以命令行输入参数方式运行IMP实用程序 18.4.3 以参数文件方式运行IMP实用程序
18.5 SQL*Loader • 18.5.1 基本概念 • 1.控制文件(ControlFile) • 2.输入文件(InputFile) • 3.日志文件 • 4.定长记录与变长记录
18.5.2 SQL*Loader的语法及参数 1.SQL*Loader的装载方法 2.映射数据格式 3.SQL*Loader命令参数 4.常用参数说明
18.5.3 控制文件 1.控制文件语法 典型的控制文件格式如下: OPTIONS (SKIP=n, LOAD=n, PARALLEL={TRUE | FALSE},…… ) --指定装载选项 LOAD DATA INFILE 数据文件
[ BADFILE 坏数据文件] [ DISCARDFILE 丢弃数据文件] [ FIELDS TERMINATED BY ',' ] --列分隔符,一般为逗号。常用于变长记录 [ OPTIONALLY ENCLOSED BY '"' ] --数据域边界符,一般为双引号。常用于变长记录 [ APPEND | INSERT | REPLACE ] --数据装载方式 [FIELDS [delimiter] ]
( column { RECNUM | CONSTANT value | SEQUENCE({ n | MAX |COUNT}[,increment]) | [POSITION ( {start [end] | * [ + integer ]} ) ] datatype [TERMINATED [BY] {WHITESPACE | [X] 'character' } ] [ [ OPTIONALLY ] ENCLOSE [BY] [X] 'character' ] [ NULLIF condition ] [ DEFAULTIF condition ] } , ……) INTO TABLE 表名 [ BEGINDATA ] ;
2.控制文件参数说明 例:使用SQL*Loader装载数据,源数据带分隔符。 --创建示例基表 conn scott/tiger@oradb DROP TABLE example; / CREATE TABLE example( col1 number(3), col2 varchar2(10));
--示例文件example.dat的内容如下 001,cd, 0002,fghi, 00003,lmn, 1, "pqrs", 0005,uvwx, --控制文件exam_loader.ctl的内容如下 load data infile 'd:\data\example.dat' into table example fields terminated by ',' optionally enclosed by '"' (col1, col2) --对应的SQL*Loader命令为 SQLLDR scott/tiger@oradb control=d:\data\exam_loader.ctl
本章小结 一般情况下,应为每个应用建立相应的数据表空间、索引表空间和临时表空间,这样可提高系统运行性能。Oracle采用撤消表空间和回退段来管理撤消数据。在Oracle9i中,允许数据库同时支持多国语言字符集,可以使用户使用本国语言与数据库交互。需要正确设置数据库核心字符集和客户端字符集才能正确的存储和显示数据。使用EXP实用程序实现数据的逻辑备份,使用IMP实用程序完成数据的逻辑恢复。SQL*Loader可以将外部文件中数据装载到Oracle数据库中。