且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

Oracle表空间名称是区分大小写

更新时间:2022-05-25 08:18:01

今天在通过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:此片文章忘记截图了……