oracle有几种类型表空间,oracle数据库表空间、表、字段类型占用大小

本文介绍了如何在Oracle数据库中查看表空间的占用情况,包括查询每个表空间的大小、物理文件名称及大小,以及表空间的使用率。此外,还提供了增加数据文件和调整已有数据文件大小的SQL语句。对于数据类型的讨论,强调了CHAR与VARCHAR2的区别,以及NVARCHAR2在存储中文字符时的应用。
摘要由CSDN通过智能技术生成

查看每个表空间占用空间的大小

Select Tablespace_Name,Sum(bytes)/1024/1024 From Dba_Segments

Group By Tablespace_Name

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

SELECT tablespace_name,file_id,file_name,round(bytes / (1024 *

1024), 0) total_spaceFROM dba_data_filesORDER BY

tablespace_name;

查看表空间使用情况

SELECT a.tablespace_name,

a.bytes total,b.bytes used,c.bytes free,(b.bytes * 100) /

a.bytes "% USED ",(c.bytes * 100) / a.bytes "% FREE "FROM

sys.sm$ts_avail a, sys.sm$ts_used b, sys.sm$ts_free cWHERE

a.tablespace_name = b.tablespace_nameAND a.tablespace_name =

c.tablespace_name;

表空间增加数据文件

ALTER TABLESPACE zj_quzhou ADD DATAFILE

'E:\APP\ADMINISTRATOR\ORADATA\ORCL2\xxx.DBF' SIZE 100M;

手工改变已存在数据文件的大小

ALTER DATABASE DATAFILE

'E:\APP\ADMINISTRATOR\ORADATA\ORCL2\xxxx.DBF' RESIZE 1000M;

oracle数据库查看表大小

方法一:

select table_name,blocks*8192/1024/1024 size_m from

user_tables

SELECT segment_name AS TABLENAME,BYTES/1024/1024 FROM

user_segments 方法二:

analyze table emp compute statistics;select num_rows *

avg_row_len from user_tables where table_name = 'EMP';

常用数据类型​

char,varchar,varchar2,nvarchar,nvarchar2,number,date

char

的长度是固定的,比如说,你定义了char(20),即使你你插入abc,不足二十个字节,数据库也会在abc后面自动加上17个空格,以

补足二十个字节;char是区分中英文的,中文在char中占两个字节,而英文占一个,所以char(20)你只能存20个字母或10个汉字;char适

用于长度比较固定的,一般不含中文的情况;CHAR的效率比VARCHAR2的效率稍高。

目 前VARCHAR是VARCHAR2的同义词。工业标准的VARCHAR类型可以存储空字符串,但是oracle自己开发了一个数据类型

VARCHAR2,这个类型不是一个标准的VARCHAR,它将在数据库中varchar列可以存储空字符串的特性改为存储NULL值。如果你想有向后兼

容的能力,Oracle建议使用VARCHAR2而不是VARCHAR。

varchar和varchar2是长度不固定的,比如说,你定义了varchar(20),当你插入abc,则在数据库中只占3个字节。中文占两个字节。

varchar和varchar2最多存储4000字节。

备注:oracle

12c推出了varchar2的可扩展特性,从4000B增加到了32727B。许多超过4000B的文本内容除了使用CLOb字段,现在可以考虑使用扩展后的varchar2。但是扩展操作不是Oracle12c默认支持的,需要手工开启才能生效。

nvarchar

和nvarchar2是长度不固定的;nvarchar不区分中英文,比如说:你定义了nvarchar(20),你可以存入20

个英文字母/汉字或中英文组合,这个20定义的是字符数而不是字节数;nvarchar2基本上等同于nvarchar,不同在于nvarchar2中存

的英文字母也占两个字节;nvarchar/nvarchar2适用于存放中文。

NUMBER最多占用22个字节,最大可以保存38个十进制位。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值