-sysdba是模式名,sli_测试是表名,找到的单位是k
select表已用空间(sysdba,sli测试)*(第1024页)来自dual
-也可以使用下面的语句,类似于oracle的用法。
selectsegment_name,sum(bytes/1024)fromuser_segmentswheresegment_namesli_test
oracle数据库的体系结构包括四个方面:数据库的物理结构、逻辑结构、内存结构和进程。
1.物理结构
物理数据库结构由组成数据库的操作系统文件决定。oracle数据库文件包括:
数据文件(数据文件)
数据文件用于存储数据库中的所有数据,例如数据库表中的数据和索引数据。他们通常在*。dbf格式,比如:usercims.dbf。
日志文件(重做日志文件)
日志文件用于记录数据库所做的所有更改(如添加、删除和修改),以便在系统出现故障时用于恢复数据库。该名称通常在log*中。dbf格式,如log1ims.dbf、log2ims.dbf
控制文件(控制文件)
每个oracle数据库都有相应的控制文件,这些文件是小型的二进制文件,用于记录数据库的物理结构,如数据库名称、数据库的数据文件和日志文件的名称和位置。用于打开和访问数据库。名字通常是ctrl*ctl。格式,如ctrl1cims.ctl。
配置文件
配置文件记录了oracle数据库的一些重要参数,如数据块的大小、内存结构的配置等。该名称通常在init*中。ora格式,比如initcims.ora。
2逻辑结构
oracle数据库的逻辑结构描述了数据库如何以逻辑存储数据库中的数据。逻辑结构包括表空间、段、范围、数据块和模式对象。数据库的逻辑结构将决定数据库如何使用系统的物理空间。模式对象及其关系是描述了关系数据库之间的设计。
从逻辑上讲,数据库由一个或多个表空间组成,表空间是数据库中物理分组的数据仓库。每个表空间都由段组成,其中一个由一组盘区组成,另一个由一组连续的数据库块(da数据库块),而数据库块对应于硬盘上的一个或多个物理块。表空间保存一个或多个数据库的物理文件(即数据文件)。数据库中的数据逻辑上存储在表空间中。
tablespaces(tablespaces)
oracle数据库分为一个或多个逻辑结构,称为表空间,包括两种类型的表空间,系统表空间和非系统表空间。其中,系统表空间是在数据库安装时自动建立的,它包含了数据库的所有数据字典和存储。过程、包、函数和触发器以及系统回滚段的定义。此外,它还可以包含用户数据。。
一个表空间包含许多段,每个段由一些不连续的区域组成,每个区域由一组连续的数据块组成,这些数据块是数据库操作的最小单位。
每个表空间对应一个或多个数据文件,每个数据文件只能属于一个表空间。
databaseblock(databaseblock)
数据库块也称为逻辑块或oracle块,对应于磁盘上的一个或多个物理块,其大小由初始化参数db-block-size(在文件init.ora中)决定,通常大小为2k。pckfree和pctused参数用于优化数据块空间的使用。
area(range)
区域是数据库存储空间分配的逻辑单位,由一组连续的数据块组成。
segment(subsection)
段是一个或多个不连续区域的集合,包括表空间定逻辑结构的所有数据,并且该段不能跨表空间存储。oracle数据库包括数据段、索引段、临时段、回退段等。
schemaobject(schemaobject)
oracle数据库的模式对象包括表、视图、序列、同意、索引、触发器、存储过程等。它们将在下面的章节中介绍。
服务器系统进程和内存结构
当oracle数据库在计算机服务器上启动时,我们称之为在服务器上启动了一个oracle实例。oracle实例是一种访问和控制数据库的软件机制,包括系统全局区(sga)和oracle过程分为两部分。sga是系统为实例分配的一组共享内存缓冲区,用于存储数据库实例和控制信息,以便管理和操作数据库中的数据。
进程是操作系统中一个极其重要的概念。进程执行一组操作并完成特定的任务。对于oracle数据库管理系统,进程由用户进程、服务器进程和后台进程组成。
当用户运行一个应用程序时,系统为它创建一个用户进程。服务器进程处理连接的用户进程的请求,并且它与用户进程通信以服务于连接的用户进程的oracle请求。
为了提高系统性能,更好地实现多用户功能,oracle还在系统后台启动一些后台进程,进行数据库数据操作。
系统进程的后台进程主要包括:
smon系统监视进程:(系统监视器)负责排序,完成自动实例恢复和排序表空间。
pmon进程监控进程:(processmonitor)实现用户进程故障恢复,清空内存区域,释放进程所需的资源。
dbwr数据库写进程:数据库缓冲区的治理进程。
在其治理下,数据库缓冲区中总是有一定数量的空闲缓冲块,以保证用户进程总能找到空闲缓冲块供其使用。
lgwr日志文件写进程:它是日志缓冲区的治理进程,负责将日志缓冲区中的日志项写到磁盘上的日志文件中。每个实例只有一个lgwr进程。
arch归档进程:(归档进程)将填充的在线日志文件复制到指定的存储设备。只有当日志文件组开关出现时,才进行arch操作。拱不是必要的,但只有当只有在请求手动存档时,才能使用或发布动态存档。
recorecoveryprocess:是有分布式选项时使用的流程,主要用于解决引用分布式事务时的故障。它只能出现在允许分布式事务的系统中。
lckn阻塞进程:用于并行服务器系统,主要是在实例之间进行阻塞。
记忆结构(sga)
sga是oracle为实例分配的一组共享内存缓冲区,包含实例的数据和控制信息。sga在实例启动时自动分配,在实例关闭时收回。数据库的所有数据操作都必须通过sga进行。
根据存储信息的不同,sga中的内存可以分为以下几个区域:缓冲区缓存:在数据库中存储数据库块的副本。它由一组缓冲块组成,由链接到实例的所有用户进程共享。缓冲块的数量由初始化。参数db_block_buffers确定,缓冲块的大小由初始化参数db_block_size确定。大数据块可以提高查询速度。它由dbwr运营。
b.重做日志缓冲区:用于存储数据操作的变化信息。它们以重做条目的形式存储在日志缓冲区中。当需要数据库恢复时,日志条目用于重建或回滚对数据库所做的更改。太阳日志缓冲区的大小由初始化参数log_buffer决定。较大的日志缓冲区可以减少日志文件i/o的数量。后台进程lgwr将日志缓冲区中的信息写入磁盘上的日志文件,并可以启动arch后台进程来归档日志信息。
c.共享池:包含用于处理的sql语句信息。它包含一个共享sql区域和一个数据字典存储区域。共享sql区域包含用于执行特定sql语句的信息。数据字典区用于存储数据字典,它由所有用户进程共享。。