当前位置:文档之家› 03-2 表空间管理

03-2 表空间管理


22
3.2 改变数据文件大小
改变存储空间的方法 为表空间添加文件 改变文件的大小(自动增长/手工改变大小) 设置数据文件自动增长 在语句CREATE DATABASE/ ALTER DATABASE/ CREATE TABLESPACE/ ALTER TABLESPACE中指定数据文件的 autoextend on选项。 ALTER TABLESPACE users
6
1.3 临时表空间创建 字典管理 临时表空间创建(字典管理 字典管理)
create tablespace usertemp datafile ‘d:\oracle\oradata\sort01.dbf’ size 50M extent management dictionary default storage(initial 192k next 192k minextents 1 pctincrease 0) temporary ;
默认情况
创建的非System表空间都默认为本地管理方式。
3
创建表空间的语法
语法 CREATE
{ permanent_tablespace_clause | temporary_tablespace_clause };
创建一般表空间 create tablespace 创建临时表空间 create temporary tablespace 权限 create tablespace,alter tablespace,alterdatabase
20
3.1 为表空间添加数据文件
பைடு நூலகம்21
实例
alter tablespace users
add datafile ‘d:\oracle\oradata\users02.dbf’ size 50M
alter tablespace tbstemp
add tempfile ‘d:\oracle\oradata\tbstemp02.dbf’ size 50M reuse;
置表空间联机:alter tablespace users online; 备份数据库
多表空间中的文件改名或改位置的步骤
关闭数据库:shutdown normal 在操作系统下复制数据文件并改名 启动实例,加载数据库但不打开它:startup mount 使用带有rename file的alter database语句改名
ALTER DATABASE
RENAME FILE '/u02/oracle/rbdb1/sort01.dbf','/u02/oracle/rbdb1/user3.dbf' TO '/u02/oracle/rbdb1/temp01.dbf','/u02/oracle/rbdb1/users03.dbf;
数据库在NOARCHIVELOG模式下 更改单个datafile 数据库在 模式下,更改单个 模式下 更改单个
ALTER DATABASE DATAFILE '/u02/oracle/rbdb1/users03.dbf' OFFLINE FOR DROP;
更改表空间中所有datafile或tempfile的可用性 或 更改表空间中所有 的可用性
13
2.4 设置只读表空间
设置只读
alter tablespace <tbsname> read only;
设置读写
alter tablespace <tbsname> read write;
14
2.5 表空间改名
ALTER TABLESPACE users RENAME TO usersts;
4
1.2 永久表空间创建 字典管理 永久表空间创建(字典管理 字典管理)
create tablespace dmusertbs datafile ‘d:\oracle\oradata\dmusertbs01.dbf’ size 50M,’d:\oracle\oradata\dmusertbs02.dbf’ size 50M default storage(initial 256k next 256k minextents 2 pctincrease 0 maxextents 4096) minimum extent 128k logging online permanent extent management dictionary;
2.7 表空间相关的系统视图(1) 表空间相关的系统视图( )
17
2.7 表空间相关的系统视图(2) 表空间相关的系统视图( )
18
例:列出表空间及缺省存储参数
19
3 管理数据文件
3.1 为表空间添加数据文件 3.2 改变数据文件大小 3.3 改变数据文件可用性 3.4 改变数据文件名称和位置 3.5 删除数据文件 3.6 数据文件相关的系统视图
8
2 管理表空间
2.1 设置默认存储参数 2.2 合并存储碎片 2.3 改变表空间可用性 2.4 设置只读表空间 2.5 表空间改名 2.6 删除表空间 2.7 表空间相关的系统视图
9
语法
ALTER TABLESPACE tablespace { DEFAULT storage_clause | MINIMUM EXTENT size_clause | RESIZE size_clause | COALESCE | RENAME TO new_tablespace_name | datafile_tempfile_clauses | tablespace_state_clauses };
ADD DATAFILE ‘d:\oracle\rbdb1\users03.dbf' SIZE 10M AUTOEXTEND ON NEXT 512K MAXSIZE 250M;
ALTER DATABASE
DATAFILE ‘d:\oracle\rbdb1\users03.dbf‘ AUTOEXTEND OFF
ALTER TABLESPACE users
RENAME DATAFILE '/u02/oracle/rbdb1/user1.dbf','/u02/oracle/rbdb1/user2.dbf' TO '/u02/oracle/rbdb1/users01.dbf','/u02/oracle/rbdb1/users02.dbf';
打开数据库:alter database open; 备份数据库
25
3.5 删除数据文件
方法 alter tablespace语句中使用drop datafile或drop tempfile;也可以 使用alter database语句。 例:ALTER TABLESPACE lmtemp DROP TEMPFILE '/u02/oracle/data/lmtemp02.dbf'; 也可以用:ALTER DATABASE TEMPFILE '/u02/oracle/data/lmtemp02.dbf' DROP INCLUDING DATAFILES; 限制 数据库应处于打开状态 datafile必须是空的。 表空间的第一个文件不可以删除。 read only表空间的文件不可以删除。 system表空间的文件不可以删除。 本地管理的表空间中离线数据文件不可以删除。
ALTER TABLESPACE <tbsname> DATAFILE {ONLINE|OFFLINE} ALTER TABLESPACE <tbsname>TEMPFILE {ONLINE|OFFLINE}
24
3.4 改变数据文件名称和位置
单表空间中的文件改名或改位置的步骤
表空间脱机状态:alter tablespace offline normal; 在操作系统下复制数据文件并改名 使用带有rename datafile的alter tablespace语句改名
26
3.6 数据文件相关的系统视图
27
查询数据文件信息的实例
28
7
1.3 临时表空间创建 本地管理 临时表空间创建(本地管理 本地管理)
create temporary tablespace usertemp tempfile ‘d:\oracle\oradata\sort01.dbf’ size 50M reuse extent management local uniform size 136k; alter tablespace usertemp add tempfile ‘d:\oracle\oradata\sort02.dbf’ size 50M reuse;

alter tablespace <tbname> offline normal; alter tablespace <tbname> offline temporary; alter tablespace <tbname> offline immediate; alter tablespace <tbname> offline for recover; alter tablespace <tbname> online;
11
2.2 合并存储碎片
自动合并存储碎片
分配新区,当空闲块不足; 表空间pctincrease<>0,SMON定期合并; 删除一个段,合并。
手工合并存储碎片
alter tablespace users coalesce;
12
2.3 改变表空间可用性
设置脱机/联机状态
normal:正常切换,oracle执行检查点。 temporary:临时切换,执行检查点但不检查各文件状态; 联机时可能需要恢复。 immediate:立即切换,不执行检查点,不检查文件,必须 恢复。 for recover:用于恢复方式切换。
相关主题