1.遇到的问题:
使用Navicate右键删除Oracle数据库的某个用户时,报ORA-01922:
ORA-01922:必须指定CASCADE以删除"DGYH221028'
使用Navicate右键删除表空间时,报ORA-01549:
ORA-01549:表空间非空,请使用INCLUDING CONTENTS选项 Ora-01549
2.解决步骤
1.注意:
2.使用以下SQL进行删除(重点)
--查看表空间的名称及大小
SELECT T.TABLESPACE_NAME, ROUND(SUM(BYTES/(1024 * 1024)), 0) TS_SIZE
FROM DBA_TABLESPACES T, DBA_DATA_FILES D
WHERE T.TABLESPACE_NAME = D.TABLESPACE_NAME
GROUP BY T.TABLESPACE_NAME
--查询该表空间下的用户
select owner, segment_name from dba_segments where tablespace_name = 'XXXXXX'
--删除指定用户
drop user XXXXXX cascade;
--删除表空间
drop tablespace XXXXXX INCLUDING CONTENTS and datafiles
3.此时就可以去使用Navicate右键删除用户和表空间了
1.删除用户:
2.删除表空间
4.删除电脑硬盘上对应表空间文件