一、数据文件概述在Oracle数据库中,SYSTEM和SYSAUX表空间至少需要包含一个数据文件,同时还会包含多个其他表空间及其相关的数据文件和临时文件文件。文档。Oracle的数据文件和临时文件是操作系统文件,属于数据库物理结构的范畴,用于存储数据库中逻辑结构的数据。创建表空间时,必须为每个表空间显式指定数据文件。Oracle为文件分配编号有两种方式:绝对文件号,用于唯一标识数据库中的数据文件,绝对文件号可以通过v$datafile或v$tempfile视图的FILE#列查询,也可以通过DBA_DATA_FILES或DBA_TEMP_FILES查看FILE_ID列查询;相对文件号,用于在表空间中唯一标识数据文件。在大多数情况下,绝对文件数和相对文件数是相等的,但是当数据库中的数据文件数超过一个阈值(比如1023)时,它们就不再相等了。bigfile表空间数据文件的相对文件号始终为1024。查询数据文件的绝对文件号和相对文件号:数据库可以创建的数据文件数受CREATEDATABASE...MAXDATAFILES语句和DB_FILES参数。另外,请注意操作系统对您可以创建的文件数量的强制限制。实例启动时,Oracle会根据初始化参数DB_FILES在SGA中分配存储数据文件信息的空间,实例可以根据该参数的值来决定可以创建的***文件个数。该参数可以修改,但必须重启数据库才能生效。该参数在实例的整个生命周期内都有效。表空间包含的数据文件的数据量大小,最终会影响数据库的性能。Oracle允许的联机文件数超过了操作系统的默认限制。DBWn进程可以打开所有在线数据文件,并具有缓存所有处理文件的能力。当打开的文件数据量达到操作系统默认的限制时,Oracle会自动关闭该文件。这可能会对性能产生负面影响,建议将操作系统的默认限制调整为大于数据库中在线文件的数量。2.为表空间创建和添加文件为表空间创建和添加数据文件的方法以前学过,这里只简单回顾一下。1、创建表空间的同时创建数据文件。2.将数据文件添加到现有表空间。扩展名:手动RESIZE数据文件大小:4.修改数据文件可用性您可以通过对数据文件进行在线和离线操作来修改数据文件的可用性。在恢复在线状态之前,数据库无法访问离线数据文件。只读表空间中的数据文件也可以是离线的,也可以是在线的。只读表空间中数据文件的上线或下线不影响表空间本身的状态。不管怎样,在表空间不处于读写状态之前,这些文件都是不可写的。1.归档模式下的数据文件离线。2.非归档模式下的数据文件是离线的。在非归档模式下,使用alterdatabase...offlinefordrop语句将数据文件脱机。offline关键字将数据文件标记为离线,不管是否损坏,所以数据库可以打开;fordrop关键字标记以后要删除的数据文件,数据文件不能再次恢复到在线状态。(其实在线日志组切换之前,还是可以恢复到在线状态的)SQL>alterdatabasedatafile'D:\app\Manganese\oradata\orcl\test01.dbf'offlinefordrop;数据库已更改。SQL>altersystemswitchlogfile;系统已经改变。SQL>altersystemswitchlogfile;系统已经改变。SQL>altersystemswitchlogfile;系统已经改变。第1行错误:ORA-01113:文件7需要介质恢复ORA-01110:数据文件7:'D:\APP\MANGANESE\ORADATA\ORCL\TEST01.DBF'SQL>recoverdatafile7;ORA-00279:线程1需要更改1108304(生成于03/19/201415:44:41)ORA-00289:咨询:D:\APP\MANGANESE\FLASH_RECOVERY_AREA\ORCL\ARCHIVELOG\2014_03_19\O1_MF_1_9_%U_。ARCORA-00280:更改1108304(对于线程1)指定序列#9中的日志:{=suggested|文件名|自动|CANCEL}autoORA-00308:无法打开存档日志'D:\APP\MANGANESE\FLASH_RECOVERY_AREA\ORCL\ARCHIVELOG\2014_03_19\O1_MF_1_9_%U_.ARC'ORA-27041:无法打开文件OSD-04002:无法打开文件O/S-错误:(OS2)系统找不到指定的文件。ORA-00308:无法打开存档日志'D:\APP\MANGANESE\FLASH_RECOVERY_AREA\ORCL\ARCHIVELOG\2014_03_19\O1_MF_1_9_%U_.ARC'ORA-27041:无法打开文件OSD-04002:无法打开文件O/S错误:(OS2)系统找不到指定的文件。3.修改表空间所有数据文件和临时文件的可用性。五、重命名(修改存放位置)数据文件1、将包含数据文件的表空间下线。2.使用操作系统命令修改数据文件名。3.使用alterdatabase...renamedatafile...语句更改数据库中的数据文件名。4.备份数据库。示例1:重命名同一表空间中的数据文件示例2:重命名不同表空间中的数据文件从表空间中删除数据文件:从数据库中删除数据文件:注意:1.从字典管理迁移到本地管理读取的数据文件-only表空间不能被删除。此外,还可以删除其他只读表空间中的数据文件。2、系统表空间中的数据文件不能删除。3.如果本地管理的表空间处于离线状态,则无法删除其中的数据文件。4.如果表空间只有一个数据文件,则不能删除该数据文件。5.如果数据文件不为空,则不能删除数据文件。6.删除数据文件,必须保证数据块处于打开状态。
