怎么查看数据库用户使用的是那个表空间(oracle如何查看用户的表空间)

怎么查看数据库用户使用的是那个表空间(oracle如何查看用户的表空间),第1张

SQL:

方法一:

select

dbftablespace_name,dbftotalspace

"总量(M)",dbftotalblocks

as

总块数,dfsfreespace

"剩余总量(M)",dfsfreeblocks

"剩余块数",(dfsfreespace

/

dbftotalspace)

100

"空闲比例"

from

(select

ttablespace_name,sum(tbytes)

/

1024

/

1024

totalspace,sum(tblocks)

totalblocks

from

dba_data_files

t

group

by

ttablespace_name)

dbf,(select

tttablespace_name,sum(ttbytes)

/

1024

/

1024

freespace,sum(ttblocks)

freeblocks

from

dba_free_space

tt

group

by

tttablespace_name)

dfs

where

trim(dbftablespace_name)

=

trim(dfstablespace_name)

方法二:

SELECT

Totalname

"Tablespace

Name",Free_space,(total_space-Free_space)

Used_space,total_space

FROM

(select

tablespace_name,sum(bytes/1024/1024)

Free_Space

from

sysdba_free_space

group

by

tablespace_name

)

Free,(select

bname,sum(bytes/1024/1024)

TOTAL_SPACE

from

sysv_$datafile

a,sysv_$tablespace

B

where

ats#

=

bts#

group

by

bname

)

Total

WHERE

FreeTablespace_name

=

Totalname

--读取库中的所有表名

select name from sysobjects where xtype='u'

--读取指定表的所有列名

select name from syscolumns where id=(select max(id) from sysobjects where xtype='u' and name='表名')

获取数据库表名和字段

sqlserver中各个系统表的作用

sysaltfiles 主数据库 保存数据库的文件

syscharsets 主数据库 字符集与排序顺序

sysconfigures 主数据库 配置选项

syscurconfigs 主数据库 当前配置选项

sysdatabases 主数据库 服务器中的数据库

syslanguages 主数据库 语言

syslogins 主数据库 登陆帐号信息

sysoledbusers 主数据库 链接服务器登陆信息

sysprocesses 主数据库 进程

sysremotelogins主数据库 远程登录帐号

syscolumns 每个数据库 列

sysconstrains 每个数据库 限制

sysfilegroups 每个数据库 文件组

sysfiles 每个数据库 文件

sysforeignkeys 每个数据库 外部关键字

sysindexs 每个数据库 索引

sysmenbers 每个数据库 角色成员

sysobjects 每个数据库 所有数据库对象

syspermissions 每个数据库 权限

systypes 每个数据库 用户定义数据类型

select 列名=name from syscolumns where id=object_id(N'要查的表名')

--得到数据库中所有表的空间/记录情况

exec sp_MSForEachTable

@precommand=N'

create table ##(

id int identity,

表名 sysname,

字段数 int,

记录数 int,

保留空间 Nvarchar(10),

使用空间 varchar(10),

索引使用空间 varchar(10),

未用空间 varchar(10))',

@command1=N'insert ##(表名,记录数,保留空间,使用空间,索引使用空间,未用空间) exec sp_spaceused ''''

update ## set 字段数=(select count() from syscolumns where id=object_id(''''))

where id=scope_identity()', @postcommand=N'select from ## order by id drop table ##'

--查询一个索引大小select pg_size_pretty(pg_relation_size('indexname))--查看一张表及此它上的索引总大小select pg_size_pretty(pg_total_relation_size('tablename')); --查看所有 schema里面索引大小,大到小的顺序排列:select indexrelname,pg_size_pretty( pg_relation_size(relid))from pg_stat_user_indexes where schemaname = 'schemaname' order by pg_relation_size(relid) desc;--查看所有 schema里面表的大小,从大到小顺序排列:select relname, pg_size_pretty(pg_relation_size(relid))from pg_stat_user_tables where schemaname = 'schemaname' order by pg_relation_size(relid) desc; --查看数据库大小:select pg_databasedatname,pg_size_pretty(pg_database_size(pg_databasedatname)) AS sizefrom pg_database;--查看表空间大小

用putty连接linux服务器,切换到

su

-

oracle

sqlplus

/nolog

连接到数据库;

conn

/

as

sysdba

show

parameter

session

alter

system

set

sessions

=

values(比如400)

scope

=

spfile;//注意此处的分号;

show

parameter

process

alter

system

set

processes

=

values(比如450)scope

=

spfile;//注意此处的分号;

show

parameter

license

//查看最大的process;

重新启动服务器;

oracle的连接数(sessions)与其参数文件中的进程数(process)有关,它们的关系如下:

sessions=(11process+5)

但是我们增加process数时,往往数据库不能启动了。这因为我们还漏调了一个unix系统参数:它是/etc/system/中semmns,这是unix系统的信号量参数。每个process会占用一个信号量。semmns调整后,

需要重新启动unix *** 作系统,参数才能生效。不过它的大小会受制于硬件的内存或oracle

sga。范围可从200——2000不等。

semmns的计算公式为:semmns>processes+instance_processes+system

processes=数据库参数processes的值

instance_processes=5(smon,pmon,dbwr,lgwr,arch)

system=系统所占用信号量。系统所占用信号量可用下列命令查出:#ipcs

-sb

建个临时表

CREATE TABLE #TEMP(

TABLENAME VARCHAR(100),

COUNTNUMBER INT

)

EXEC sp_MSforeachtable 'INSERT INTO #TEMP SELECT '''', COUNT() FROM '

SELECT FROM #TEMP

ORDER BY COUNTNUMBER DESC

第一条的TABLENAME就是最多的那个表了

查询id最大的数据有这几种方法(以mysql数据库为例):

1),利用mysql自带的max函数取得最大值

2),先按照id降序排列,然后利用limit函数取最大值:

扩展资料:

数据库是存储电子文件的处所,可以通过数据库对文件中的数据运行新增、截取、更新、删除等 *** 作。常用的关系型数据库有mysql,oracle,SQL Server,dBASE,MariaDB等,非关系型数据库最常见的就是MongoDB。

所谓关系型数据库就是指由多张能互相联接的二维行列表格组成的数据库。

以上就是关于怎么查看数据库用户使用的是那个表空间(oracle如何查看用户的表空间)全部的内容,包括:怎么查看数据库用户使用的是那个表空间(oracle如何查看用户的表空间)、如何用sql语句查看某个数据库中的表的大小、有没有语句能查询SQL数据库中每一个表的大小等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/sjk/10186433.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-06
下一篇 2023-05-06

发表评论

登录后才能评论

评论列表(0条)

保存