Oracle表空间和他的数据文件

时间:2023-03-09 19:50:21
Oracle表空间和他的数据文件
       //以myspace为例 来源于Oracle 11g数据库应用简明教程 清华出版社
/*创建表空间*/
CREATE TABLESPACE myspace
DATAFILE'E:\develop\oradata\orcl\myspace.dbf'
SIZE 20M
AUTOEXTEND ON NEXT 5M
MAXSIZE 100M; /*通过数据字典dba_tablespaces查看表空间myspace的部分属性*/
SELECT tablespace_name, logging, allocation_type,
extent_management, segment_space_management
FROM dba_tablespaces
WHERE tablespace_name = 'MYSPACE'; /*通过数据字典dba_tablespaces, 查看当前数据库表空间的状态*/
SELECT tablespace_name, status FROM dba_tablespaces; /*
表空间共有4种状态 在线 离线 只读 读写
offline READ ONLY READ WRITE 只能从online 状态改过来
*/
ALTER TABLESPACE myspace online ;
ALTER TABLESPACE myspace3 offline;
ALTER TABLESPACE myspace READ ONLY;
ALTER TABLESPACE myspace READ WRITE; /*重命名表空间*/
ALTER TABLESPACE myspace2 RENAME to myspace3; /*通过数据字典dba_free_space查看myspace 表空间的空闲空间信息*/
SELECT tablespace_name , bytes, blocks
from dba_free_space
where tablespace_name = 'MYSPACE4'; /*通过数据字典dba_data_files查看myspace 表空间的数据文件信息*/
COLUMN file_name FORMAT A35;
COLUMN tablespace_name FORMAT A15;
SELECT tablespace_name, file_name, bytes
FROM dba_data_files
WHERE tablespace_name = 'MYSPACE'; /*修改myspace 表空间对应的数据文件的大小*/
ALTER DATABASE
DATAFILE 'C:\MYSPACE.DBF'
RESIZE 40M; /*(表空间和数据文件是两个概念)*/ /*在已有的表空间增加两个数据文件*/
ALTER TABLESPACE myspace
ADD DATAFILE
'E:\develop\oradata\orcl\myspace02.dbf'
SIZE 10M
AUTOEXTEND ON NEXT 5M MAXSIZE 40M,
'E:\develop\oradata\orcl\myspace03.dbf'
SIZE 10M
AUTOEXTEND ON NEXT 5M MAXSIZE 40M; /*
删除表空间的数据文件
前提是:数据文件无数据,为空。或者曾有数据,现在没了,也可以。
*/
ALTER TABLESPACE myspace
DROP DATAFILE'E:\develop\oradata\orcl\myspace03.dbf'; /*
修改表空间的自动扩展性
AUTOEXTEND ——自动扩展性 数据文件如果有自动扩展性,最好为文件设置大小设置,否则文件体积无限增大
*/
ALTER DATABASE
DATAFILE'E:\develop\oradata\orcl\myspace02.dbf'
AUTOEXTEND OFF; ALTER DATABASE
DATAFILE'E:\develop\oradata\orcl\myspace02.dbf'
AUTOEXTEND ON
NEXT 5M MAXSIZE 40M; /*
修改表空间中数据文件的状态
数据文件的状态有3种 :ONLINE、 OFFLINE、 OFFLINE DROP
在OFFLINE DROP状态下无法直接切换到ONLINE状态 ,会出现需要介质恢复这个错误
OFFLINE运行在归档状态, OFFLINE DROP运行在非归档状态下。
*/
ALTER DATABASE
DATAFILE 'E:\develop\oradata\orcl\myspace02.dbf'
OFFLINE DROP; /*介质恢复*/
RECOVER DATAFILE'E:\develop\oradata\orcl\myspace02.dbf'; /*移动表空间的数据文件*/
/*1.修应该表空间的状态为OFFLINE*/
ALTER TABLESPACE myspace OFFLINE;
/*2.将磁盘中的myspace02.dbf文件移动到新的目录下,并可以手动修改名字。(手动移动,但此时系统不认可)*/
/*3.将表空间的数据文件原名称和路径同时修改*/
ALTER TABLESPACE myspace
RENAME DATAFILE'E:\develop\oradata\orcl\myspace02.dbf'
TO
'E:\operating platform\oraclefile\myspace03.dbf';
/*4.修改表空间的状态为ONLINE*/
ALTER TABLESPACE myspace ONLINE;
/*5.查询*/
SELECT tablespace_name, file_name
FROM dba_data_files
WHERE tablespace_name = 'MYSPACE'; /*删除表空间*/
DROP TABLESPACE sunspace
INCLUDING CONTENTS AND DATAFILES;