oracle物理结构和逻辑结构


    oracle物理 构造和逻辑 构造物理 构造查看oracle数据库的物理文件路径 定然要用命令查看,除非该数据库是你亲自安装,并做过所有的安全配置,不然十分有可能你的前任对数据库进行了更改,而在一不小心酿成大错 。
    查看操纵文件DESC v$controlfile查看操纵文件的状态和名称(显示路径)SELECT status,name FROM v$controlfile;
    查看数据文件DESC v$datafile 比方查看数据文件的文件号和状态SELECT file#,status,name FROM v$datafile;
    看日志文件DESC v$logfile查看日志文件路径信息SELECT member FROM v$logfile;
    Oracle的文件系统:操纵文件(.CTL),数据文件(.DBF),日志文件(.LOG)
    这三种文件系统普通在以下路径 可以找到:(默许安装路径)/u01/app/oracle/oradata/oracleSID
    除此三种文件还有一种参数文件,参数文件不是数据库系统中的有效组成 部分,在启动数据库时,参数文件不直接 参加工作,只不过操纵文件是由参数文件寻觅的 。参数文件位置:/u01/app/oracle/product/10.2.0/db_1/dbs/spfileorac leSID.ora操纵文件的内容会显示在参数文件中 。参数文件的作用起到寻觅操纵文件的作用 。
    Oracle中有两种日志文件,一种为联机日志文件(重做日志文件),一种为归档日志文件 。REDO01.LOG和REDO02.LOG,REDO03.LOG是典型的联机日志文件,特色是顺序写文件,写满后写下一个,写满第三个循环写第一个,而且 遮蔽掉不做备份 。归档日志文件,在热备份的时候要 取舍的一种归档 模式 。
    由操纵文件操纵数据文件和日志文件 。数据库启动时启动对应实例后,首先启动操纵文件,在由操纵文件 打开数据文件 。 景象是:数据库装载:Database Mount, 而后 打开数据库:Database Open 。其实便是先 打开操纵文件,在 打开数据文件 。
    物理 构造下,这些路径是 可以 随便 迁徙的, 可以 存放在任何存储下,包括裸 设施 。
    逻辑 构造数据库的逻辑 构造 有关于物理 构造要复杂众多 。学逻辑 构造,非一日之功,我仅学到 有关的大约 。以后有 工夫 接续 深刻学习 。数据库存储空间由一个或多个表空间组成 。(如system、sysaux.)1、表空间(tablespace)组织数据库空间的逻辑 构造,其对物理 构造是数据文件,一个表空间物理上由一个或多个数据文件组成,逻辑上由一个或多个数据段组成 。2、数据段(segment)逻辑对象所占用空间,如表段,索引段,回滚段等,段存在于表空间中,并对应 定然的存储空间 。数据段又划分为一个或多个区间 。3、区(extent)区间是用于为数据一次性预留的一个逻辑上延续的一组disk空间(默许8块),每个区间占用 定然数量的数据块 。区不能跨数据文件 。4、块(block)数据库最小的存储单位(默许8k),是所有逻辑 构造的 根本 调配单元 。以上时逻辑 构造的 根本 构造
    1.表空间概述表空间 性能·组织数据段空间,操纵存储空间的 调配·通过使单个表空间在线或离线,操纵数据的可用性·通过表空间划分实现 跨越 设施 调配数据存储,以 普及性能·通过指定消费者 使用指定表空间实现对消费者的 制约·执行 部分数据的后备和 复原操作表空间特色·数据中的最大逻辑单位·一个数据库逻辑上至少由一个系统表空间组成·一个表空间物理上至少由一个数据文件组成·一个表空间至少包括一个段(操纵信息)·表空间的大小等于所有 附属于它的数据文件大小的总和 查问表空间 使用状况SQL select*from dba_tablespaces; 查问数据库中所有表空间信息SQL select*from dba_data_files; 查问表空间所含数据文件信息,不含暂时表空间SQL select*from dba_temp_files;专查暂时表空间所含数据文件SQL select tablespace_name,sum(bytes)from dba_data_files group by tablespace_name; 查问表空间大小SQL select tablespace_name,sum(bytes)from dba_free_space group by tablespace_name; 查问表空间空暇空间大小
    缔造表空间SQL create tablespace test datafile’/u01/a.dat’size 5m;更改表空间SQL alter tablespace test add datafile’/u01/b.dat’size 6m; 查问表空间SQL select tablespace_name,sum(bytes)from dba_data_files group by tablespace_name;表空间更名SQL alter tablespace test rename to fff;表空间脱机SQL alter tablespace test offline;表空间联机SQL alter tablespace test online;设置表空间只读SQL alter tablespace test read only;设置表空间可读写SQL alter tablespace test read write; 扩大表空间SQL alter tablespace test add datafile’/u01/c.dat’size 500M;添加数据文件个数以扩充表空间(数据文件大约5'20个)SQL alter database datafile’/u01/a.dat’resize 80M;扩充数据文件大小扩充表空间SQL alter database datafile’/u01/a.dat’autoextend on maxsize 100M;设置自动扩充参数以自动扩充表空间删除表空间SQL drop tablespace test including contents and datafiles;删除表空间和数据文件
    表空间分类表空间重要分为系统表空间(system、sysaux),数据表空间(user),回滚表空间(undotbs),暂时表空间(temp) 。1、系统表空间每个数据库都必须具备一个system表空间,该表空间是在数据库 缔造或数据库安装时自动 缔造的,名称不能更改,任何时候均必须 维持online状态,用于存储系统的数据字典表,程序系统单元,过程函数,包和触发器等,也可用于存储消费者数据表,索引对象 。为幸免系统表空间产生磁场碎片以及争用系统资源的问题,应 径自 缔造至少一个独立的表空间用来 径自抽出消费者数据 。sysaux表空间也随数据库的 缔造而 缔造,是system表空间的辅助表空间,重要存 贮 存放 支撑oracle系统 运动的多种工具如logminer等,sysaux减低了system表空间的负荷 。2、数据和索引表空间由消费者在数据 构建 结束自行 缔造,是数据库空间的最重要组成 部分,数据表空间应该 构建多个, 构建不同消费者及性质的数据库对象时应指定其 存放在指定的数据表空间中,索引表空间也应 构建多个,并分类将不同对象的索引按大小及 拜访频度分别指定 存放到指定的数据表空间中 。通常状况下,数据和索引表空间应 构建适当多个,太少则单个表空间过大,数据不安全且回复费时,太小则难治理 。数据库 缔造时默许 缔造users表空间,包括一个数据文件user01.dbf,新建消费者的未指定存储表空间时默许 使用该表空间 。3、回滚表空间undo数据又称回滚(rollback)数据,消费者确保数据的 统一性,当执行DML操作时,事务操作前的数据被称undo记录,undo表空间用于 保留undo记录 。undo表空间消费者 保留undo记录,是数据库空间的最 要害的组成 部分,其对数据库的运行影响很大 。数据库 缔造时默许 构建一个回滚段表空间undotbs1,包括一个数据文件undotbs01.dbs 。SQL show parameter undo;
    4、暂时表空间暂时表空间(temp tablespace)重要用于存储oracle数据库运行期间所产生的历史数据,及用于进行排序 。数据库关闭后,暂时表空间中所有数据将所有被 革除,故暂时表空间外地 其余所有表空间都属于 永远性表空间数据库 缔造时默许 构建一暂时表空间temp 。包括一数据文件temp01.dbf,关于大型操作频繁的环境,应 构建多个暂时表空间,并分别归属不同暂时表空间,以幸免多消费者及多 使命竞争该暂时表空间查看系统默许暂时表空间及对应数据文件SQL select tablespace_name from dba_tablespaces;SQL select*from dba_temp_files;