【oracle】表空间

oracle表空间创建:

/*表空间创建*/
/*
添加多个数据文件
DATAFILE 'D:\APP\HUANG\ORADATA\HXW168\myd1.dbf,D:\xxxx.dbf'   
*/
CREATE SMALLFILE TABLESPACE "MYBASE" 
DATAFILE 'D:\APP\HUANG\ORADATA\HXW168\myd1.dbf' 
SIZE 100M AUTOEXTEND ON NEXT 10M MAXSIZE 200M 
LOGGING 
EXTENT MANAGEMENT LOCAL 
SEGMENT SPACE MANAGEMENT AUTO 
/*临时表空间*/
CREATE TEMPORARY TABLESPACE NSDC_TEMP
TEMPFILE 'MYBASE_TEMP.dbf' SIZE 500M 
AUTOEXTEND ON 
NEXT 500M MAXSIZE UNLIMITED  --UNLIMITED 表示没有限制
EXTENT MANAGEMENT LOCAL;

可以使用Database Control创建,显示sql代码,就可以看到语法以上。

注:windows下需要启动OracleDBConsolehxw168 服务


表空间根据文件格式可分为大文件表空间、小文件表空间:

1、bigfile tablespace

只有一个数据文件


大文件表空间详细说明:http://blog.chinaunix.net/uid-20779720-id-3078273.html


2、smallfile tablespace

可以有多个数据文件组成


表空间管理:


/*小文件表空间,添加数据文件*/
ALTER TABLESPACE "MYBASE" ADD DATAFILE 'D:\APP\HUANG\ORADATA\HXW168\myd2.dbf' 
SIZE 100M AUTOEXTEND ON NEXT 10M MAXSIZE 200M

/*管理表空间*/
/*使表空间脱机*/
ALTER tablespace [tablespace_name] offline;
/*使表空间联机*/
ALTER tablespace [tablespace_name] onlime;

/*使表空间只读,这时无法往表空间插入数据*/
ALTER tablespace [tablespace_name] read only;
/*表空间可读写*/
ALTER tablespace [tablespace_name] read write;




/*查看表空间有多少个表*/
select * from all_tables where tablespace_name = '表空间名';


/*查看用户的默认表空间*/
select username,default_tablespace from dba_users where username='HUANGXUEWEN';

/*查看表,所在的表空间*/
/*
user_tables 用户的表或者可以查询的表 
dba_tables 所有表,需要dba权限
*/
 select tablespace_name from user_tables where table_name='HXW';


/*
删除表空间
including contents 表示删除表空间时,删除该空间的所有数据库对象,datafiles
表示将数据库文件也删除
*/
drop tablespace '表空间' including contents and datafiles;


/*扩展表空间*/
/*insert into myta select * from myta; 不停添加数据*/

/*1、增加数据文件*/
ALTER tablespace [tablespace_name] add DATAFILE 'c:\abc\a.dbf' size 100M

/*2、增加数据文件大小*/

ALTER database DATAFILE 'c:\abc\a.dbf' resize 200M;

/*3、设置文件自动增长*/

ALTER database DATAFILE 'c:\abc\a.dbf' AUTOEXTEND on NEXT 10M MAXSIZE 300M;



/*移动数据文件,从c盘移到d盘*/
/*1、确定数据文件所在的表空间*/
select tablespace_name from dba_data_files where file_name='c:\abc\a.dbf';
/*2、使表空间脱机*/
ALTER tablespace [tablespace_name] offline;
/*3、移动数据文件到d盘*/
move c:\abc\a.dbf  d:\abc\a.dbf
/*4、执行alter tablespace对数据库文件进行逻辑修改*/
ALTER tablespace [tablespace_name] rename DATAFILE 'c:\abc\a.dbf' to 'd:\abc\a.dbf'
/*5、使用空间联机*/
ALTER tablespace [tablespace_name] online;


你可能感兴趣的:(tablespace)