数据库oracle11G,如何通过plsql查询表空间大小,如何通过PLSQL把一个表空间的大小设置成自动扩展 您所在的位置:网站首页 数据库表大小怎么设置 数据库oracle11G,如何通过plsql查询表空间大小,如何通过PLSQL把一个表空间的大小设置成自动扩展

数据库oracle11G,如何通过plsql查询表空间大小,如何通过PLSQL把一个表空间的大小设置成自动扩展

2023-05-11 09:23| 来源: 网络整理| 查看: 265

sql语句

1查询表空间大小

select tablespace_name , sum(bytes/1024/1024) sizeM from dba_data_files group by tablespace_name ;

2设置数据文件为自动拓展

alter database datafile n autoextend on ;

不知道你说的两个东西有什么关联性。

下面是设置全部数据文件为自动拓展的plsql匿名块:

begin

  for rec in (select file_id , autoextensible from dba_data_files where autoextensible='NO') loop

    execute immediate 'alter database datafile '||recfile_id||' autoextend on ' ;

  end loop ;

end ;

查看的方法和详细的 *** 作步骤如下:

1、首先,因为oracle在Linux系统下运行,所以必须连接到Linux系统,如下图所示,然后进入下一步。

2、其次,完成上述步骤后,连接成功,进入Oracle控制台。

 输入命令“sqlplus / as sysdba”,如下图所示,然后进入下一步。

3、接着,完成上述步骤后,在sql命令行上,输入以下代码,如下图所示,然后进入下一步。

4、最后,完成上述步骤后,就可以查看相应的结果了,如下图所示。这样,问题就解决了。

对于数据文件的属性,你可以查:

select from dba_data_files;

1、如果你建立表空间是设置的datafile非自动增长的,且maxsize是500m的,则不能继续存数据了。除非你建立的datafile是设置成autoextend的。

2、至于你的文件是否属于增长的类型,你可以看上面的查询结果。是否自动增长由你建立的datafile是否设置成autoextend有关。当然了,你也可以在后期修改datafile的属性,如resize重新增加文件的大小等,或设置成autoextend等。也可以在对应表空间上增加新datafile文件。

1、64位linux 和64位oracle,默认oracle表空间数据文件用的BLOCKSIZE是8k,表空间数据文件最大是32G。\x0d\SQL>show parameter k_cache_size\x0d\查看数据库默认的块大小\x0d\SQL> show parameter db_block_size\x0d\db_block_size integer 8192\x0d\2、为了让一个表空间数据文件存64G,你需要告诉oracle用BLOCKSIZE 是16k\x0d\CREATE TABLESPACE TEST DATAFILE ‘/data1/test_ts1dbf’ SIZE 512M AUTOEXTEND ON NEXT 256M MAXSIZE UNLIMITED BLOCKSIZE 16k;\x0d\提前需要设置db_16k_cache_size\x0d\alter system set db_16k_cache_size=16M scope=both;\x0d\否则会报错ORA-29339:\x0d\tablespace block size 16384 does not match configured block sizes\x0d\3、为了让一个表空间数据文件存128G,你需要告诉oracle用BLOCKSIZE 是32k\x0d\4、32位linux 和32位oracle,默认oracle表空间datafile用的BLOCKSIZE也是8k,表空间数据文件最大也是32G。试了一下64G文件,也没有问题。

Oracle数据库索引的大小是指索引所占用的空间,即索引的存储大小。索引的大小可以通过查看表空间的大小来确定,也可以通过查看数据库中每个索引的大小来确定。此外,Oracle数据库索引的大小还可以通过查看表空间的使用率来确定,以及查看每个索引的使用率来确定。

SELECT segment_name, SUM(bytes) / 1024 / 1024 Mbytes

  FROM dba_segments

 WHERE segment_type = 'TABLE PARTITION'

   AND Tablespace_name = 'SYSTEM'

 GROUP BY segment_name;

首先ORACLE不是把列名默认转换为大写状态,而是ORACLE中存储的就是大写状态,也就是说你不特别加引号来标明的话,ORACLE会默认为大写。所以要让ORACLE查询出来是小写,不需要任何设置,只需要创建表的时候就写成是小写,

SQL>

create

table

aa("id"

number,

"Name"

varchar2(10))

;

表已创建。

SQL>

select

from

aa

;

未选定行

SQL>

insert

into

aa

values(1,'WANG')

;

已创建

1

行。

SQL>

select

from

aa

;

id

Name

----------

----------

1

WANG

可以通过以下语句查看所有的表空间大小:

sql:SELECT CTABLESPACE_NAME,ABYTES/1048576 MEGS_TOTAL,(ABYTES-BBYTES)/1048576 MEGS_USED,

BBYTES/1048576 MEGS_FREE,(ABYTES-BBYTES)/ABYTES 100 PCT_USED, BBYTES/ABYTES 100 PCT_FREE

FROM (SELECT TABLESPACE_NAME,SUM(ABYTES) BYTES,MIN(ABYTES) MINBYTES,MAX(ABYTES) MAXBYTES FROM SYSDBA_DATA_FILES A

GROUP BY TABLESPACE_NAME) A,(SELECT ATABLESPACE_NAME,NVL(SUM(BBYTES),0) BYTES

FROM SYSDBA_DATA_FILES A,SYSDBA_FREE_SPACE B WHERE ATABLESPACE_NAME = BTABLESPACE_NAME (+) AND AFILE_ID = BFILE_ID (+)

GROUP BY ATABLESPACE_NAME) B,SYSDBA_TABLESPACES C

WHERE ATABLESPACE_NAME = BTABLESPACE_NAME(+) AND ATABLESPACE_NAME = CTABLESPACE_NAME ORDER BY 6;

备注:如果是查询特定的可以在外面在嵌套一层select from(sql)t1 where t1TABLESPACE_NAME='表空间名称'的形式即可。

以上就是关于数据库oracle11G,如何通过plsql查询表空间大小,如何通过PLSQL把一个表空间的大小设置成自动扩展全部的内容,包括:数据库oracle11G,如何通过plsql查询表空间大小,如何通过PLSQL把一个表空间的大小设置成自动扩展、怎么察看Oracle 数据库表空间的使用情况、oracle 11G数据库文件大小等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

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



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

      专题文章
        CopyRight 2018-2019 实验室设备网 版权所有