Oracle Database基本知识计量单位.ppt
,Oracle Database基本知识-计量单位,赵元杰 中程在线(北京)科技有限公司2009.8,2023/2/26,2/55,内容提要,存储容量单位速度单位与Oracle 系统数据字典Oracle 系统数据文件大小Oracle 系统在Windows环境SGA大小Oracle 系统在UNIX环境SGA大小实用程序与文件大小,2023/2/26,3/55,存储容量单位,计算机的存储单位:1KB=1024 B1MB=1024 KB1GB=1Gigabyte Byte=1024 MB 1TB=1TeraByte=1024 GB=1024*1024MB1PB=1PeraByte=1024 TB=1024*1024*1024 MB1EB=1ExaByte=1024 PB=1024*1024*1024*1024 MB1ZB=1Zettabyte=1024EB1YB=1Yottabytes=1024ZB,存储容量单位-英语命名法,KB Kilo KiloByte(103)MBmebi megabyte(106),million,1MB=1000KB 兆 GBgibi gigabyte(109),billion,1GB=1000MB 1000兆 TBtebi terabyte(1012),trillion,1TB=1000GB 万亿兆兆 PB pebi petabyte(1015),1PB=1000TB 1000万亿兆 EB exbi exabyte(1018),quintillion,1EB=1000PB 万万亿兆 1ZB Zettabyte=1000EB 1YB Yottabytes=1000ZB100TY=100 Triilion Yottabytes,2023/2/26,5/55,存储容量单位-常用前缀及其意义,2023/2/26,6/55,存储容量单位-存储计量单位,2023/2/26,7/55,存储转换单位,Unit Abbr Bytesbitb1/8byteB1kilobytekB1,024megabyteMB1,048,576gigabyteGB1,073,741,824terabyteTB1,099,511,627,776,2023/2/26,8/55,存储容量单位-新名词,1 Megabyte=一百万字节一本短篇小说1 Gigabyte=十亿字节贝多芬的第五交响乐1 Terabyte=一兆字节一所大型医院里的所有X光片1 Petabyte=1,000 terabytes所有美国学术研究图书馆加起来的一半1 Exabyte=1,000 petabytes5 exabytes=所有人类讲过的词汇1 Zettabyte=1,000 exabytes地球上所有沙滩上沙粒的数量?,Zettabyte:1,000,000,000,000,000,000,000 字节现在出现“Zettabyte File System”产品-Sun Microsystems公司,2023/2/26,9/55,内容提要,存储容量单位速度单位与Oracle 系统数据字典Oracle 系统数据文件大小Oracle 系统在Windows环境SGA大小Oracle 系统在UNIX环境SGA大小实用程序与文件大小,2023/2/26,10/55,时间速度单位,2023/2/26,11/55,时间速度单位,Oracle数据字典记录的时间单位:centiseconds-百分之一秒=1厘秒 milliseconds-千分之一秒=1毫秒microseconds-百万分之一秒=1微秒时间单位换算:1 second=百分之一秒(centiseconds-厘秒)=1厘秒=千分之一秒(milliseconds-毫秒)=1毫秒(毫秒=1秒的千分子一)=百万分之一秒(microseconds-微秒)=1微秒1 centisecond=10毫秒=10 milliseconds=10000微秒=10000 microseconds,2023/2/26,12/55,速度单位转换,SpeedUnit AbbrFraction of a sec=second sec1millisecond ms1/1,000microsecond ms1/1,000,000nanosecond ns1/1,000,000,000picosecond ps1/1,000,000,000,000,2023/2/26,13/55,时间速度单位-Oracle数据字典,Oracle数据字典记录的时间单位:CLIENT_RESULT_CACHE_LAG 参数以毫秒(milliseconds)为单位ALL_SQLSET_PLANS 数据字典中的列以微秒(microseconds)为单位UNDO_RETENTION specifies(in seconds)DB_FLASHBACK_RETENTION_TARGET specifies the upper limit(in minutes)DBA_FEATURE_USAGE_STATISTICS中的LAST_SAMPLE_PERIOD列以小时为单位,2023/2/26,14/55,时间速度单位-Oracle动态视图,V$SESSION_EVENT的时间单位:SID 会话IDEVENT 等待事件名称TIME_WAITED 等待事件会话总的时间-百分之一秒AVERAGE_WAIT 等待事件会话平均的时间-百分之一秒TIME_WAITED_MICRO 等待事件中会话总时间-百万分之一秒,2023/2/26,15/55,时间速度单位-Oracle动态视图,V$SYSTEM_EVENT的时间单位:EventTotal_WaitsTIME_WAITED 百分之一秒AVERAGE_WAIT 百分之一秒TIME_WAITED_MICRO 百万分之一秒,2023/2/26,16/55,内容提要,存储容量单位速度单位与Oracle 系统数据字典Oracle 系统数据文件大小Oracle 系统在Windows环境SGA大小Oracle 系统在UNIX环境SGA大小实用程序与文件大小,2023/2/26,17/55,数据文件大小,Oracle 数据文件大小问题与操作系统有关(32 BIT或64 BIT);与Oracle 版本有关;Windows 32位系统的文件最大2GB,64位的unix系统系统文件最大128GB;Oracle 数据文件大小=块的数量*块的大小:Oracle一般只支持4194303 blocks;与数据库的块大小(db_block_size)有关;即使数据库的块很大,数据文件大小也要受OS限制。,SQL show parameter db_block_size NAME TYPE VALUE-db_block_size integer 8192,2023/2/26,18/55,数据文件大小,查看你的Oracle 系统允许数据文件大小:可用下面语句查询可得到(OS不一定允许这么大),SQL SELECT to_char(4194303*value,999,999,999,999)|bytes MAX_FILE_SIZE 2 FROM v$parameter WHERE name=db_block_size;MAX_FILE_SIZE-34,359,730,176 bytesSQL SELECT to_char(4194303*value,999,999,999,999)MAX_BYTES,2 to_char(trunc(4194303*value/1024),999,999,999)|Kb MAX_KB,3 to_char(trunc(4194303*value/1024/1024),999,999)|Mb MAX_MB 4 FROM v$parameter WHERE name=db_block_size;MAX_BYTES MAX_KB MAX_MB-34,359,730,176 33,554,424 Kb 32,767 Mb,2023/2/26,19/55,9i数据文件大小,数据库大小与数据文件大小有关;9i 版本允许每个数据库有 65534 个文件;每个数据文件允许有4194303个块(因公式 222-1=4,194,303 blocks/每个文件)最大块为32KB(不是所有平台都允许)9i 数据库最大允许:65534*4194303*32 kB8055 TB8 Petabytes!38000*4194303*16 kB2.5 Petabytes(8i)实际大小可能还要小,2023/2/26,20/55,10g/11g数据文件大小,Oracle 10g支持的表空间大小2k32K Bytes8 000 000 Terabytes数据库中最多有65535 个文件块大小决定数据文件的大小db_block_size=2K Bytes文件可达8GBdb_block_size=4K Bytes文件可达16GBdb_block_size=8K Bytes文件可达32GBdb_block_size=16K Bytes 文件可达64GBdb_block_size=32K Bytes 文件可达128GB,2023/2/26,21/55,10g/11g数据文件大小,Oracle 10g Bigfile创建带Bigfile tablespace,允许只带一个数据文件,数据文件大小达4GB Blocks数据文件个数可达 64K个如果块为8K,则单个数据文件可达 32TB如果块为32K,则单个数据文件可达 128TB创建 bigfile tablespace,CREATE BIGFILE TABLESPACE bigtbs DATAFILE/u02/oracle/data/bigtbs01.dbf SIZE 50G EXTENT MANAGEMENT LOCAL SEGMENT SPACE MANAGEMENT AUTO;,2023/2/26,22/55,10g/11g数据文件大小,Oracle 10g/11g Smallfile 10g 允许创建 smallfile tablespace 也可设置SET DEFAULT SMALLFILE TABLESPACE或SET DEFAULT BIGFILE TABLESPACE可包含1022 files,每个数据文件块数量为4M blocks默认是smallfile,CREATE DATABASE rbdb1SET DEFAULT BIGFILE TABLSPACE.SMALLFILE DEFAULT TEMPORARY TABLESPACE tempts1TEMPFILE/u01/oracle/oradata/mynewdb/temp01.dbfSIZE 20M REUSE,2023/2/26,23/55,10g/11g数据文件大小,Oracle 10g bigfile与Smallfile 10g 默认是smallfile System与sysaux 不允许使用bigfile tablespace一般的小型机服务器,建议采用默认的smallfile tablespace即可只有大型环境(存储子系统与大型机)可采用bigfile tablespace,2023/2/26,24/55,Oracle 11g 支持64Bit,11g 支持64 bit:表空间大小为Exabytes,2023/2/26,25/55,数据文件大小限制,Oracle 10g/11g 数据文件大小限制 10g/11g 数据文件大小限制 超过限制,则提示错误:,SQL alter tablespace users add datafile f:user02.dbf size 8192M;alter tablespace users add datafile f:user02.dbf size 8192M*ERROR 位于第 1 行:ORA-01144:文件大小(4194304 块)超出 4194303 块的最大数SQL alter tablespace users add datafile f:user02.dbf size 8191M reuse;表空间已更改。,2023/2/26,26/55,数据文件大小限制,Oracle 10g/11g 数据文件太大/太小限制 太小、太大都提示错误:,SQL alter database2 datafile/u01/app/oracle/oradata/rmanrep/users01.dbf resize 15m;Database altered.SQL alter database2 datafile/u01/app/oracle/oradata/rmanrep/users01.dbf resize 10m;Database altered.SQL alter database2 datafile/u01/app/oracle/oradata/rmanrep/users01.dbf resize 1m;alter database*ERROR at line 1:ORA-03297:file contains used data beyond requested RESIZE valueSQL alter database2 datafile/u01/app/oracle/oradata/rmanrep/users01.dbf resize 100t;alter database*ERROR at line 1:ORA-00740:datafile size of(13421772800)blocks exceeds maximum file sizeSQL alter database2 datafile/u01/app/oracle/oradata/rmanrep/users01.dbf resize 50g;alter database*ERROR at line 1:ORA-01144:File size(6553600 blocks)exceeds maximum of 4194303 blocks,2023/2/26,27/55,内容提要,存储容量单位速度单位与Oracle 系统数据字典Oracle 系统数据文件大小Oracle 系统在Windows环境SGA大小Oracle 系统在UNIX环境SGA大小实用程序与文件大小,Oracle支持主要平台,Cluster,Single User,SMP,Desktop Server,Uniprocessor,WindowsLinuxSolaris SPARCHP-UXHP Tru64OS/390AIX,Blade Servers,2023/2/26,29/55,11g 在 Windows文件大小,11g在Windows下支持文件大小 11g支持文件异步I/O文件支持裸设备及ntfs 11g在Windows 64 bit支持 文件大小没有2GB 或 4GB 限制文件最大可达64GB数据库大小最大为4PB,2023/2/26,30/55,Windows 32-bit Platform Support,Planned Latest DB patchset available at the time,10g/11g在Windows 32bit下支持 支持的Windows 32bit有:,2023/2/26,31/55,Windows 64-bit Platform Support,TBD To be determined.Will be announced later.,10g/11g在Windows 64bit下支持 支持的Windows 64bit有:,2023/2/26,32/55,32Bit Vs 64Bit,10g 支持64 bit:计算机位数:4 Bit=(16 Bytes)8 Bit=(65,536 bytes)16-Bit=(4,294,967,296 bytes)32 Bit=(4,294,967,296 bytes)64 Bit=(18,446,744,073,709,551,616 bytes)64 Bit可访问的内存地址:64bit allows Directly Addressing 16 Exabytes of Memory,2023/2/26,33/55,Architecture:Thread Model,2023/2/26,34/55,10g 在Windows内存大小,Oracle 内存主要包括SGA+PGA:32 bit 每个实例可分配3GB 大小内存32 bit 的VLM可超过3GB大小64 bit 每个实例可分配8TB大小内存,2023/2/26,35/55,Oracle 10g 在Windows,10TB database in production,2023/2/26,36/55,32 bit Vs 64bit Memory Limits,Product names listed are for general reference only and do not reflect actual product names.64-bitWindows Server Standard Edition will be available for x64 only.,2023/2/26,37/55,Oracle 10g 在Windows-文件大小,NTFS/RAWNTFS支持 单个文件最大 64 GB.数据库大小 4 petabytes.现在数据库大小实现 10 TB.,2023/2/26,38/55,内容提要,存储容量单位速度单位与Oracle 系统数据字典Oracle 系统数据文件大小Oracle 系统在Windows环境SGA大小Oracle 系统在Linux环境SGA大小 Oracle 系统在UNIX环境SGA大小实用程序与文件大小,2023/2/26,39/55,Oracle 10g 在UNIX,在SUN Solaris系统SGA设置多少受shminfo_shmmax核心参数控制,2023/2/26,40/55,Oracle 10g 在UNIX,在SUN Solaris系统SGA大小通过设置shminfo_shmmax参数32 bit OS 时间只能设置3.5-3.75GB内,2023/2/26,41/55,内容提要,存储容量单位时间速度单位与Oracle 系统时间单位Oracle 系统数据文件大小Oracle 系统在Windows环境SGA大小Oracle 系统在UNIX环境SGA大小实用程序与文件大小,2023/2/26,42/55,主要UNIX 文件大小-AIX,IBM AIX系统允许文件大小默认AIX允许的文件大小为2GB修改文件大小不受2GB限制,登录root,修改:/etc/security/limits 文件中,default:fsize=-1core=2097151cpu=-1data=262144,2023/2/26,43/55,主要UNIX 文件大小-HP-UX,HP-UX 11iV3系统文件大小,几乎不受限制:HP-UX 11Iv3 支持最多 128 个处理器核 2TB 内存 2TB 的文件系统 16TB 的文件系统大小 1 亿 ZB 的存储,2023/2/26,44/55,主要UNIX 文件大小-Linux,Linux系统允许文件大小修改文件大小不受限制,则root登录,然后修改:/etc/security/limits.conf 文件,加:,#设置oracle对文件的要求:#编辑文件:vi/etc/security/limits.conf 加入以下语句:oracle soft nproc 2047oracle hard nproc 16384oracle soft nofile 1024oracle hard nofile 65536,2023/2/26,45/55,主要UNIX 文件大小,实用程序处理的文件大小大小与2GBEXP 实用程序导出超过2GB,会提示错误:建议:如果文件大小到2GB大小限制,建议使用FILESIZE 参数给出每个.DMP文件的大小。,.exporting table BIGEXPORTEXP-00015:error on row 10660 of table BIGEXPORT,column MYCOL,datatype 96EXP-00002:error in writing to export fileEXP-00002:error in writing to export fileEXP-00000:Export terminated unsuccessfully,2023/2/26,46/55,主要UNIX 文件大小,实用程序处理的文件大小大小与2GBSQL*Loader 导入超过2GB,会提示错误:,SQL*Loader-500:Unable to open file(bigfile.dat)SVR4 Error:79:Value too large for defined data type,2023/2/26,47/55,主要UNIX 文件大小,许多操作与2GBCREATE TABLESPACE 时提示错误:修改用户限额,也可提示错误:,CREATE TABLESPACE DATAFILE.SIZE xxxxxxORA-02237:invalid file size,ALTER USER QUOTA 2500M ON“ORA-2187:invalid quota specification.”,2023/2/26,48/55,主要UNIX 文件大小限制,检查文件大小限制问题:1.检查是否存在数据文件过大:,SELECT f.ts#,f.file#,f.status$,f.blocks,v.nameFROM file$f,v$datafile vWHERE f.blocks 4194303AND f.file#=v.file#;,2023/2/26,49/55,主要UNIX 文件大小限制,检查文件大小限制问题:2.检查数据文件扩展存在问题:,SELECT x.file#,x.maxextend,v.nameFROM filext$x,v$datafile vWHERE x.maxextend 4194303and v.file#=x.file#;,2023/2/26,50/55,主要UNIX 文件大小限制,检查文件大小限制问题:3.检查数据文件扩展为0长度问题:,SELECT f.ts#,f.file#,f.status$,f.blocks,v.nameFROM file$f,v$datafile vWHERE f.blocks=0AND f.file#=v.file#;,