--1.创建表空间(必须以DBA用户登陆)
--1.1创建表空间
--1.1.1临时表空间
create temporary tablespace test_temp --表空间名称为test_temp
tempfile 'E:/oracle/product/10.2.0/oradata/testserver/test_temp01.dbf' --文件路径和名称 必须为绝对地址,不能使用相对地址.
size 32m --初始化文件大小
autoextend on --是否自动扩展
next 32m maxsize 2048m --扩展空间大小及最大空间
extent management local;--存储区管理方法 有两种dictionary(字典管理),local(本地管理)
--1.1.2数据表空间
create tablespace test_data
logging --nologging--创建表时一般不需要记录日志,因为无数据,记录日志反而会影响创建表的速度
datafile 'E:/oracle/product/10.2.0/oradata/testserver/test_data01.dbf'
size 32m
autoextend on
next 32m maxsize 2048m
extent management local;
--1.2释放表空间
drop tablespace tablespaceName;
commit;
2.创建与删除用户
--创建用户test,密码为aaa,默认表空间为tableSpaceName
create user test identified by aaa
default tablespace tableSpaceName;
--删除用户test(cascade删除和用户有关的对象)
drop user test cascade;
3.赋权
--将某表tableName的DBA权限赋予用户userName
grant dba on tableName to userName;
--4.查询所有的表空间
select f.tablespace_name,a.total,u.used,f.free,round((u.used/a.total)*100) "% used",
round((f.free/a.total)*100) "% Free"
from
(select tablespace_name, sum(bytes/(1024*1024)) total
from dba_data_files group by tablespace_name) a,
(select tablespace_name, round(sum(bytes/(1024*1024))) used
from dba_extents group by tablespace_name) u,
(select tablespace_name, round(sum(bytes/(1024*1024))) free
from dba_free_space group by tablespace_name) f
WHERE a.tablespace_name = f.tablespace_name
and a.tablespace_name = u.tablespace_name;