本人之前在oracle11g里面进行了一个测试,现在测试完了,想把这个测试的库删掉,然后就在sqlplus
里面drop user ×× cascade ;但是发现存在我电脑盘符下的数据文件还是存在的,所以很好奇,是不是这里面的删除是指的逻辑上的删除这个用户下的表,硬盘上的数据文件虽然仍然存在,但是里面是空的。不知道我这样理解对不对,另外我删除了用户后还需要删除表空间么?还是说删除了用户后自动就释放表空间了,不用管了?还有如果想删除磁盘上的存储的物理数据文件正确的操作应该是怎样呢?带着这些疑问发了这个帖子,希望得到高手指点。
里面drop user ×× cascade ;但是发现存在我电脑盘符下的数据文件还是存在的,所以很好奇,是不是这里面的删除是指的逻辑上的删除这个用户下的表,硬盘上的数据文件虽然仍然存在,但是里面是空的。不知道我这样理解对不对,另外我删除了用户后还需要删除表空间么?还是说删除了用户后自动就释放表空间了,不用管了?还有如果想删除磁盘上的存储的物理数据文件正确的操作应该是怎样呢?带着这些疑问发了这个帖子,希望得到高手指点。
如果楼主全部用刚才删除的用户进行的测试的话,执行完上述语句已经把用来测试的数据删除掉了,没有必要把整个库删除掉。
最后说一点,删除了用户和数据后是不会自动释放表空间的,表空间容量是建立数据库的时候初始化的,比方说XXX tablespace 容量为1G,你删除数据是不影响这个容量的,它在硬盘上仍然占用1G空间。
不知楼主能不能读懂
drop user user_name;-- 再删除表空间:
drop tablespace tablespace_name including contents and datafiles;
如果你不想让表中的数据占用表空间的空间,你用truncate的删除就可以了,这个会释放空间的。
对头
drop user user_name
再删除表空间
drop tablespace tablespace_name including contents and datafiles;
那如果我又2个用户,USER1与USER2,使用的表空间都是USERS,那我要删除USER1用户呢?
drop user user_name;
drop tablespace tablespace_name including contents and datafiles;