oracle怎么删除用户添加的系统表空间

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了oracle怎么删除用户添加的系统表空间相关的知识,希望对你有一定的参考价值。

参考技术A --创建表空间 create tablespace [表空间名] datafile 'D:\Oracle11g\oradata\[表空间名]' --路径 size 50M; --备用 create temporary tablespace [表空间名]_temp tempfile 'D:\Oracle11g\oradata\[表空间名]_temp.dbf' size 50M; --创建用户 create user [用户名] identified by [用户密码] --密码 default tablespace [表空间名] temporary tablespace [表空间名]_temp; --权限 grant resource,connect,dba to gctidm; -- 删除user drop user [用户名] cascade 说明: 删除了user,只是删除了该user下的schema objects,是不会删除相应的tablespace的。 -- 删除tablespace DROP TABLESPACE [表空间名] INCLUDING CONTENTS AND DATAFILES; DROP TABLESPACE [表空间名]_temp INCLUDING CONTENTS AND DATAFILES;

oracle system01.dbf表空间满了,导致用户没法登入怎么办

这是由于你创建用户时没有指定缺省表空间,系统自动把系统表空间作为用户的默认表空间,用户所创建的所有对象、数据统统写入到系统表空间中了,因而引起系统表空间太满用户无法登入。
解决方法:
1、创建新用户 -- Create User ... ... default tablespace Users Temporary tablespace temp;
2、利用EXP按用户方式导出写满系统表空间的用户,再用IMP导入到新建的用户中;
3、彻底删除原来的用户 -- Drop User 用户名 cascade;追问

可是sys超级管理员都没法登进去了

追答

重新启动数据库,再登入sys用户试试。登入后先加大系统文件system01.dbf。

追问

是本地磁盘满了

参考技术A (1)首先,system表空间的数据文件缺省是autoextend,不会满,请检查是否autoextend。
(2)其次,一旦满了,请加数据文件,一般都没有问题,oracle一般一个表空间能有1022个数据文件,如果是8k大小的数据块,每个数据文件的大小都在32g,够用了。
(3)如果,用户无法登陆,这个不太可能是system数据文件满了的原因,sqlplus -prelim 强制登陆,用hanganalyze检查一下本回答被提问者采纳
参考技术B 看起来很糟糕。如果能用 sqlplus "/as sysdba" 登陆的话,可以将文件resize即可
alter database datafile 1 resize 2G;
如果无法登陆,可以尝试
sqlplus -prelim / as sysdba
当然需要你的DB是10G。如果悲催的是9I或者更低的版本,可以在本地安装一个10G的客户端
然后通过
sqlplus -prelim sys/password@目标数据库名称 as sysdba
的办法登陆。
参考技术C 一般都是自动增长,如果真出现你的情况,以sys as dba进入,alter tablespace add file增加文件来扩展空间

以上是关于oracle怎么删除用户添加的系统表空间的主要内容,如果未能解决你的问题,请参考以下文章

Oracle11g里的Users表空间可以删除吗

如何彻底删除oracle创建的用户和表空间

oracle system01.dbf表空间满了,导致用户没法登入怎么办

oracle怎么删除表空间下所有的表

plsql怎么创建用户而且分配表空间?如果不制定表空间会怎样?以及授权的整个创建用户完整流程

Oracle数据库表空间删除报错误删除不了怎么办?