如何查看sqlserver 表空间是不是满
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何查看sqlserver 表空间是不是满相关的知识,希望对你有一定的参考价值。
参考技术A 查看数据库中各表的占用空间情况:create table tablesize (name varchar(50),rows int,reserved varchar(50),
data varchar(50),index_size varchar(50),unused varchar(50))
insert into tablesize (name,rows,reserved,
data,index_size,unused) exec sp_msforeachTable @Command1="sp_spaceused '?'"
update tablesize set data=replace(data,'KB','')
select *,convert(int,data) as a from tablesize order by A desc
drop table tablesize本回答被提问者和网友采纳
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增加文件来扩展空间
以上是关于如何查看sqlserver 表空间是不是满的主要内容,如果未能解决你的问题,请参考以下文章