dba_free_space-190

问题描述:如何查看oracle表空间已使用大小 大家好,本文将围绕一个有趣的事情展开说明,一个有趣的事情是一个很多人都想弄明白的事情,想搞清楚一个有趣的事情需要先了解以下几个事情。

如何查询表空间?用SQL命令

dba_free_space-190的相关图片

1.

查看所有表空间大小

SQL>

select

tablespace_name,sum(bytes)/1024/1024。

from

dba_data_files

group

by

tablespace_name;。

2.

已经使用的表空间大小

SQL>

select

tablespace_name,sum(bytes)/1024/1024。

from

dba_free_space

group

by

tablespace_name;。

3.

所以使用空间可以这样计算

select

a.tablespace_name,total,free,total-free。

used

from

select

tablespace_name,sum(bytes)/1024/1024。

total

from

dba_data_files

group

by

tablespace_name)。

a,

select

tablespace_name,sum(bytes)/1024/1024。

free

from

dba_free_space

group

by

tablespace_name)。

where

a.tablespace_name=b.tablespace_name;。

4.

下面这条语句查看所有segment的大小。

Select

Segment_Name,Sum(bytes)/1024/1024。

From

User_Extents

Group

By

Segment_Name

5.

还有在命令行情况下如何将结果放到一个文件里。

SQL>

spool

out.txt

SQL>

select

from

v$database;

SQL>

spool

off

oracle 数据库怎么查看temp表空间使用情况的相关图片

oracle 数据库怎么查看temp表空间使用情况

sql系统存储过程:sp_spaceused '表名',可以查看表使用空间的情况。

如图 data,即已使用的空间。

无法连接Oracle数据库使用Docker容器后问题,怎么解决的相关图片

无法连接Oracle数据库使用Docker容器后问题,怎么解决

oracle

数据库里查看表空间使用状况;

oracle表空间的事情状况要经常查看,一般空闲比例过低的时候就应该考虑增大表看空间了。查看方法如下sql:。

方法一:

select

dbf.tablespace_name,。

dbf.totalspace

"总量(m)",

dbf.totalblocks。

as

总块数,

dfs.freespace

"剩余总量(m)",

dfs.freeblocks

"剩余块数",

(dfs.freespace

dbf.totalspace)。

100

"空闲比例"

from

(select

t.tablespace_name,。

sum(t.bytes)

1024

1024

totalspace,

sum(t.blocks)

totalblocks

from

dba_data_files

group

by

t.tablespace_name)。

dbf,

(select

tt.tablespace_name,。

sum(tt.bytes)

1024

1024

freespace,

sum(tt.blocks)

freeblocks

from

dba_free_space

tt

group

by

tt.tablespace_name)。

dfs

where

trim(dbf.tablespace_name)。

trim(dfs.tablespace_name)。

方法二:

select

total.name

"tablespace

name",

free_space,

(total_space-free_space)。

used_space,

total_space

from

