首页数据库查询数据库表空间(oracle怎么查询所有的表空间的名称)

查询数据库表空间(oracle怎么查询所有的表空间的名称)

编程之家2023-10-1990次浏览

大家好,关于查询数据库表空间很多朋友都还不太明白,今天小编就来为大家分享关于oracle怎么查询所有的表空间的名称的知识,希望对各位有所帮助!

查询数据库表空间(oracle怎么查询所有的表空间的名称)

oracle怎么查询所有的表空间的名称

oracle数据库中,查询素有表空间的名称只需要一条sql语句即可:

select tablespace_name from user_tablespaces;

结果输出如下图:

在上式的sql中,“user_tablespaces”即为表空间信息所在表,所需的表空间信息需要从该表中获取,“tablespace_name”即为表空间名称,

如果希望查询所有表空间名称和其他相关信息,可以将使用如下sql语句:

select* from user_tablespaces;

查询数据库表空间(oracle怎么查询所有的表空间的名称)

结果输出如下:

扩展资料:

针对表空间,还有其他的查询可供参考:

1、查看表空间的名称及对应大小

SELECT t.tablespace_name, round(SUM(bytes/(1024* 1024)), 0) ts_sizeFROM

dba_tablespaces t, dba_data_files dWHERE t.tablespace_name=

查询数据库表空间(oracle怎么查询所有的表空间的名称)

d.tablespace_nameGROUP BY t.tablespace_name;

输出结果如下:

2、查看表空间物理文件的名称及大小

SELECT tablespace_name,file_id,file_name,round(bytes/(1024* 1024), 0) total_space

FROM dba_data_filesORDER BY tablespace_name;

输出结果为:

3、查询当前用户所有表名及其所属表空间

selecttable_name表名,tablespace_name所使用表空间fromuser_tables;

输出结果为:

如何查询表和索引所在的表空间

一查询某个表所在表空间的简单方法

PostgreSQL提供类似"\"命令很方便得到相关信息,命令如下:

skytf=>\d test_2

Table"skytf.test_2"

Column| Type| Modifiers

--------+-----------------------+-----------

id| integer|

obj_id| integer| not null

name| character varying(64)|

Indexes:

"idx_hash_name" hash(name)

"idx_test_2" btree(id, obj_id)

Tablespace:"tbs_skytf_idx"

备注:如果这个表的表空间为当前数据库的默认表空间,那么上面则不会显示 Tablespace信息,

相反,则会显示这张有的表空间,例如上面的表 test_2的表空间为 tbs_skytf_idx,而

表空间"tbs_skytf_idx"不是数据库 skytf的默认表空间,那么如何查询数据库的默认

表空间呢,可以通过以下命令查询。

--1.1查询数据库的默认表空间

skytf=> select datname,dattablespace from pg_database where datname='skytf';

datname| dattablespace

---------+---------------

skytf| 14203070

(1 row)

skytf=> select oid,spcname from pg_tablespace where oid=14203070;

oid| spcname

----------+-----------

14203070| tbs_skytf

(1 row)

备注:通过以上查出数据库 skytf的默认表空间为 tbs_skytf。

二批量查询数据库表和索引的表空间

--2.1查询表和索引所在的表空间

select relname, relkind, relpages,pg_size_pretty(pg_relation_size(a.oid)), tb.spcname

from pg_class a, pg_tablespace tb

where a.reltablespace= tb.oid

and a.relkind in('r','i')

order by a.relpages desc;

备注:上面只取了部分结果,这个查询能够查询表和索引所处的表空间,但是有一点需要注意,这个查询

仅显示表空间不是数据库默认表空间的数据库对像,而我们通常需要查出位于数据库默认表空间的

对像,显然上面的查询不是我们想要的,接下来看另一个查询。

--2.2查询位于默认数据库表空间的对像

select relname, relkind, relpages,pg_size_pretty(pg_relation_size(a.oid)),reltablespace,relowner

from pg_class a

where a.relkind in('r','i')

and reltablespace='0'

order by a.relpages desc;

备注:这个查询加入限制条件 reltablespace='0',即可查找出位于当前数据库默认表空间的

数据库表和索引。通常这才是我们想要的结果,接下来可以把部分表转移到其它表空间上去,转移

的方法可以用"ALTER TABLE move tablespace"或者重建索引移表空间等方法,这里不详细介绍。

--2.3查询在某个表空间上的对像

select relname, relkind, relpages,pg_size_pretty(pg_relation_size(a.oid)),reltablespace,relowner

from pg_class a, pg_tablespace tb

where a.relkind in('r','i')

and a.reltablespace=tb.oid

and tb.spcname='tablespace_name'

order by a.relpages desc;

--2.4手册上对于 pgclass视图的 reltablespace字段解释

The tablespace in which this relation is stored. If zero, the database is default tablespace is

implied.(Not meaningful if the relation has no on-disk file.)

如何使用SQL语句查询数据库及表的空间容量

sybase公司是世界著名的数据库厂家,其关系数据库产品sybase

sql

server在中国大中型企事业单位中拥有大量的用户。针对获取数据库相关信息也提供了对应的api,以便管理进行维护。

一.sp_spaceused

可看到数据库空间包括日志(对应数据库)

打开sql

advantage

对话框——输入sp_spaceused(上边数据库选择要查的数据库)或直接

use

your_db_name

go

sp_spaceused

go

运行!出现如下信息

database

name:数据库名称

datebase

size:数据库空间总大小

reserved:已分配空间

data数据:已分配空间中数据占用空间大小

index_size索引:已分配空间中index_size索引占用空间大小

unused:为已分配空间中未使用空间大小

计算关系:

reserved(已分配空间)=data+index_size+unused

剩余空间=

datebase

size(总空间)—已分配空间(resrved)

二.sp_helpdb

db_name

可看到数据库占用的数据库设备device的空间信息(对应数据库设备和数据库)

打开sql

advantage

对话框——输入sp_s

helpdb

db

local(local为要看的数据库名字如不输入则显示所有数据库)

运行!显示如下信息:

(一).数据库方面

1.

name:数据库名字

2.

db_size:数据库空间大小

3.

owner:数据库所有者

4.

created:数据库创建时间

5.

status:状态

(二).数据库设备方面

1.

device_fragments:数据库设备名称

2.

size:数据库占用数据库设备的空间大小

单位mb

3.

usage:用法

用途

4.

created:数据库占用的数据库设备的空间的创建时间

5.

free

kbytes

:数据库占用的数据库设备的剩余空间

单位kb

6.

log

only

free

kbytes:数据库日志设备中日志剩余空间

单位kb

注意:由于数据库创建后不一定全部占用数据库设备的所有空间,可以在以后通过增加的方法占用设备空间,因此每增加一次就会有一条数据库设备信息

计算关系:

剩余空间=所有free

kbytes(剩余kb)相加+log

only

free

kbytes

数据库占用数据库设备总空间(size)=size1+size2+……..(所有相加)=数据库总空间(db_size)=

reserved(已分配空间)+剩余空间

free

kbytes(剩余kb)相加+log

only

free

kbytes=

datebase

size(总空间)—已分配空间(resrved)

关于查询数据库表空间的内容到此结束,希望对大家有所帮助。

天气新域名 中国气象局启用新域名是什么电脑主机风扇不转开不了机?电脑风扇不转开不了机是什么原因