最近为了完成数据在不同库之间的导入导出,临时创建了不少表空间和用户,为了保持数据库的干净整洁,根据需要删除无用的用户、表空间及物理文件。
下面是相关的语法操作。
1.查看表空间
select * from dba_tablespaces
2.查找物理文件
select * from dba_data_files
3.查看表空间里存放了哪些用户的数据
select distinct owner from dba_segments where tablespace_name='MY_001'
4.查看用户
select * from dba_users
5.查看用户默认的表空间
select default_tablespace from dba_users where username='LG'
6.查找用户下面所有的表
select * from dba_tables where owner='LGL'
7.删除用户,及级联关系也删除
drop user user_name cascade
8.删除表空间,对应的表空间文件也删除
drop tablespace tablespace_name including contents and datafiles cascade constraint
9.创建表空间
create tablespace ****
datafile 'd:\app\oracle12c\oradata\orcl\my_0003.dbf'
size 1024m
autoextend on next 200m
maxsize unlimited
10.修改表空间----增加物理文件
alter tablespace *** add datafile
'd:\app\oracle12c\oradata\orcl\my_0005.dbf' size 128m
autoextend on next 5m
maxsize unlimited
11.创建用户及设置默认表空间
---创建用户
CREATE USER GZZL_LS IDENTIFIED BY password
DEFAULT TABLESPACE "GZZL"
TEMPORARY TABLESPACE "TEMP"
QUOTA UNLIMITED ON "GZZL"; ---设置用户无限制使用这个表空间配额
12.查看某个表的占用物理空间大小
select segment_name AS TABLENAME,bytes b,bytes / 1024 kb,bytes /1024 /1024 mb,bytes /1024 /1024 /1024 GB from user_segments
where segment_name = upper('D_DZ')