在PL/SQL中,通过SQL窗口建立表空间,建立新用户时,出现了一个错误:表空间不存在。。。。
而实际上,在用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;
我在建立表空间及新用户用的语句是:
然后就是在执行到第二步的时候,报错:表空间不存在
找了一圈,也没有发现错误,于是重新建立了新的表空间
CREATE SMALLFILE TABLESPACE "FD20170731" DATAFILE 'E:\Oracle\OracleData\zxn\FD20170731.dbf' SIZE 200M AUTOEXTEND
ON NEXT 200M MAXSIZE UNLIMITED LOGGING EXTENT MANAGEMENT LOCAL SEGMENT SPACE MANAGEMENT AUTO DEFAULT NOCOMPRESS;
在建立新用户及给用户赋权限时所用的SQL语句:
create user FD20170731 identified by FD20170731 default tablespace FD20170731 quota 10m on FD20170731 temporary tablespace temp ;
alter user FD20170731 quota 0 on system;
grant dba to FD20170731;
用这种方法就可以成功建立新用户,所以最好将建立新用户与给新用户赋权限的SQL语句一起编译,
另外如果出现这样的错误,可以查一查是否是表空间创建错误错误