北京城建亚泰建设集团有限公司网站杭州网站设计哪家公司好
2026/6/20 10:14:21 网站建设 项目流程
北京城建亚泰建设集团有限公司网站,杭州网站设计哪家公司好,wordpress下载中,普洱建设单位网站Oracle 表空间与数据文件管理详解 本章系统讲解 Oracle 数据库中 表空间#xff08;Tablespace#xff09; 与 数据文件#xff08;Datafile#xff09; 的结构、关系及管理方法#xff0c;涵盖 永久表空间、撤销表空间、临时表空间 的创建、维护与优化#xff0c;是数据…Oracle 表空间与数据文件管理详解本章系统讲解 Oracle 数据库中表空间Tablespace与数据文件Datafile的结构、关系及管理方法涵盖永久表空间、撤销表空间、临时表空间的创建、维护与优化是数据库存储架构设计和性能调优的核心内容。一、环境准备与前提条件1. 安装要求已安装Oracle Database Enterprise/Standard Edition如 19c/21c具备SYSDBA 权限操作系统有足够磁盘空间建议/u01,/u02等挂载点2. 连接数据库su- oracle sqlplus / as sysdba SQLSTARTUP;-- 若未启动二、表空间与数据文件的关系概念说明表空间Tablespace逻辑存储单元包含一个或多个数据文件数据文件Datafile物理文件.dbf存储实际数据关系1 个表空间 → N 个数据文件 1 个数据文件 → 仅属于 1 个表空间✅设计原则将不同应用的数据分离到不同表空间I/O 密集型表空间使用独立磁盘三、Oracle 默认表空间1. SYSTEM 表空间作用存储数据字典如DBA_TABLES、系统回滚段等特点创建数据库时自动创建禁止存放用户对象必须处于ONLINE状态2. SYSAUX 表空间作用辅助 SYSTEM存放 OEM、AWR、Statspack 等工具数据优势减轻 SYSTEM 负担提高可维护性-- 查看默认表空间SELECTproperty_name,property_valueFROMdatabase_propertiesWHEREproperty_nameLIKE%DEFAULT%;输出示例PROPERTY_NAME PROPERTY_VALUE --------------------------- -------------- DEFAULT_PERMANENT_TABLESPACE USERS DEFAULT_TEMP_TABLESPACE TEMP四、创建表空间1. 基本语法CREATETABLESPACEtablespace_name DATAFILEfile_pathSIZE size[AUTOEXTENDONNEXTincrement MAXSIZE max_size][EXTENT MANAGEMENT {LOCAL|DICTIONARY }][SEGMENT SPACE MANAGEMENT { AUTO|MANUAL }];2. 通过本地化管理方式创建推荐本地管理表空间LMT使用位图管理区Extent性能优于字典管理。-- 创建本地管理表空间默认CREATETABLESPACEtbs_app DATAFILE/u01/oradata/ORCL/tbs_app01.dbfSIZE500M AUTOEXTENDONNEXT100M MAXSIZE2G EXTENT MANAGEMENTLOCAL;-- 显式指定实际为默认✅ 优势避免递归 SQL减少争用。3. 通过段空间管理方式创建SEGMENT SPACE MANAGEMENT AUTO使用位图管理段内空间推荐MANUAL使用空闲列表Freelist旧方式不推荐-- 创建自动段空间管理表空间ASSMCREATETABLESPACEtbs_user DATAFILE/u01/oradata/ORCL/tbs_user01.dbfSIZE1G EXTENT MANAGEMENTLOCALSEGMENT SPACE MANAGEMENT AUTO;-- 默认值 ASSM 自动处理并发插入避免“缓冲区忙等待”。4. 创建非标准块表空间Oracle 默认块大小由DB_BLOCK_SIZE决定通常 8KB。可创建2KB、16KB、32KB等非标准块表空间需先设置DB_nK_CACHE_SIZE。步骤1设置缓存池-- 设置 16KB 缓存池动态ALTERSYSTEMSETdb_16k_cache_size100M;步骤2创建非标准块表空间CREATETABLESPACEtbs_large_block DATAFILE/u01/oradata/ORCL/tbs_large01.dbfSIZE500M BLOCKSIZE16K;-- 必须匹配已配置的缓存池 适用场景数据仓库大行表、LOB 存储。5. 建立大文件表空间Bigfile Tablespace特点仅含1 个数据文件文件最大可达128TB8KB 块适用于超大数据库VLDB-- 创建大文件表空间CREATEBIGFILETABLESPACEtbs_big DATAFILE/u02/oradata/ORCL/tbs_big.dbfSIZE10G AUTOEXTENDONNEXT1G;⚠️ 注意不能与小文件表空间混用RMAN 备份策略需调整。五、维护表空间与数据文件1. 设置默认表空间-- 设置数据库默认永久表空间ALTERDATABASEDEFAULTTABLESPACEtbs_user;-- 设置默认临时表空间ALTERDATABASEDEFAULTTEMPORARYTABLESPACEtemp_new;新建用户若未指定DEFAULT TABLESPACE将使用此默认值。2. 更改表空间状态状态作用命令ONLINE正常访问ALTER TABLESPACE tbs_name ONLINE;OFFLINE不可用用于维护ALTER TABLESPACE tbs_name OFFLINE;READ ONLY只读用于备份ALTER TABLESPACE tbs_name READ ONLY;READ WRITE恢复读写ALTER TABLESPACE tbs_name READ WRITE;-- 示例将表空间设为只读进行备份ALTERTABLESPACEtbs_appREADONLY;-- ... 执行备份 ...ALTERTABLESPACEtbs_appREADWRITE;3. 重命名表空间-- 重命名Oracle 10g 支持ALTERTABLESPACEtbs_oldRENAMETOtbs_new;✅ 优点无需导出/导入数据。4. 删除表空间-- 删除表空间及数据文件谨慎DROPTABLESPACEtbs_test INCLUDING CONTENTSANDDATAFILES;⚠️INCLUDING CONTENTS删除所有对象⚠️AND DATAFILES同时删除操作系统文件5. 维护数据文件(1) 添加数据文件ALTERTABLESPACEtbs_appADDDATAFILE/u02/oradata/ORCL/tbs_app02.dbfSIZE500M AUTOEXTENDON;(2) 调整数据文件大小-- 手动扩容ALTERDATABASEDATAFILE/u01/oradata/ORCL/tbs_app01.dbfRESIZE1G;-- 开启自动扩展ALTERDATABASEDATAFILE/u01/oradata/ORCL/tbs_app01.dbfAUTOEXTENDONNEXT100M MAXSIZE UNLIMITED;(3) 移动/重命名数据文件-- 1. OFFLINE 表空间ALTERTABLESPACEtbs_app OFFLINE;-- 2. 操作系统级移动文件-- !mv /old/path/file.dbf /new/path/file.dbf-- 3. 更新控制文件ALTERDATABASERENAMEFILE/old/path/file.dbfTO/new/path/file.dbf;-- 4. ONLINE 表空间ALTERTABLESPACEtbs_app ONLINE;六、管理撤销表空间Undo Tablespace1. 撤销表空间的作用存储DML 操作前的旧值Before Image支持回滚ROLLBACK、读一致性Read Consistency、闪回查询2. 初始化参数参数说明UNDO_MANAGEMENTAUTO自动或MANUAL手动UNDO_TABLESPACE指定当前撤销表空间UNDO_RETENTION保留时间秒默认 900-- 查看参数SHOWPARAMETER undo;3. 基本操作(1) 创建撤销表空间CREATEUNDOTABLESPACEundotbs2 DATAFILE/u01/oradata/ORCL/undotbs02.dbfSIZE2G AUTOEXTENDON;(2) 切换撤销表空间-- 动态切换无需重启ALTERSYSTEMSETundo_tablespaceundotbs2;(3) 删除旧撤销表空间-- 确保未被使用DROPTABLESPACEundotbs1 INCLUDING CONTENTSANDDATAFILES; 监控撤销使用SELECTtablespace_name,status,sum(bytes)/1024/1024ASmbFROMdba_undo_extentsGROUPBYtablespace_name,status;七、管理临时表空间Temporary Tablespace1. 临时表空间简介存储排序ORDER BY、哈希连接、临时表的中间结果数据在会话结束时自动清除文件扩展名为.tmp2. 创建临时表空间-- 创建临时表空间CREATETEMPORARYTABLESPACEtemp_new TEMPFILE/u01/oradata/ORCL/temp_new01.dbfSIZE500M AUTOEXTENDON;-- 设置为默认临时表空间ALTERDATABASEDEFAULTTEMPORARYTABLESPACEtemp_new;⚠️ 注意使用TEMPFILE而非DATAFILE3. 查询临时表空间信息-- 临时表空间及文件SELECTtablespace_name,file_name,bytes/1024/1024ASsize_mbFROMdba_temp_files;-- 临时段使用情况SELECTs.username,u.tablespace,u.extents,u.blocksFROMv$sessions,v$tempseg_usage uWHEREs.saddru.session_addr;4. 管理临时表空间组Oracle 10g允许多个临时表空间组成组Group提高并发排序能力。(1) 创建临时表空间组-- 创建时指定组CREATETEMPORARYTABLESPACEtemp1 TEMPFILE/u01/oradata/ORCL/temp1.dbfSIZE500MTABLESPACEGROUPtemp_group;CREATETEMPORARYTABLESPACEtemp2 TEMPFILE/u01/oradata/ORCL/temp2.dbfSIZE500MTABLESPACEGROUPtemp_group;(2) 将用户分配到组-- 用户使用整个组ALTERUSERscottTEMPORARYTABLESPACEtemp_group;(3) 查看组信息SELECT*FROMdba_tablespace_groups;八、综合性实战案例案例为 OLTP 系统设计高可用存储架构需求创建专用应用表空间本地管理 ASSM配置独立撤销和临时表空间设置自动扩展与监控验证配置步骤1创建应用表空间-- 永久表空间CREATETABLESPACEtbs_oltp DATAFILE/u01/oradata/ORCL/tbs_oltp01.dbfSIZE2G AUTOEXTENDONNEXT200M MAXSIZE10G EXTENT MANAGEMENTLOCALSEGMENT SPACE MANAGEMENT AUTO;-- 添加第二数据文件跨磁盘ALTERTABLESPACEtbs_oltpADDDATAFILE/u02/oradata/ORCL/tbs_oltp02.dbfSIZE2G AUTOEXTENDON;步骤2创建撤销表空间CREATEUNDOTABLESPACEundotbs_oltp DATAFILE/u01/oradata/ORCL/undotbs_oltp.dbfSIZE3G AUTOEXTENDON;-- 切换并设置保留时间ALTERSYSTEMSETundo_tablespaceundotbs_oltp;ALTERSYSTEMSETundo_retention1800;-- 30分钟步骤3创建临时表空间组CREATETEMPORARYTABLESPACEtemp_oltp1 TEMPFILE/u01/oradata/ORCL/temp_oltp1.dbfSIZE1G AUTOEXTENDONTABLESPACEGROUPtemp_oltp_group;CREATETEMPORARYTABLESPACEtemp_oltp2 TEMPFILE/u02/oradata/ORCL/temp_oltp2.dbfSIZE1G AUTOEXTENDONTABLESPACEGROUPtemp_oltp_group;-- 设置为默认ALTERDATABASEDEFAULTTEMPORARYTABLESPACEtemp_oltp_group;步骤4创建用户并分配表空间CREATEUSERapp_user IDENTIFIEDBYsecure_passwordDEFAULTTABLESPACEtbs_oltpTEMPORARYTABLESPACEtemp_oltp_group QUOTA UNLIMITEDONtbs_oltp;GRANTCONNECT,RESOURCETOapp_user;步骤5验证配置-- 表空间列表SELECTtablespace_name,contents,statusFROMdba_tablespaces;-- 数据文件分布SELECTtablespace_name,file_name,bytes/1024/1024ASsize_mbFROMdba_data_filesWHEREtablespace_nameLIKE%OLTP%UNIONALLSELECTtablespace_name,file_name,bytes/1024/1024FROMdba_temp_filesORDERBY1;-- 撤销表空间状态SHOWPARAMETER undo_tablespace;步骤6测试临时空间使用-- 以 app_user 登录CONNECTapp_user/secure_password-- 执行大排序触发临时段SELECT*FROM(SELECTobject_id,object_nameFROMall_objectsORDERBYobject_name)WHEREROWNUM10000;九、总结表空间类型关键命令最佳实践永久表空间CREATE TABLESPACEADD DATAFILELMT ASSM多数据文件跨磁盘撤销表空间CREATE UNDO TABLESPACEALTER SYSTEM SET undo_tablespace独立表空间合理设置UNDO_RETENTION临时表空间CREATE TEMPORARY TABLESPACETABLESPACE GROUP使用组提升并发排序性能黄金法则绝不使用 SYSTEM/SYSAUX 存放用户数据所有表空间启用 AUTOEXTEND设上限定期监控空间使用DBA_FREE_SPACE掌握本章内容即可构建高性能、高可用的 Oracle 存储体系为业务系统提供坚实基础。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询