第一篇:第四章 管理表空间
第四章 管理表空间
4.1、基本表空间
一、创建表空间
1.创建一个表空间 myspace
CREATE
TABLESPACE myspace(表名)
DATAFILE 'D:apporacle11goradataorclmyspace.dbf'
SIZE 20M
AUTOEXTEND ON NEXT 5M MAXSIZE 100M;
2.查看所创建的表空间的属性 : dba_tablespaces
DESC dba_tablespaces
二、修改表空间 ALTER TABLESPASCE
1.修改表空间的状态
四种状态: 1)、ONLINE 在线
2)、OFFLINE 离线
2)、READ ONLY 只读
4)、READ WRITE 读写 ALTER TABLESPACE myspace READ ONLY
注意:有只读状态修改为 在线状态时 直接改为读写状态就可以咯
2.重命名表空间名
ALTER TABLESPACE myspace RENAME TO myspace2
3.增加表空间的数据文件
1)、查看是否有空闲表空间 dba_free_space
SELECT tablespace_name,bytes,blocks FROM dba_free_space WHERE tablespace_name='MYSPACE';2)增加表空间
ALTER tablespace myspace
ADD DATAFILE 'd:apporacle11goradataorclmyspace.dbf' SIZE 10M AUTOEXTEND ON NEXT 5M MAXSIZE 40M, 'd:apporacle11goradataorclmyspace2.dbf' SIZE 2M AUTOEXTEND ON NEXT 2M MAXSIZE 10M;3)删除表空间的数据文件
ALTER TABLESPACE myspace
DROP DATAFILE 'd:apporacle11goradataorclmyspace2.dbf';
三、修改表空间的数据文件 ALTER DATABASE
1、修改数据文件大小
1)查看比哦啊空间的数据文件信息
dba_dat_files
SELECT tablespace_name,file_name,bytes
FROM dba_dat_files WHERE tablespace_name=' MYSPACE';
2)修改数据文件大小
ALTER DATABASE
DATAFILE 'd:apporacle11goradataorclmyspace2.dbf' RESIZE 20M;
2、修改数据文件的自动增量 : 默认为OFF
ALTER DATABASE DATAFILE 'd:apporacle11goradataorclmyspace2.dbf' AUTOEXTEND ON NEXT 5M MAXSIZE 40M;
3、修改数据文件的状态
1)、ONLINE 表示数据文件可以使用
2)、OFFLINE 表示数据文件不可以使用,用于数据库运行在归档模式下的情况。
3)、OFFLINE DROP 表示数据文件不可用,但它用于数据库运行在非归档模式下的情况。
注:
归档重做日志文件用于对写满的日志文件进行复制并保存,具体功能由归档进程ARCn实现,该进程负责将写满的重做日志文件复制到归档日志目标中。
归档日志模式和非归档日志模式的区别
非归档模式只能做冷备份,并且恢复时只能做完全备份.最近一次完全备份到系统出错期间的数据不能恢复.归档模式可以做热备份,并且可以做增量备份,可以做部分恢复.用ARCHIVE LOG LIST 可以查看当前模式状态是归档模式还是非归档模式.ALETER DATABASE
DATAFILE 'd:apporacle11goradataorclmyspace2.dbf'
OFFLINE DROP;注:需要介质恢复
RECOVER
DATAFILE 'd:apporacle11goradataorclmyspace2.dbf';
4、删除表空间
DROP TABLESPACE myspace INCLUDING(包含)CONTENTS(内容)AND DATAFILES;4.2、临时表空间
一、创建临时表空间
1、创建临时表空间
CREATE TEMPRARY TABLESPACE mytemp
TEMPFILE 'E:orafilemytemp.dbf'
SIZE 10M AUTEXTEND ON NEXT 2M MAXSIZE 20M;
2、查看临时表空间的临时文件信息 : dba_temp_file
SELECT tablespace_name,file_name,bytes
FROM dba_temp_file WHERE tabespace_name='MYTEMP';
二、创建与管理临时表空间组
1、创建:不需要特别指定
CREATE TEMPRARY TABLESPACE mytemp2
TEMPFILE 'E:orafilemytemp2.dbf'
SIZE 10M AUTEXTEND ON NEXT 2M MAXSIZE 20M
TABLESPACE GROUP group1;
2、查看:dba_tablespace_groups
3、移动临时抱空间到另一组
ALTER TABLESPACE mytemp2 TABLESPACE GROUP group2;
4、删除临时表空间组:临时表空间被删除或者移走,临时表空间组也就不在咯
DROP TABLESPACE mytemp2;
第二篇:oracle表空间管理及操作实用案例
Oracle
表空间管理及操作详解(附带案例)
一:表空间概述
表空间是数据库的逻辑组成部分,从物理上讲,数据库数据存放在数据文件中;数据库逻辑上讲是由一个或者多个表空间组成,数据文件则是存放在表空间中,表空间有一个或者多个数据文件组成即表空间有数据文件构成的。
数据库,表空间,段,区,块,按大小排列依次是:数据库---》表空间-----》段-----》区----》块。
1.建立表空间的作用:
(1.)控制数据库占用的磁盘空间。(2).dba可以将不同的数据类型部署到不同的位置,这样有利于提高i/o性能,同时有利与备份和恢复等管理操作。
二:管理表空间和数据文件。
(1)建立表空间create tablespace;一般情况下建立表空间是特权用户或者dba来执行的,如果其他用户来创建表空间,则用户建必须要具有create tablespace的系统权限。(2)建立数据表空间
在建立数据库后,为便于管理表,最好建立自己的表空间。
create tablespace sp02 datafile 'd:testsp02.dbf' size 20m uniform size 128k 说明:执行完上述命令后,会建立名称为sp02的表空间,并为该表空间建立名称为sp02.dbf的数据文件,区的大小为128k。(3.)在表空间建表
create table tablesp02(ID number(5),name varchar2(20))tablespace sp02(4)显示当前用户拥有哪些表。
select * from tab;
(5).知道表空间名,显示该表空间包括的所有表。
select * from all_tables where tablespace_name='表空间名'。
注:拥有权限不同的用户在进行以上操作得到的结果可能不同。System可以查看得到某空间的所拥有表。(比如users表空间)(6)知道表名,查看该表属于那个表空间。
select TABLESPACE_NAME, TABLE_NAME from user_tables where TABLE_NAME='EMP';(7)知道表名,查看该表属于那个表空间,属于哪个用户。
select owner,TABLESPACE_NAME, TABLE_NAME from all_tables where TABLE_NAME='EMP';(8)改变表空间的状态 使表空间可读写
alter tablespace 表空间名 read write;
删除表空间,一般情况下由特权用户或者dba来操作。具有drop tablespace系统权限。
drop tablespace ‘表空间’includeing contens and datafiles;
说明:includeing contens表示删除表空间时,删除该空间的所有数据库对象而datafiles表示将数据库文件也删除。(9)改变表空间的状态(1)使用空间脱机
alter tablespace 表空间名 offline(2)使用空间联机
alter tablespace表空间名online(3)只读表空间
建立表空间时,表空间可以读写,如果不希望在表空间上执行update,delete,insert操作。那么可以将表空间修改为只读。alter talbespace sp01 read only;
三:移动数据文件:
(1)确定数据文件所在的表空间(知道表属于哪个表空间)Select tablespace_name from dba_data_files where file_name='D:TEST 5.DBF';(2)使用表空间脱机
确保数据文件的一致性,将表空间转换为offline的状态。alter tablespace sp01 offline;
(3)使用命令移动数据文件到指定的目标位置。host move d:testsp01.dpf c:testsp01.dbf;(4)执行alter tablespace命令
在物理上移动了数据后,还必须执行alter tablespace命令对数据库文件进行逻辑修改。
alter tablespace sp01 rename datefile ‘d:sp01.dbf’ to 'c:sp01.dbf'(5)使得表空间联机
在移动了数据文件后,为了使用户可以访问该表空间,必须将其变为online状态:
alter tablespace sp01 online;
四:显示表空间信息:
查询数据视图字典dba_tablespace,显示表空间的信息:
select tablespace_name from dba_tablespaces 显示某个表空间的详细信息: select * from dba_tablespaces where TABLESPACE_NAME='SP05';显示表空间所包含的数据文件。查询数据字典视图dba_data_files。可显示表空间所包含的数据文件如下:
select file_name,bytes from dba_data_files where tablespace_name='SP05';常用表空间,undo表空间和临时表空间,非标准块的表空间。了解表空间的各个状态:如何改变表空间的的状态的方法。(online,offline,read write,read only)system是系统表空间,不能作为只读,如果是普通表空间,那么我们可以设为只读。
五:附加案例:建一个表空间,在表空间里面建表,并且增加表空间的存储空间。
1.建立表空间 create tablespace sp05 datafile 'd:testsp05.dbf' size 20m uniform size 128k 2.建表
create table tablesp05(ID number(5),name varchar2(20))tablespace sp02 3.insert into tablesp05 select * from tablesp05;(重复多步提示空间不足)
4,拓展表空间,扩大存储空间。
alter tablespace sp05 add datafile 'D:test 5.dbf' size 20m;
拓展表空间的存储空间这里有三种方法:
(1)增加数据文件alter tablespace sp05 add datafile 'D:test 5.dbf' size 20m;
(2)修改数据文件大小
alter database datafile 'd:testsp05.dbf' resize 50m;数据文件不要超过500m。(3)设置文件的自动增长 alter database datafile 'D:testSP05.dbf' autoextend on next 10m maxsize 500m;
第三篇:oracle 管理表空间和数据文件
oracle 管理表空间和数据文件
介绍ν
表空间是数据库的逻辑组成部分。从物理上讲,数据库数据存放在数据文件中;
从逻辑上讲,数据库则是存放在表空间中,表空间由一个或多个数据文件组成。
数据库的逻辑结构
介绍ν
oracle 中逻辑结构包括表空间、段、区和块。
说明一下数据库由表空间构成,而表空间又是由段构成,而段又是由区构成,而
区又是由 oracle块构成的这样的一种结构,可以提高数据库的效率。
为了让大家明白,我们画图说明逻辑关系:看图:
表空间
介绍ν
表空间用于从逻辑上组织数据库的数据。数据库逻辑上是由一个或是多个表空间
组成的。通过表空间可以达到以下作用:
1.控制数据库占用的磁盘空间
2.dba 可以将不同数据类型部署到不同的位置,这样 利于提高 i/o性能,同
时利于备份和恢复等管理操作。(可以把索引,触发器单独放一个表空间中)。
建立表空间ν
建立表空间是使用 crate tablespace 命令完成的,需要注意的是,一般情况下,建立表空间是特权用户或是 dba 来执行的,如果用其它用户来创建表空间,则用
户必须要具 create tablespace 的系统权限。
建立数据表空间ν
在建立数据库后,为便于管理表,最好建立 自己的表空间 create tablespace data01 datafile 'd:testdada01.dbf' size 20m uniform size 128k;
说明:执行完上述命令后,会建立名称为 data01 的表空间,并为该表空间建立
名称为 data01.dbf 的数据文件,区的大小为 128k
ν 使用数据表空间(把表关联到表空间,如果没指定表空间,则默认在sys表空间里)create table mypart(deptno number(4), dname varchar2(14), loc varchar2(13))tablespace data01;
改变表空间的状态ν
当建立表空间时,表空间处于联机的(online)状态,此时该表空间是可以访问的,并且该表空间是可以读写的,即可以查询该表空间的数据,而且还可以在表
空间执行各种语句。但是在进行系统维护或是数据维护时,可能需要改变表空间的状态。一般情况下,由特权用户或是 dba 来操作。安全性考虑
1.使表空间脱机
alter tablespace 表空间名 offline;2.使表空间联机
alter tablespace 表空间名 online;3.只读表空间
当建立表空间时,表空间可以读写,如果不希望在该表空间上执行update,delete,insert 操作,那么可以将表空间修改为只读
alter tablespace 表空间名 read only;
(修改为可写是 alter tablespace 表空间名 read write;)
改变表空间的状态ν
我们给大家举一个实例,说明只读特性:
1.知道表空间名,显示该表空间包括的所有表
select * from all_tables where tablespace_name=’表空间名’;
2.知道表名,查看该表属于那个表空间 select tablespace_name, table_name from user_tables where table_name=’emp’;
通过 2.我们可以知道 scott.emp 是在 system 这个表空间上,现在我们可以将
system 改为只读的但是我们不会成功,因为 system 是系统表空间,如果是普通
表空间,那么我们就可以将其设为只读的,给大家做一个演示,可以加
理解。
3.4.使表空间可读写
alter tablespace 表空间名 read write;
ν 删除表空间
一般情况下,由特权用户或是 dba 来操作,如果是其它用户操作,那么要求用户
具 drop tablespace 系统权限。
drop tablespace ‘表空间’ including contents and datafiles;
说明:including contents 表示删除表空间时,删除该空间的所有数据库对象,而 datafiles 表示将数据库文件也删除。
扩展表空间ν
表空间是由数据文件组成的,表空间的大小实际上就是数据文件相加后的大小。
那么我们可以想象,假定表employee 存放到data01 表空间上,初始大小就是
2M,当数据满 2M 空间后,如果在向 employee 表插入数据,这样就会显示空间不
足的错误。
案例说明:
1.建立一个表空间 sp01
2.在该表空间上建立一个普通表 mydment 其结构和 dept 一样
3.向该表中加入数据 insert into mydment select * from dept;4.当一定时候就会出现无法扩展的问题,怎么办?
5.就扩展该表空间,为其增加更多的存储空间。三种方法:
1.增加数据文件
SQL> alter tablespace sp01 add datafile ‘d:testsp01.dbf’ size 20m;
-----------------------Page 51-----------------------2.增加数据文件的大小
SQL> alter tablespace 表空间名 ‘d:testsp01.dbf’ resize 20m;
这里需要注意的是数据文件的大小不要超过 500m。
3.设置文件的自动增长。
SQL> alter tablespace 表空间名 ‘d:testsp01.dbf’ autoextend on next
10m maxsize 500m;
移动数据文件ν
有时,如果你的数据文件所在的磁盘损坏时,该数据文件将不能再使用,为了能
够重新使用,需要将这些文件的副本移动到其它的磁盘,然后恢复。
下面以移动数据文件 sp01.dbf为例来说明:
1.确定数据文件所在的表空间
select tablespace_name from dba_data_files where file_name=’d:testsp01.dbf’;
2.使表空间脱机
确保数据文件的一致性,将表空间转变为 offline 的状态。
alter tablespace sp01(表空间名)offline;3.使用命令移动数据文件到指定的目标位置
host move d:testsp01.dbf c:testsp01.dbf 4.执行 alter tablespace 命令
在物理上移动了数据后,还必须执行alter tablespace 命令对数据库文件进行
逻辑修改: alter tablespace sp01 rename datafile ‘d:testsp01.dbf’ to
‘c:testsp01.dbf’;
5.使得表空间联机
在移动了数据文件后,为了使用户可以访问该表空间,必须将其转变为 online 状态。
alter tablespace sp01(表空间名)online;
显示表空间信息ν
查询数据字典视图 dba_tablespaces,显示表空间的信息:
select tablespace_name from dba_tablespaces;
显示表空间所包含的数据文件ν
查询数据字典视图 dba_data_files,可显示表空间所包含的数据文件,如下:
select file_name, bytes from dba_data_files where tablespce_name=’表
空间’;
表空间小结ν
1.了解表空间和数据文件的作用
2.掌握常用表空间,undo 表空间和临时表空间的建立方法
3.了解表空间的各个状态(online, offline, read write, read only)的作用,及如何改变表空间的状态的方法。
4.了解移动数据文件的原因,及使用alter tablespace 和 alter datatable 命令移动数据文件的方法。
-----------------------Page 52-----------------------
其它表空间ν
除了最常用的数据表空间外,还有其它类型表空间:
1.索引表空间 2.undo 表空间
3.临时表空间
4.非标准块的表空间
这几种表空间,大家伙可以自己参考书籍研究,这里我就不讲。
其它说明ν
关于表空间的组成部分 段/区/块,我们在后面给大家讲解。
第四篇:表空间
管理表空间和数据文件
小结:作用
Undo表空间和临时表空间的建立方法
了解各个状态(online,read write,readonly)的作用,及如何改变表空间的状态的方法。了解移动数据文件的原因,及使用alter tablespace和alter datatable命令移动数据文件的方法
介绍
表空间是数据库的逻辑组成部分,从物理上将,数据库数据存放在数据文件中;从逻辑上讲,数据库则是存放在表空间中,表空间是 由一个或多个数据文件组成。
表
表空间——》数据文件 数据库的逻辑结构
Oracle中逻辑结构包括表空间、段、区、块 一个数据库逻辑上由一个或多个表空间。表空间是由物理文件构成。可以达到以下作用:
(1)控制数据库占用的磁盘空间
(2)dba可以将不同数据类型部署到不同的位置,这样有利于提高I/O性能,同时利于备份和恢复等管理操作。建立表空间
建立表空间是使用create tablespace命令完成,需要注意的是,一般情况下,建立表空间是特权用户或是dba来执行的,如果其他用户来创建表空间,则用户必须要具有create tablespace的系统权限。建立数据表空间
在建立数据库后,为了便于管理,最好建立自己的表空间 Create tablespace date01(表空间的名)datefile(数据文件)‘d:testdata01.dbf’size 20m uniform size 128k(区128k)
说明;执行完上述命令后,会建立名称为date01的表空间,并为该表空间建立名称为date01.bdf的数据文件,区的大小为128k; 使用数据表空间
Create table mypart(deptno number(4), dname varchar2(14), loc varchar2(13))tablespace date01;改变表空间的状态
在建立表空间时,表空间处于联机的状态,此时该表空间是可以访问的,并且该表空间是可以读写的,即可以查询该表空间的数据,而且还可以在表空间执行各种语句。但是在进行系统维护或是数据库维护时,可能需要改变表空间的状态。一般情况下,由特权用户或是dba来操作。
(1)使表空间脱机
Alter tablespace 表空间名 offline;(2)使表空间联机
Alter tablesqace 表空间名online;(3)只读表空间
当建立表空间时,表空间可以读写,如果不希望在该表空间上执行update、delete、insert操作,那么可以将表空间修改为只读 Alter tablespace 表空间名
read only 改变表空间的状态
(1)显示表空间包括的所有表
Select * from all_tables where tablespace_name=’表空间名’(2)知道表名,查看该表属于那个表空间
(3)Select tablespace_name,table_name from user_tables where table_name=’emp’;删除表空间
Drop tablespace ‘表空间’ including contents and datafiles;说明:including contents 表示删除表空间时,删除该表空间的所有数据对象,而datafiles表示将数据文件也删除。扩展表空间
1、建立表空间 sp01
2、在该表空间上建立一个普通的表 mydment 其表结构和dept一样
3、想该表空间加入数据insert into mydment select * from dept;
4、当一定时候就会出现无法扩展的问题,怎么办?
5、就扩展该表空间,为其增加更多的存储空间。有三种方法:(1)增加数据文件
Alter tablespace sp01 add datefile ‘d:testsp01.dbf’ size 20m(2)增加数据文件的大小 Alter tablespace sp01 ‘d:testsp01.dbf’ resize 20m;(数据文件不超过500m)(3)设置文件的自动增长。
Alter tablespace 表空间名 ‘d:testsp01.dbf’ autoextend on next 10m maxsize 500m;故障处理
有时,如果你的数据文件所在的磁盘损坏时,该数据文件将不再能使用,为了能够重新使用,需要将这些文件的副本移动到其他的磁盘,然后恢复。
下面以移动数据文件sp_001.dbf为例说明: 1)确定数据文件所在的表空间 select tablespace_name
from
dba_data_files
where file_neme=’d:sp001.dbf’;2)使用表空间脱机
确保数据文件的一致性,将表空间转变为offline的状态 Alter tablespace sp01 offline;3)使用命令移动数据文件到指定的目标位置 Host move d:sp01.dbf c:sp01.dbf 4)移动数据文件
在物理上移动数据后,还必须执行alter tablespace 命令对数据库进行逻辑修改:
Alter tablespace sp01 rename datafile ‘d:sp01.dbf’ to ‘c:sp01.dbf’;5)使得表空间联机
在移动了数据文件后,为了使用户可以访问表空间,必须将其转变为online状态:
Alter tablespace sp01 online;
第五篇:oracle表空间和数据文件的管理实验
表空间和数据文件的管理实验
试验目的:全面掌握表空间和数据文件的创建、管理过程 试验内容:
1、创建表空间、增加数据文件
2、管理表空间和数据文件的的各种操作 试验步骤:
1、掌握表空间和数据文件相关的概念
1)oracle默认的表空间
系统默认的表空间:SYSTEM、SYSAUX、UNDOTBS1、EMP、EXAMPLE、USERS 2)系统表空间
SYSTEM、SYSAUX是系统表空间,SYSTEM用于存放oracle数据字典的结构和内部元数据。
SYSAUX是SYSTEM的辅助表空间用于存放个模式(用户)的对象元数据。
3)非系统表空间
由DBA根据需要创建,存放用户自己的数据,也可以包含临时数据以及UNDO数据。
2、创建表空间
1)创建表空间的语法
CREATE [smallfile|bigfile] TABLESPACE tablespace_name DATAFILE ‘/path/filename’ SIZE [k|m] REUSE
[‘/path/filename’ SIZE [k|m] REUSE]
[AUTOEXTEND [ON|OFF] NEXT [k|m] MAXSIZE [UNLIMITED|[K|M]]] [ONLINE|OFFLINE] [LOGGING|NOLOGGING] [PERMANENT|TEMPORARY] [DICTIONARY|LOCAL]
2)定义表空间名字及属性
创建两个表空间ts_test1、ts_test2,本地化管理(Local,默认)、永久表空间(permantent,默认)
3)定义数据文件名字、路径、初始大小、自动扩展等属性
数据文件data_test1、data_test2 路径:c:disk1data_test1.dbf c:disk2data_test2
4)创建脚本:
a、创建本地永久表空间
//创建本地永久表空间ts_test1和ts_test2,默认为永久和本地
SQL>create tablespace ts_test1 datafile ‘c:disk1data_file1.dbf’ size=50m reuse autoextend on next 10m;
SQL>create tablespace ts_test2 datafile ‘c:disk2data_file2.dbf’ size=50m reuse autoextend on next 10m maxsize unlimited;查看一下创建完成的结果
//查看dba_tablespaces结构
SQL>desc dba_tablespaces;
//查看字典中的所有表空间情况,extent_management值为local时为本地表空间 SQL>select tablespace_name,status,extent_management,content from dba_tablespaces;//查看创建表空间时创建的数据文件,首先查看dba_data_files字典结构 SQL>desc dba_data_files;//查看数据文件情况 SQL>set linesize 120 SQL>col file_name for a20 SQL>col file_id for a20 SQL>col tablespace_name a30 SQL>col online_status for a20 SQL>select file_name,file_id,tablespace_name,online_status from dba_data_files;
b、创建还原表空间和临时表空间
//创建还原表空间
SQL>create undo tablespace test_undo datafile ‘c:disk3test_undo’ size 20m;
//查看创建结果,contents为表空间内容类型,如undo
SQL>select tablespace_name,contents from dba_tablespaces;
c、创建临时表空间
//创建临时表空间
SQL>create temporary tablespace test_temp
tempfile ‘c:disk4test_temp.dbf’ size 20m extent management local;
//查询创建结果
SQL>select tablespace_name,extent_management,contents from dba_tablespaces;d、增加数据文件
//增加数据文件
SQL>alter tablespace ts_test1 add datafile ‘c:disk1ts_test11.dbf’ size 10m;
//查看增加数据文件的结果
SQL>col file_name for a30
SQL>col tablespace_name for a30 SQL>select file_name,tablespace_name from dba_data_files;
3、管理表空间的各种操作
1)改变表空间的读写状态
//将表空间设为只读
//这时表空间应为online状态,表空间不能包含回滚段,不能是归档模式
//查看数据库日志模式
SQL>archive log list;//查看表空间contents
SQL>select tablespace_name,contents from dba_tablespaces where tablespace_name like‘TS_%’;
//修改为只读
SQL>alter tablespace ts_test1 read only;2)表空间脱机离线、在线连接
SQL>alter tablespace ts_test1 offline;
SQL>alter tablespace ts_test1 online;
//查看表空间状态
SQL>select tablespace_name,status from dba_tablespaces;3)修改表空间名称 //查询当前表空间名称和所包含的数据文件
SQL>select file_name,tablespace_name from dba_data_files;//确认表空间处在online状态
SQL>select tablespace_name,status from dba_tablespaces;//表空间改名
SQL>alter tablespace ts_test2 rename to ts_test22;//查询修改结果
SQL>Col file_name for a30;SQL>col tablespace_name for a30;SQL>select file_name,tablespace_name from dba_data_files;4)设置默认表空间
SQL>alter database default tablespace users //设置默认临时表空间
SQL>alter database default temporary tablespace temp;5)删除表空间
SQL>drop tablespace ts_test2;//仅删除表空间信息不删除表空间数据文件 SQL>drop tablespace ts_test2 includng contents;//包括数据文件全部删除 查看删除后的结果情况
SQL>select file_name,tablespace_name from dba_data_files;6)切换undo表空间
SQL>alter system set undo_tablespace =undotbs02;7)删除undo表空间
要删除正在使用的undo表空间,首先切换undo表空间后在进行删除 例如删除undost01 SQL>alter system set undo_tablespace=undost02;SQL>drop tablespace undost01;8)查询undo表空间信息
SQL>show parameter undo_tablespace;
4、管理数据文件的各种操作 1)在表空间中新增一个数据文件
SQL>alter tablespace ts_test1 add datafile ‘c:dsk1ta_test111.dbf’ size 50m;2)删除表空间中无数据的数据文件 第一种语法
SQL>alter database datafile ‘c:disk1ts_test1.dbf’ offline;//数据文件脱机 SQL>alter tablespace ts_test1 drop datafile ‘c:disk1ts_test111.dbf’;第二种语法:
SQL>alter database datafile ‘mytb.dbf’ offline drop;3)数据文件自动扩展设置
SQL>alter tablespace ts_test1 datafile ‘c:disk1ts_test1.dbf’ autoextend on next 10m maxsize 500m;4)重置数据文件大小,收回或扩数据文件空间
SQL>alter tablespace ts_test1 datafile ‘c:disk1ts_test1.dbf’ resize 45m;
查询重置数据文件大小后的结果
SQL>col file_name for a30;
SQL>col tablespace_name for a30;
SQL>select file_name,tablespace_name,bytes/(1024*1024)from dba_data_files;5)移动数据文件
有两条语句可以实现对数据文件的移动:
a、alter tablespace tablespace_name rename datafile ‘/path/file_name1’
to ‘/path/file_name_new’;
a这条语句主要适合用户表空间,在执行这条语句时表空间必须脱机才能执行。SQL>alter tablesapace ts_test2 offline;//使表空间ts_test2脱机
SQL>host copy c:disk2ts_test2.dbf c:disk1 //将数据文件拷贝到新的位置
SQL>alter tablespace rename datafile ‘c:disk2ts_test2.dbf’ to ‘c:disk1ts_test1.dbf’;b、alter database db_name rename file ‘/path/file_name1’ to ‘/path/file_name_new’;
这条语句使用于系统表空间及不能置为脱机的表空间中的数据文件。在使用该语句时,数据库必须在加载(mount)的状态且目标数据文件必须存在,因为该语句只是修改文件中指向数据文件的指针(地址)。SQL>shutdown immediate;SQL>host copy c:oracleproduct10.2.0oradatasystem01.dbf c:disk1 SQL>startup mount;SQL>alter database rename file ‘c:oracleproduct10.2.0oradataorclsystem01.dbf’ to ‘c:disk1system01.dbf’;SQL>alter database open;查询移动后的结果
SQL>select file_name,tablespace_name from dba_data_files;