修改Oracle用户默认表空间
作者:iamlaosong业务需要创建几个临时表,结果创建时提示表空间EMSDATA不存在。原来这是我创建用户时指定的默认表空间,后来由于项目变化,这个表空间删掉了,所以有此提示。create user emssxjk identified by emssxjk default tablespace emsdata temporary tablespace temp;简单的解决办法是再创建一个同名
作者:iamlaosong
业务需要创建几个临时表,结果创建时提示表空间EMSDATA不存在。原来这是我创建用户时指定的默认表空间,后来由于项目变化,这个表空间删掉了,所以有此提示。下面是当时创建用户时使用的命令:
create user emssxjk identified by emssxjk default tablespace emsdata temporary tablespace temp;
创建用户时要为用户创建数据表空间和临时表空间,虽然在Oracle数据库中这个不是强制的,但是强烈建议这么做。
碰到这个问题,简单的解决办法是再创建一个同名的表空间,建议用这个办法。
另一个更快的办法是修改用户的默认表空间为USERS:
alter user emssxjk default tablespace users;
用这个办法前,要先查查USERS表空间是否还在以及这个表空间的大小是否要扩充。
创建用户时,如果不指定默认表空间,那么就会根据数据库系统默认参数来指定默认表空间,一般是users这个表空间,可以通过查看视图database_properties看到相关的信息。即:
select a.property_name, a.property_value from database_properties a where a.property_name like '%DEFAULT%';
用下面的命令可以修改数据库系统默认的表空间,就是修改参数DEFAULT_PERMANENT_TABLESPACE对应的值:
alter database default tablespace emsdata;
要改默认临时表空间,可以修改参数DEFAULT_TEMP_TABLESPACE对应的值。修改的语句如下:
alter database default temporary tablespace tempa;
更多推荐
所有评论(0)