ITPub博客

首页 > Linux操作系统 > Linux操作系统 > oracle 读书笔记七 管理表空间

oracle 读书笔记七 管理表空间

原创 Linux操作系统 作者:anchen211 时间:2009-04-10 16:10:04 0 删除 编辑

oracle 读书笔记七 管理表空间

创建大文件表空间:
CREATE BIGFILE TABLESPACE bigtbs
DATAFILE '/u02/oracle/data/bigtbs01.dbf' SIZE 50G;

ALTER TABLESPACE bigtbs RESIZE 80G;
ALTER TABLESPACE bigtbs AUTOEXTEND ON NEXT 20G

临时表空间:

V$SORT_SEGMENT:察看临时表空间的空间分配和回收情况
V$TEMPSEG_USAGE:查看临时段内的排序用户

创建临时表空间:
CREATE TEMPORARY TABLESPACE lmtemp TEMPFILE '/u02/oracle/data/lmtemp01.dbf'
SIZE 20M REUSE
EXTENT MANAGEMENT LOCAL UNIFORM. SIZE 16M;

创建大文件临时表空间:
CREATE BIGFILE TEMPORARY TABLESPACE
lmtemp TEMPFILE '/u02/oracle/data/lmtemp01.dbf'
SIZE 20G;

ALTER TABLESPACE lmtemp
ADD TEMPFILE '/u02/oracle/data/lmtemp02.dbf' SIZE 18M REUSE;
不能将临时表空间OFFLINE,只能将其文件OFFLINE;
ALTER TABLESPACE lmtemp TEMPFILE OFFLINE;
ALTER TABLESPACE lmtemp TEMPFILE ONLINE;

ALTER DATABASE TEMPFILE '/u02/oracle/data/lmtemp02.dbf' OFFLINE;
ALTER DATABASE TEMPFILE '/u02/oracle/data/lmtemp02.dbf' ONLINE;
ALTER DATABASE TEMPFILE '/u02/oracle/data/lmtemp02.dbf' RESIZE 18M;

删除临时表空间文件
ALTER DATABASE TEMPFILE '/u02/oracle/data/lmtemp02.dbf' DROP
INCLUDING DATAFILES;


隐式创建表空间组:
CREATE TEMPORARY TABLESPACE lmtemp2 TEMPFILE '/u02/oracle/data/lmtemp201.dbf'
SIZE 50M
TABLESPACE GROUP group1;

ALTER TABLESPACE lmtemp TABLESPACE GROUP group2;
将表空间从组中删除
ALTER TABLESPACE lmtemp3 TABLESPACE GROUP '';

设置默认表空间组
ALTER DATABASE sample DEFAULT TEMPORARY TABLESPACE group2;

创建非标准块大小的表空间
前提:设置了参数DB_nK_CACHE_SIZE

如下面语句应该设置了DB_8K_CACHE_SIZE
CREATE TABLESPACE lmtbsb DATAFILE '/u02/oracle/data/lmtbsb01.dbf' SIZE 50M
EXTENT MANAGEMENT LOCAL UNIFORM. SIZE 128K
BLOCKSIZE 8K;

表空间迁移
表空间迁移可以将一个表空间从一个数据库拷贝到另一个数据库。从9I开始,表空间迁移可以在不同数据块大小的数据库之间进行迁移。
表空间迁移速度比导出/导入要快
表空间迁移的应用场合:
1 导出/导入数据仓库表
2 在不同数据库之间拷贝只读表空间
3 归档历史数据
4 表空间的时间点恢复(TSPITR)

两种途径进行表空间迁移
1 手动在命令行操作
2 在EM中使用表空间迁移向导

10g后,可以跨平台迁移表空间,但并非在所有的平台之间都可以迁移,查询V$TRANSPORTABLE_PLATFORM查看支持迁移的平台。
SQL> COLUMN PLATFORM_NAME FORMAT A32
SQL> SELECT * FROM V$TRANSPORTABLE_PLATFORM;
PLATFORM_ID PLATFORM_NAME ENDIAN_FORMAT
----------- -------------------------------- --------------
1 Solaris[tm] OE (32-bit) Big
2 Solaris[tm] OE (64-bit) Big
7 Microsoft Windows IA (32-bit) Little
10 Linux IA (32-bit) Little
6 AIX-Based Systems (64-bit) Big
3 HP-UX (64-bit) Big
5 HP Tru64 UNIX Little
4 HP-UX IA (64-bit) Big
11 Linux IA (64-bit) Little
15 HP Open VMS Little
8 Microsoft Windows IA (64-bit) Little
9 IBM zSeries Based Linux Big
13 Linux 64-bit for AMD Little
16 Apple Mac OS Big
12 Microsoft Windows 64-bit for AMD Little
17 Solaris Operating System (x86) Little
16 rows selected.

如果源和目的操作系统平台的ENDIAN_FORMAT相同,则可以象在同一平台一样进行迁移,否则在源库须进行额外的一步转换操作。
在进行表空间迁移前,数据文件的头部必须确定它所属的系统,在10g之后的版本,可以通过至少让数据文件至少读写一次来实现这一目的。

表空间迁移的局限性
1 源和目的数据库要使用同样的数据库字符集和国家字符集;
2 如果源和目的库有相同的表空间则不能进行迁移
3 有下层对象(如物化视图)或内嵌对象(如分区表)的对象只有在所有对象都在一个表空间的情况下才可以进行迁移
4 10GR2以后,可以迁移XML类型对象,但只能使用imp/exp,而不能使用impdp/expdp

表空间迁移的兼容性

自10g以后,compatibility设置为相同或更高的数据库都可以进行迁移。
最小的兼容性要求
1 Minimum Compatibility Requirements
Transport Scenario                       Minimum Compatibility Setting
                                        Source Database Target Database
Databases on the same platform           8.0             8.0
Tablespace with different database block
size than the target database            9.0             9.0
Databases on different platforms         10.0            10.0


-----------------------------------------------------------------------------------------------------
1 检查平台兼容性

SELECT d.PLATFORM_NAME, ENDIAN_FORMAT
FROM V$TRANSPORTABLE_PLATFORM. tp, V$DATABASE d
WHERE tp.PLATFORM_NAME = d.PLATFORM_NAME;

2 确定自包含表空间
常见的自包含冲突:
1 索引在表空间集内,但其表不在
2 分区表只有一部分在表空间集内
3 当迁移表空间考虑包含约束时,则应考虑约束所引用的对象是否在迁移集内
4 迁移表包含LOB字段,而LOB对象不在迁移集内

使用DBMS_TTS.TRANSPORT_SET_CHECK来检查是否自包含,如
EXECUTE DBMS_TTS.TRANSPORT_SET_CHECK('sales_1,sales_2', TRUE);

然后从检查下面查询结果是否有冲突:
SELECT * FROM TRANSPORT_SET_VIOLATIONS;


3 生成迁移表空间集
3.1 将所有迁移集内的表空间只读
ALTER TABLESPACE sales_1 READ ONLY;
ALTER TABLESPACE sales_2 READ ONLY;

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/9375/viewspace-587029/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2008-11-04

  • 博文量
    129
  • 访问量
    176271