oracle 我想知道某表插入1条数据后,数据库增长多大容量

oracle 我想知道某表插入1条数据后,数据库增长多大容量,第1张

这个值只能估算,可以查询数据字典表 user_tables ,

相关字段有 :

1 num_rows -- 数据总行数

2 blocks -- 占用数据块个数

3 empty_blocks -- 空闲块个数

4 avg_row_len 平均每行数据字节数

可用 下面公式推算:

每行占用空间大小 = 已使用块数(blocks - empty_blocks) / 总行数 每个块大小 (32位系统默认8K)

能有多大?你是说最大么?

数据库最多带65536,也就是64K个数据文件,去掉2-3个redolog,一般为3个。也就是65533个。

现在的db_block_size可以为4K,8K,16K,32K,64K,(有人说有128K的但是我没用过这么大的,也没见过用的)

一般的smallfile(普通数据文件)中可以有4M个数据块(410241024),那么每个数据文件的最大大小就是:16G,32G,64G,128G,256G。

为了方便计算,我们将65533认定为64K,那么如果数据文件都是smallfile的话,数据库可以达到,1EB,2EB,4EB,8EB,16EB。

但是这并不是最大值,因为数据库还有一种datafile叫做bigfile这种数据文件每个有4G个数据块,也就是说数据文件大小直接变化了一个数量级别,每种数据文件大小分别是:16T,32T,64T,128T,256T。

再加上64K个文件,那就是天文数字了。

不过应该用不到这么大吧。

监听日志在$ORACLE_BASE/diag/tnslsnr/hostname/listener/trace目录下,文件名为listenerlog

上面的hostname根据你的实际主机名而定

首先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

这种问题要回答好要求知识比较全面。

1 从 *** 作系统层次上看

看CPU 内存 swqp(交换分区)等使用率

2 从磁盘上看

主要看磁盘读写。可以用dd测磁盘读写的速度 也可以在业务高峰期检测磁盘的速率。

3 从数据库本身来看。

先要看数据库各个参数的值 。 如sga的大小,process的大小,redo日志的个数与大小等这些关系到性能的参数是否设置合理。

长期观察的方式就是看各个时期的AWR报告。里面有各种性能指标,以及按执行时间或资源排列的sql ,以及各种等待时间的排名。从这里面可以掌握数据库的长期的性能变化。

即时观察的方式就是利用各种sql 查询 数据库在当前时间的各个性能指标(AWR报告里面的各种指标也都是通过sql查询出来的)

还有对数据库整体的一个检查:

如 表的大小,表是否需要分区而没有分区,索引是否创建,索引是否失效,开发人员写的sql是否正确使用到了索引,频繁使用的sql是否有绑定变量,有频繁大批量增删改的表是否存在高水位。。。

额 总之,这个话题涉及的知识非常多,尽可能多的学习一些东西,祝你好运。

oracle访问数据库字段和表名不区分大小写

如:以下两条语句

select name from test;select name from test;查询的结果是一样的。

另外说明:一般在查询数据库表中字段的内容时,是区分大小写的。

如果表中数据如下:

用下边语句可以查出结果:

select from emp where ename='smith';select from emp where ename='smith';但是如果用下边的语句则查询不出结果:

select from emp where ename='smith';

oracle数据库区分大小写问题:\x0d\oracle不是区分大小写的,比如:\x0d\ CREATE TABLE TableName(id number); 虽然写的时候是有大写和小写,但是在数据库里面是不区分的。\x0d\ select from tablename; //这样是可以的\x0d\SELECT FROM TABLENAME; //这样写也不会有问题\x0d\SELECT FROM TableName; //都没问题\x0d\ \x0d\CREATE TABLE "TableName"("id" number); // 如果创建表的时候是这样写的,那么就必须严格区分大小写\x0d\SELECT FROM "TableName"; //不仅要区分大小写而且要加双引号,以便和上面的第三种查询方式区分开。

以上就是关于oracle 我想知道某表插入1条数据后,数据库增长多大容量全部的内容,包括:oracle 我想知道某表插入1条数据后,数据库增长多大容量、Oracle 11g中数据库能有多大、如何查看oracle数据库监听日志文件目录及大小等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

原文地址: http://outofmemory.cn/sjk/9405193.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-28
下一篇 2023-04-28

发表评论

登录后才能评论

评论列表(0条)

保存