(select

tablespace_name,。

sum(bytes/1024/1024)。

free_space

from

sys.dba_free_space。

group

by

tablespace_name。

free,

(select

b.name,

sum(bytes/1024/1024)。

total_space

from

sys.v_$datafile。

a,

sys.v_$tablespace。

where

a.ts#

b.ts#

group

by

b.name

total

where

free.tablespace_name。

total.name

当发现有的表空间不够的错误时,处理如下:

1:找出该表空间对应的数据文件及路径。

select

from

dba_data_files

where

t.tablespace_name。

'ard'

2:增大数据文件

alter

database

datafile

'全路径的数据文件名称'

resize

***m

3:增加数据文件

alter

tablespace

表空间名称

add

datafile

'全路径的数据文件名称'

***m

注解:表空间尽量让free百分比保持在10%以上,如果低于10%就增加datafile或者resizedatafile,一般数据文件不要超过2g。

烦请达人介绍oracle中所有DBA_ , ALL_ , USER_开头的视图。的相关图片

烦请达人介绍oracle中所有DBA_ , ALL_ , USER_开头的视图。

oracle在导入数据时报1659的错误的原因主要是数据库表空间剩余空间不足引起的。

分析原因

1、表空间剩余空间不足。

使用下面语句,查看表空间剩余空间。

select Upper(f.tablespace_name) "表空间名", 。

d.tot_grootte_mb "表空间大小(M)", 。

   d.tot_grootte_mb - f.total_bytes "已使用空间(M)", 。

to_char(round((d.tot_grootte_mb - f.total_bytes) /。

d.tot_grootte_mb * 100, 2),'990.99') || '%' "使用比", 。

  f.total_bytes "空闲空间(M)", 。

f.max_bytes "最大块(M)" 。

from (select tablespace_name, 。

round(sum(bytes) / (1024 * 1024), 2) total_bytes, 。

round(max(bytes) / (1024 * 1024), 2) max_bytes 。

from sys.dba_free_space 。

group by tablespace_name) f, 。

(select dd.tablespace_name, 。

round(sum(dd.bytes) / (1024 * 1024), 2) tot_grootte_mb 。

from sys.dba_data_files dd 。

group by dd.tablespace_name) d 。

where d.tablespace_name = f.tablespace_name 。

order by f.tablespace_name;。

表空间剩余空间不足时,可以根据原数据库表空间大小增加表空间。

alter tablespace 表空间名 add datafile '数据文件名' size 数据文件大小;。

2、剩余表空间还很多。

使用下面语句查看原数据库表表定义,找到initial_extent值大的表,将这些表的。

创建语句导出后修改initial_extent值,在目标数据库中创建后再导入数据,导入时。

增加参数ignore=y。

select table_name, initial_extent 。

from user_tables 。

where initial_extent is not null。

order by initial_extent desc。

如果找不到原数据库,可以使用

imp userid/userid@service_name file=dmp文件名 indexfile=index文件名 rows=n full=Y。

命令将dmp文件中创建表的语句导入到indexfile文件中,查看indexfile如下:

REM CREATE TABLE "TEST"."DM_KJKM_COPY" ("KJZDMB_DM" VARCHAR2(100) 。

REM ENABLE, "KMID" NUMBER(20, 0), "KMBM" VARCHAR2(100), "KMMC" 。

REM VARCHAR2(500), "KMQC" VARCHAR2(1000), "KMLB_DM" VARCHAR2(100), 。

REM ...

使用文本编辑工具,查找INITIAL将过大的初始值改为65536后,将REM去除后,在数据库中创建后再使用exp导入数据,导入时增加参数ignore=y。

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

DBA视图示例如下:

dba_data_files 。

◆关于数据库文件的信息

dba_db_links

◆数据库中的所有数据库链路

dba_extents

◆数据库中包括所有分区

dba_free_space 。

◆所有表空间中自由分区

dba_indexes

◆数据库中所有索引的描述

dba_ind_columns 。

◆在所有表及聚族上压缩索引的列 。

dba_objects

◆数据库中所有的对象

dba_rollback_segs 。

◆回滚段的描述

dba_segments

◆为所有数据库段分配的存储空间 。

dba_sequences

◆数据库中所有顺序书的描述

dba_synonyms

◆数据库中所有同义词

dba_tables

◆数据库中所有表的描述

dba_tablespaces 。

◆数据库中所有表空间的描述

dba_tab_columns 。

◆所有表描述、视图及聚族的列 。

dba_tab_grants 。

◆数据库中对象所授的权限

dba_tab_privs

◆数据库中对象所授的权限

dba_ts_quotas

◆所有用户表空间限额

dba_users

◆关于数据库的所有用户信息

dba_views

◆数据库中所有视图

视图:USER_VIEWS

通过USER_VIEWS 数据字典视图,可以访问视图的基本查询,USER_VIEWS 数据字典视图包含10 列,其中主要的3 列如下:

View_Name 视图名

Text_Length 视图的基本查询的长度,以字符为单位。

Text 视图使用的查询

其他列主要与对象视图和版本有关,稍后将在本节介绍。

注意:

本节只适用于传统视图。对于物化视图,详细内容见45.9 节。

Text 列的数据类型为LONG。当通过SQL*Plus 查询USER_VIEWS 视图时,这可能会产生问题,因为SQL*Plus 会截断LONG 数据。但是,截断的位置可以通过set long 命令改变。USER_VIEWS 视图提供恰当设置LONG 截断点的机制,下面的示例将介绍这个机制。

Text_Length 列显示视图的查询的长度。因此,SQL*Plus 的LONG 截断点必须为一个等于或大于视图的Text_Length 值的值。例如,下面的程序清单显示了View_Name 列为AGING、Text_Length 列为355 的视图。

select View_Name, Text_Length from USER_VIEWS where View_Name = 'AGING'; View_Name Text_Length ---------------- ------------- AGING 355 由于该视图的文本长度为355 个字符,因此可以用set long 命令将LONG 截断点至少增加到 355(默认值为80),以查看视图的查询的全部文本。

set long 355 然后,可以查询USER_VIEWS 视图,以获得视图的Text 列,使用的查询如下面的程序清单所示:

select Text from USER_VIEWS where View_Name = 'AGING'; 如果没有使用set long 命令,则输出结果将截断为80 个字符,并且没有任何消息说明为什么会截断。在查询其他视图前,应当重新检查视图的Text_Length 值。

注意:

可以从USER_TAB_COLUMNS 视图中查询视图的列定义,也可以用该视图查询表的列定义。

如果在视图中使用了列别名,并且列别名是视图的查询的一部分,那么视图信息的数据字典查询将得以简化。由于该视图查询的整个文本显示在USER_VIEWS 视图中,因此也将显示列别名。

可以使用下面的格式创建视图:

create view NEWSPAPER_VIEW (SomeFeature, SomeSection) as select Feature, Section from NEWSPAPER; 在create view 命令的开头部分列出的列名从查询中删除了列别名,从而防止通过 USER_VIEWS 视图查看它们。查看视图的列名的唯一方法是查询USER_TAB_COLUMNS 视图。如果列名在查询语句中, 则对于该查询和列名来说, 只需要查询一个数据字典视图(USER_VIEWS)即可。

例如,已知上例中创建的NEWSPAPER_VIEW 视图,如果查询USER_VIEWS 视图,就会看到:

select Text from USER_VIEWS where View_Name ='NEWSPAPER_VIEW'; TEXT --------------------------------------- select Feature, Section from NEWSPAPER 此查询没有显示用户赋予的新列名,因为没有将这些列名作为该视图查询的一部分。为使这些列名显示在USER_VIEWS 视图中,可以在该视图的查询中添加它们,以作为列别名:

create view NEWSPAPER_VIEW as select Feature SomeFeature, Section SomeSection from NEWSPAPER; 现在,如果查询USER_VIEWS 视图,则列别名将作为视图的查询文本的一部分显示出来:

select Text from USER_VIEWS where View_Name ='NEWSPAPER_VIEW'; TEXT ----------------------------------------------- select Feature SomeFeature, Section SomeSection from NEWSPAPER 为了支持对象视图,USER_VIEWS 视图包含下面的列:

Type_Text 该类型视图的type 子句。

Type_Text_Length 该类型视图的type 子句的长度。

OID_Text 该类型视图的WITH OID 子句。

OID_Text_Length 该类型视图的WITH OID 子句的长度。

View_Type_Owner 该类型视图的视图类型的所有者。

View_Type 视图类型

关于对象视图和类型的详细信息,请参阅第38 章和第41 章。

ALL_VIEWS 视图列出了用户所拥有的全部视图以及授权用户(直接授权或者授权给PUBLIC)访问的视图。由于 ALL_VIEWS 视图包含多个用户的项,因此,除了本节前面列出的列外,它还包含一个Owner 列。DBA_VIEWS 视图列出了数据库中的全部视图,DBA_VIEWS 视图与ALL_VIEWS 视图有相同的列定义。

原文地址:http://www.qianchusai.com/dba_free_space-190.html

我的那一只小小狗作文,我的那一只小小狗作文500字

我的那一只小小狗作文,我的那一只小小狗作文500字

pcr的dntp浓度,pcr反应体系中dntp的作用

pcr的dntp浓度,pcr反应体系中dntp的作用

homeassistant安装商店

homeassistant安装商店

openwrt网口速度,openwrt网口变成100兆

openwrt网口速度,openwrt网口变成100兆

普通话我喜爱的文学提纲,我喜爱的文学普通话三分钟提纲

普通话我喜爱的文学提纲,我喜爱的文学普通话三分钟提纲

lw/logo图片大全,lw字母logo设计图片

lw/logo图片大全,lw字母logo设计图片

初一日常生活日记,初一日常生活日记英语

初一日常生活日记,初一日常生活日记英语

二年级好词好句日记50个字,二年级好词好句日记50个字以上

二年级好词好句日记50个字,二年级好词好句日记50个字以上

uploads/flink/index

uploads/flink/index

运动会上发生的一件事作文,运动会上发生的一件事作文英语

运动会上发生的一件事作文,运动会上发生的一件事作文英语