数据库oracle11G,如何通过plsql查询表空间大小,如何通过PLSQL把一个表空间的大小设置成自动扩展 | 您所在的位置:网站首页 › 数据库表大小怎么设置 › 数据库oracle11G,如何通过plsql查询表空间大小,如何通过PLSQL把一个表空间的大小设置成自动扩展 |
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匿名块: beginfor 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 实验室设备网 版权所有 |