oracle创建表空间 扩展表空间文件 修改表空间自动增长

技术杂谈 478 2017-09-07 15:16

1. 创建表空间
create tablespace SIRM2 
datafile 'D:\oracle\product\10.2.0\oradata\orcl\SIRM2.dbf' size 1024M --存储地址 初始大小1G
autoextend on next 10M maxsize unlimited   --每次扩展10M,无限制扩展
EXTENT MANAGEMENT local  autoallocate
segment space management auto;
2.创建用户
 create user test  identified by test 
default tablespace SIRM2
  temporary tablespace TEMP
  profile DEFAULT;
3.授权
grant dba to test;
grant connect to test;
grant resource to test;
 
SYS用户在CMD下以DBA身份登陆: 
 
在CMD中打sqlplus /nolog 
 
然后再 
 
conn / as sysdba 
 
//创建临时表空间   
 
  
 
create temporary tablespace user_temp   
 
tempfile 'D:\oracle\oradata\Oracle9i\user_temp.dbf'  
 
size 50m   
 
autoextend on   
 
next 50m maxsize 20480m   
 
extent management local;   
 
  
 
//创建数据表空间   
 
create tablespace test_data   
logging   
 
datafile 'D:\oracle\oradata\Oracle9i\user_data.dbf'  
size 50m   
 
autoextend on   
 
next 50m maxsize 20480m   
 
extent management local;   
 
  
 
//创建用户并指定表空间   
 
create user username identified by password   
 
default tablespace user_data   
temporary tablespace user_temp;   
 
  
 
//给用户授予权限   
 
  
 
grant connect,resource to username;   
 
  
 
//以后以该用户登录,创建的任何数据库对象都属于user_temp 和user_data表空间, 
这就不用在每创建一个对象给其指定表空间了  
 
撤权:   
 
       revoke   权限...   from  用户名; 
 
删除用户命令 
 
drop user user_name cascade; 
 
建立表空间 
 
CREATE TABLESPACE data01 
DATAFILE '/oracle/oradata/db/DATA01.dbf' SIZE 500M 
UNIFORM SIZE 128k; #指定区尺寸为128k,如不指定,区尺寸默认为64k 
 
删除表空间 
 
DROP TABLESPACE data01 INCLUDING CONTENTS AND DATAFILES; 
一、建立表空间 
 
CREATE TABLESPACE data01 
DATAFILE '/oracle/oradata/db/DATA01.dbf' SIZE 500M 
UNIFORM SIZE 128k; #指定区尺寸为128k,如不指定,区尺寸默认为64k 
 
二、建立UNDO表空间 
 
CREATE UNDO TABLESPACE UNDOTBS02 
 
DATAFILE '/oracle/oradata/db/UNDOTBS02.dbf' SIZE 50M 
 
#注意:在OPEN状态下某些时刻只能用一个UNDO表空间,如果要用新建的表空间,必须切换到该表空间: 
 
ALTER SYSTEM SET undo_tablespace=UNDOTBS02; 
 
三、建立临时表空间 
 
CREATE TEMPORARY TABLESPACE temp_data 
TEMPFILE '/oracle/oradata/db/TEMP_DATA.dbf' SIZE 50M 
四、改变表空间状态 
 
1.使表空间脱机 
 
ALTER TABLESPACE game OFFLINE; 
 
如果是意外删除了数据文件,则必须带有RECOVER选项 
 
ALTER TABLESPACE game OFFLINE FOR RECOVER; 
 
2.使表空间联机 
 
ALTER TABLESPACE game ONLINE; 
3.使数据文件脱机 
 
ALTER DATABASE DATAFILE 3 OFFLINE; 
 
4.使数据文件联机 
 
ALTER DATABASE DATAFILE 3 ONLINE; 
5.使表空间只读 
 
ALTER TABLESPACE game READ ONLY; 
6.使表空间可读写 
 
ALTER TABLESPACE game READ WRITE; 
 
五、删除表空间 
 
DROP TABLESPACE data01 INCLUDING CONTENTS AND DATAFILES; 
六、扩展表空间 
 
首先查看表空间的名字和所属文件 
 
select tablespace_name, file_id, file_name, 
 
round(bytes/(1024*1024),0) total_space 
 
from dba_data_files 
order by tablespace_name; 
 
1.增加数据文件 
 
ALTER TABLESPACE game 
 
ADD DATAFILE '/oracle/oradata/db/GAME02.dbf' SIZE 1000M; 
 
2.手动增加数据文件尺寸 
 
ALTER DATABASE DATAFILE '/oracle/oradata/db/GAME.dbf'
 
RESIZE 4000M; 
 
3.设定数据文件自动扩展 
 
ALTER DATABASE DATAFILE '/oracle/oradata/db/GAME.dbf 
 
AUTOEXTEND ON NEXT 100M 
 
MAXSIZE 10000M; 
 
设定后查看表空间信息 
 
SELECT A.TABLESPACE_NAME,A.BYTES TOTAL,B.BYTES USED, C.BYTES FREE, 
 
(B.BYTES*100)/A.BYTES "% USED",(C.BYTES*100)/A.BYTES "% FREE"
 
FROM SYS.SM$TS_AVAIL A,SYS.SM$TS_USED B,SYS.SM$TS_FREE C 
 

WHERE A.TABLESPACE_NAME=B.TABLESPACE_NAME AND A.TABLESPACE_NAME=C.TABLESPACE 

出处:http://liujianshiwo.iteye.com/blog/1988094

文章评论