当前位置: 首页 > 科技观察

初识Oracle表空间设置与管理

时间:2023-03-13 19:50:24 科技观察

前言表空间是Oracle特有的逻辑结构,一种管理组织Oracle数据文件的方式,一个Oracle数据库可以有一个或多个表空间,一个表空间对应一个或多个物理数据库文件。Oracle的表空间分为***空间和临时表空间,又分为smallfile表空间和bigfile表空间。表空间管理是OracleDBA的一项重要日常工作。今天,小编将从***表空间管理和临时表空间管理两个维度来详细介绍Oracle表空间管理的具体操作。一、***表空间管理1、创建表空间参数说明:EXTENTMANAGEMENTLOCALAUTOALLOCATE:区域大小由系统自动分配。BLOCKSIZE8K:块大小为8K。SEGMENTSPACEMANAGEMENTAUTO:段管理是自动的。FLASHBACKON:开启闪回。2.修改表空间(1)修改数据文件大小SQL>ALTERDATABASEDATAFILE'/u01/app/oracle/oradata/TSH1/users01.dbf'RESIZE10M;(2)添加表空间数据文件ALTERTABLESPACEUSERSADDDATAFILE'/u01/app/oracle/oradata/TSH1/users02.dbf'SIZE20MAUTOEXTENDONNEXT1280KMAXSIZEUNLIMITED;注意:在日常工作中,建议通过增加数据文件的方式来扩展表空间,因为对于线上业务系统来说,修改数据文件的大小会对业务产生一定的影响。3.重命名表空间设置表空间离线SQL>ALTERTABLESPACEUSERSOFFLINENORMAL;使用操作系统实用程序(如UNIX中的cp或mv)或Windows中的复制命令重命名此文件$cp/u01/app/oracle/test01.dbf/u02/app/oracle/test01.dbf在数据文件上线之前使用以下命令SQL>ALTERTABLESPACEUSERSRENAMEDATAFILE'/u01/app/oracle/oradata/TSH1/users01.dbf'TO'/u02/app/oracle/oradata/TSH1/users01.dbf'设置表空间联机SQL>ALTERTABLESPACEUSERSONLINE;4.设置表空间只读设置表空间只读SQL>ALTERTABLESPACEUSERSREADONLY;再次将表空间设置为可写SQL>ALTERTABLESPACEUSERSREADWRITE;5.settablespaceoffMachine,onlinesettablespaceofflineSQL>ALTERTABLESPACEUSERSOFFLINENORMAL;在线设置表空间SQL>ALTERTABLESPACEUSERSONLINE;6.删除表空间SQL>DROPTABLESPACEUSERSINCLUDINGCONTENTSANDDATAFILES;7.修改表空间为默认***表空间修改表空间为默认***表空间SQL>ALTERDATABASEDEFAULTTABLESPACEusers;查询当前数据库的默认***表空间SQL>SELECTproperty_valuefromdatabase_propertieswhereproperty_name='DEFAULT_PERMANENT_TABLESPACE';二、临时表空间管理1、创建临时表空间SQL>CREATETEMPORARYTABLESPACETEMPTEMPFILE'/u01/app/oracle/oradata/TSH1/temp01.dbf'SIZE31MAUTOEXTENDONNEXT640KMAXSIZEUNLIMITEDEXTENTMANAGEMENTLOCALUNIFORMSIZE1M;参数说明:EXTENTMANAGEMENTLOCALUNIFORMSIZE1M:区域管理为本地管理,区域大小为1M2。修改DALETERTABASQL>ALu01/app/oracle/oradata/TSH1/temp01.dbf'RESIZE60M;3.删除临时表空间SQL>DROPTABLESPACETEMPINCLUDINGCONTENTSANDDATAFILES;4.临时表空间组管理(1)创建临时表空间组SQL>CREATETEMPORARYTABLESPACETEMPTEMPFILE'/u01/app/oracle/oradata/TSH1/temp01.dbf'SIZE31MAUTOEXTENDONNEXT640KMAXSIZEUNLIMITEDTABLESPACEGROUPtmpgrp1;说明:添加名为tmpgrp1的临时表空间组。(2)在临时表空间组中添加一个表空间SQL>ALTERTABLESPACEtemp02TABLESPACEGROUPtmpgrp2;(3)设置一个组为默认的临时表空间SQL>ALTERDATABASEDEFAULTTEMPORARYTABLESPACEtmpgrp1;表空间管理涉及的视图为了管理ORACLE数据库的表空间,必须熟悉几个关键点字典视图为:DBADATAFILESDBA_TABLESPACESDBAFREESPACEDBA_SEGMENTS