今天在通过imp导入数据时,日志提示TS_W5_D表空间不存在。感觉很奇怪,导入用户的表空间是ts_w5_d,并且这个表空间也存在啊。
为什么还是提报表空间不存在呢? 并且,当时试图通过>drop tablespace ts_w5_d 时,提示ts_w5_d 表空间不存在,明明有啊,怎么说不存在?
排查了半天,最终得知,oracle表空间名称分大小写的:TS_W5_D、ts_w5_d 是两个表不同的表空间。
Oracle数据库内部是对大小写不敏感的,默认全是大写。如果需要小写需要使用双引号强制(强烈反对这样使用)。
删除小写表空间写法如下:
drop tablespace "ts_w5_d" including contents and datafiles cascade constraints;
Oracle中默认用户名、表空间都是大写的。
如果是删除用户名的话,可以使用如下的命令:
drop user "ts_w5" cascade;
PS:此片文章忘记截图了……