分享交流
合作共赢!

oracle表空间tablespace的查看、创建、重命名、删除、收缩等方法总结

一、查看表空间

1.查找用户和对应的表空间;

select username,default_tablespace from dba_users;

2.查看表空间数据文件具体位置

select name from v$datafile;

3.查询表空间中数据文件具体位置和文件名,表空间名等

Select * FROM DBA_DATA_FILES;

4.查看某表所属表空间:

select table_name,tablespace_name from user_tables where table_name='AUD$';

二、创建表空间

1.创建临时表空间

create temporary tablespace test_temp --test_temp表空间名称
tempfile 'E:\oracle\product\10.2.0\oradata\testserver\test_temp01.dbf'--oracle文件路径
size 32m 
autoextend on 
next 32m maxsize unlimited
extent management local;

2.创建数据表空间

create tablespace test_data --test_data表空间名称
logging 
datafile 'E:\oracle\product\10.2.0\oradata\testserver\test_data01.dbf'--oracle文件路径
size 32m 
autoextend on 
next 32m maxsize unlimited
extent management local;

3.创建用户并指定表空间

create user username identified by password --username用户名称
default tablespace test_data --默认用户表空间
temporary tablespace test_temp; --默认临时表空间

4.给用户授予权限

grant connect,resource to username; 
grant dba to username
或
create user yunwei01 identified by yunwei01;
GRANT CONNECT TO yunwei01;
GRANT SELECT ON ZLDCZS.view_jd_user_org to yunwei01;

三、重命名表空间和数据文件

1.修改表空间名称

alter tablespace  tablespace_name1 rename to tablespace_name2;

2.修改数据文件名称:

1)先将联机状态的需要修改的表空间设置为脱机状态:

ALTER TABLESPACE tablespace_name OFFLINE;

2)然后将数据物理文件修改名称

3)再通过sqlplus或者pl/sql修改数据文件名称:

alter tablespace tablespace_name rename DATAFILE 'E:\APP\HUIJUAN\PRODUCT\LOCALDATEBASE\datafile_name1' TO 'E:\APP\HUIJUAN\PRODUCT\LOCALDATEBASE\datafile_name2';

四、删除表空间

1.删除表空间。

1.1.删除空的表空间,不包含物理文件。

DROP TABLESPACE tablespace_name;

1.2.删除空表空间,包含物理文件。

DROP TABLESPACE tablespace_name INCLUDING CONTENTS;

1.3.删除非空表空间,不包含物理文件。

DROP TABLESPACE tablespace_name INCLUDING DATAFILES;

1.4.删除非空表空间,包含物理文件。

DROP TABLESPACE tablespace_name INCLUDING CONTENTS AND DATAFILES;
或
drop tablespace 表空间名称 including contents and datafiles cascade constraint;

2.删除表空间、用户

此内容查看价格0.1立即购买

五、收缩表空间

select 'truncate table '||TABLE_NAME||';' from dba_tables where owner='ZLDC0214' AND( TABLE_NAME LIKE '%BAK%' or table_name like '%LOG');
select 'alter table '||TABLE_NAME||' deallocate unused keep 0;' from dba_tables where owner='ZLDC0214' AND( TABLE_NAME LIKE '%BAK%' or table_name like '%LOG');

 

温馨提示:

Oracle数据库创建用户和数据库参考琼杰笔记

创建oracle数据库和用户     Oracle数据库常用基本命令收集!   Oracle用户创建、删除和授权等方法总结

赞(1) 打赏
未经允许不得转载:琼杰笔记 » oracle表空间tablespace的查看、创建、重命名、删除、收缩等方法总结

评论 抢沙发

评论前必须登录!

 

分享交流,合作共赢!

联系我们加入QQ群

觉得文章有用就打赏一下文章作者

非常感谢你的打赏,我们将继续给力更多优质内容,让我们一起创建更加美好的网络世界!

支付宝扫一扫打赏

微信扫一扫打赏

登录

找回密码

注册