《第八章 备份与恢复(2012-04-12).ppt》由会员分享,可在线阅读,更多相关《第八章 备份与恢复(2012-04-12).ppt(94页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、第八章第八章 备份与恢复备份与恢复目标 q了解数据库归档模式q掌握数据库热备份与热恢复技术2本章内容8.1 概述8.2 备份和恢复8.2.1 非归档模式下的冷备份8.2.2 非归档模式下的冷恢复8.2.3 归档模式下的热备份8.2.4 归档模式下的数据库恢复3本章内容8.1 概述8.2 备份和恢复8.2.1 非归档模式下的冷备份8.2.2 非归档模式下的冷恢复8.2.3 归档模式下的热备份8.2.4 归档模式下的数据库恢复4口令文件口令文件Oracle体系结构实实例例SGA重做日志缓冲区重做日志缓冲区共享缓冲区共享缓冲区数据字典数据字典库缓冲区库缓冲区DBWRSMONPMONCKPTLGWRO
2、thers用户进程用户进程服务器进程服务器进程PGA控制文件控制文件数据文件数据文件数据库数据库数据缓冲区数据缓冲区重做日志重做日志文件文件Java池池大池大池参数文件参数文件归档日志文件归档日志文件5写重做日志文件和写数据数据缓冲区重做日志缓冲区DBWR数据文件重做日志文件LGWR归档日志文件ARCH6写重做日志文件q用户发出commit语句提交事务后,Oracle的内部操作步骤如下:q服务器进程将把提交的事务连同连同所产生的SCN(号码)一同写入重做日志缓冲区中。q重做日志写进程(LGWR)把重做日志缓冲区中一直到提交的记录的所有记录连续地写到重做日志文件中。(因此,Oracle服务器就可
3、以保证即使在系统崩溃的情况下所有提交的数据也可以得到恢复。)q释放资源,打开锁。7写数据q下列事件发生时,把数据库高速缓冲区中的数据写到数据文件上(由DBWR进程负责)。q脏缓冲区的数量超过了所设定的限额。qCheckpoint:检查点到。q。8Checkpoint事件q一个内部事件,激活以后会触发数据库写进程(DBWR)将数据缓冲区中的脏数据块写出到数据文件中。q为什么要有checkpoint?q写日志和写数据文件是数据库中I/O消耗最大的两种操作,在这两种操作中写数据文件属于分散写(速度慢),写日志文件是顺序写(速度快),因此为了保证数据库的性能,通常数据库都是保证在提交(commit)完
4、成之前要先保证日志都被写入到日志文件中,而脏数据块着保存在数据缓存(buffer cache)中再不定期的分批写入到数据文件中。也就是说日志写入和提交操作是同步的,而数据写入和提交操作是不同步的。q这样就存在一个问题,当一个数据库崩溃的时候并不能保证缓存里面的脏数据全部写入到数据文件中,这样在实例启动的时候就要使用日志文件进行恢复操作,将数据库恢复到崩溃之前的状态,保证数据的一致性。qcheckpoint是这个过程中的重要机制,通过checkpoint来确定,恢复时哪些重做日志应该被扫描并应用于恢复。9重做日志文件q事务提交机制保证所有已经提交的数据一定记录在重做日志文件重做日志文件上。q数据
5、库崩溃后,Oracle服务器就使用重做日志文件中的这些数据来进行数据库的恢复工作。10重做日志文件q查看数据库的重做日志文件q一般在数据库建立后,有三组重做日志文件。q工作的顺序是:LGWR首先将数据写到第一组,当第一组写满后接着写第二组,第二组写满后,开始写第三组。当第三组写满后,重新开始写第一组。q问题:当LGWR循环写了一圈之后,再写重做日志组中的文件时,原来的信息可能覆盖掉,为此引入归档/存档日志的结构。11归档(ARCHIVELOG)模式q归档模式(ARCHIVELOG)q当LGWR的写操作从一个重做日志文件组切换到另一个重做日志文件组后,归档写进程(ARCH)将原来的重做日志文件中
6、的信息复制到归档日志文件中。q归档日志文件是重做日志文件的备份。q当数据库崩溃以后,所有的提交数据都能恢复。q可对数据库进行联机备份,在联机备份期间可以继续进行其他的操作。12归档(ARCHIVELOG)模式053053053051053051051052053归档日志文件归档日志文件联机重做日志文件联机重做日志文件LGWR054052054052重做重做历史记录历史记录非归档(NOARCHIVELOG)模式q非归档模式(NOARCHIVELOG)q不对重做日志文件备份qOracle的默认方式q缺点q数据库无法保证在系统崩溃后所有的提交数据都能恢复。q优点q管理和维护较为简单和稳定。q适用q不
7、太重要的数据库。14联机重做日志文件联机重做日志文件无重做历无重做历史记录史记录053LGWR054053052053054053052052非归档(NOARCHIVELOG)模式查看数据库的归档模式q必须以sysdba登录q查看数据库的归档模式SQLCONNECT SYSTEM/ORCL AS SYDDBA或SQLCONNECT SYS/ORCL AS SYDDBASQLARCHIVE LOG LIST16将归档模式更改为自动归档模式SHUTDOWN NORMAL/IMMEDIATE/TRANSACTIONAL1STARTUP MOUNTALTER DATABASE ARCHIVELOG 3
8、ALTER DATABASE OPEN452初始化参数初始化参数控制文件控制文件完全数据库备份完全数据库备份将归档模式更改为自动归档模式q为什么要有?q之前非归档模式下的数据库备份已经不能使用了,这个新的备份就是在归档模式下备份的起点。18将归档模式更改为自动归档模式q通过archive log list命令查看归档参数19本章内容8.1 概述8.2 备份和恢复8.2.1 非归档模式下的冷备份8.2.2 非归档模式下的冷恢复8.2.3 归档模式下的热备份8.2.4 归档模式下的数据库恢复20备份与恢复简介 q备份是数据库中数据的副本,它可以保护数据在出现意外损失时最大限度的恢复。21备份的分类
9、q第一种分类q全备份:备份数据库中的所有数据文件和控制文件。q部分备份部分备份:对表空间、数据文件或控制文件的备份称为部分备份。22备份的分类q第二种分类q冷备份(一致性备份、脱机备份):冷备份(一致性备份、脱机备份):数据库正常关闭状态下,进行的全备份称为一致性备份,此时,数据文件和控制文件的Checkpoint是一致的。q热备份(非一致性备份、联机备份):热备份(非一致性备份、联机备份):在打开状态下,数据文件和控制文件的Checkpoint处于不一致状态。非正常关闭状态下,数据文件和控制文件的Checkpoint也处于不一致状态,此种情况下的全备份称为非一致性备份。非一致性备份需要恢复。
10、23本章内容8.1 概述8.2 备份和恢复8.2.1 非归档模式下的冷备份8.2.2 非归档模式下的冷恢复8.2.3 归档模式下的热备份8.2.4 归档模式下的数据库恢复24非归档模式下的冷备份和恢复q冷备份:数据库正常关闭状态下的全备份q中小数据库广泛采用。q将数据库关闭(可以是归档模式和非归档模式)将数据库复制到其他地方。q备份内容包括所有数据文件、控制文件、重做日志文件、归档日志、配置文件。25冷备份步骤234SHUTDOWN IMMEDIATE HOST cp /backup/STARTUP OPEN 1Control filesPasswordfileParameter fileDa
11、tafilesRedo log files26冷备份步骤q简单,略q参考教材的第16章。27冷备份的优点q概念简单:在关闭数据库之后复制所有的文件。q备份可靠:因为数据库处在正常关闭状态。q操作容易:将所有的备份命令写入脚本,只要运行脚本即可。q人工操作少:如果写成脚本,不需要人工操作。28冷备份的缺点q必须关闭数据库,对于某些应用难以接受,如电信或银行数据库系统。q需要备份所有的数据文件和控制文件,对于大型和超大型数据库,数据量过大,几乎无法备份。q实际上,大部分数据静止,不需要备份,只有少量数据需要备份,为了备份少量的变化数据,需要将整个数据库备份。29本章内容8.1 概述8.2 备份和恢
12、复8.2.1 非归档模式下的冷备份8.2.2 非归档模式下的冷恢复8.2.3 归档模式下的热备份8.2.4 归档模式下的数据库恢复30冷恢复步骤q关闭数据库。q将所有的备份数据文件和备份控制文件复制到数据库中的原来位置。q将所有的备份重做日志文件、参数文件和口令文件复制到数据库中原来的位置。(参考冷备份过程。)q重启数据库。q略。具体步骤参考第16章。31冷恢复的优点q概念简单:在正常关闭数据库之后,将所有的备份文件复制回数据库中。q操作容易、可靠:数据库处于关闭状态,恢复简单、可靠。32冷恢复的缺点q恢复必须关闭数据库:对于某些应用,难以接受。q数据库回到上一次备份的时间点。从上一次备份到系
13、统崩溃这段时间内的所有提交的数据将全部丢失。q必须将所有的数据文件和控制文件备份复制回数据库中,对大型和超大型数据库来说,恢复时间过长。33本章内容8.1 概述8.2 备份和恢复8.2.1 非归档模式下的冷备份8.2.2 非归档模式下的冷恢复8.2.3 归档模式下的热备份8.2.4 归档模式下的数据库恢复34归档模式下的热备份q热备份(联机备份):数据库正常运行状态下的备份。q可以全备份或部分备份。q只在归档模式下有效。表空间备份表空间备份Tablespace USERSusers02.dbfusers01.dbf 数据文件备份数据文件备份Tablespace USERSusers01.dbf
14、users02.dbf35热备份的优点q备份期间,数据库上的业务可以正常进行。q可以备份表空间、数据文件;备份的数据量可能急剧下降。q备份期间,用户可以正常使用数据库。36热备份的缺点q数据库必须运行在归档模式,系统的开销大。q对DBA的技术要求高。37热备份的过程q两大步q数据文件备份q重做日志文件备份38热备份步骤演示q参考“实验环境的搭建.doc”搭建实验环境。q创建相关目录,存放备份文件。q如下,在F盘上创建TBSBackup目录,再在TBSBackup下创建DISK3和DISK439热备份步骤演示备份数据文件q不管是备份数据文件还是表空间,都要将表空间置为备份状态。下面以备份数据文件
15、备份数据文件为例。q以system用户登录,查询数据字典dba_data_files,获得需要备份的数据文件名以及所在的表空间。SQL SELECT file_id,file_name,tablespace_name FROM dba_data_files;40热备份步骤演示备份数据文件q说明qFILE_ID是数据文件号,每个数据文件唯一。q假设选择18号文件pioneer_data.dbf作为热备份的对象。41热备份步骤演示备份数据文件q查看数据字典V$backup,获取当前pioneer_data.dbf的备份状态。SQL SELECT*FROM V$backup;42热备份步骤演示备份数
16、据文件q说明:q结果显示18号数据文件没有处在备份状态,因为STATUS列的显示结果为NOT ACTIVE。qFILE#列为数据文件的文件号,与dba_data_files的FILE_ID列的含义一致。43热备份步骤演示备份数据文件q将pioneer_data.dbf所在的表空间置为备份状态。SQL ALTER TABLESPACE pioneer_data BEGIN BACKUP;44热备份步骤演示备份数据文件q此时,数据文件处于备份状态。q18号数据文件当前处于备份状态。45热备份步骤演示备份数据文件q将数据文件pioneer_indx.dbf复制到备份磁盘上。q执行完后,在备份目录保存
17、了数据文件。SQL HOST COPY d:disk1moonpioneer_data.dbf f:TBSBackupdisk3;46热备份步骤演示备份数据文件q将18号文件所在的表空间重新置为非备份状态。SQL ALTER TABLESPACE pioneer_data END BACKUP;47热备份步骤演示备份数据文件q此时,数据文件的备份状态。q18号文件以处在非备份状态。q表空间pioneer_data的热备份已完成。48热备份步骤演示备份重做日志文件q查看数据字典v$log_history,获得归档的历史信息。(为了跟后面做完重做日志归档操作比较。)SQL SELECT seque
18、nce#,first_change#,first_time,next_change#,stamp FROM v$log_history WHERE sequence#25;49热备份步骤演示备份重做日志文件q说明:q条件子句“WHERE sequence#25”,主要为了限制显示的行数,每个Oracle服务器不一样。qv$log_history列出了重做日志归档的历史信息。50热备份步骤演示备份重做日志文件q将当前的重做日志文件的信息写到归档日志文件中。SQL ALTER SYSTEM ARCHIVE LOG CURRENT;51热备份步骤演示备份重做日志文件q再次查看数据字典v$log_hi
19、story,获得归档的历史信息。q与备份之前对比,序列号31的归档日志已经生成。52热备份步骤总结q1、使用数据字典dba_data_files找到需要备份的数据文件以及与之对应的表空间。(可选)q2、使用数据字典v$backup确认数据文件备份状态。(可选)q为什么需要这一步?q在大型和超大型数据库系统上,可能有多个DBA,这一步可以得知是否有其他的DBA在做备份。q3、用alter tablespace“表空间名”begin backup;命令将要备份的表空间设置为备份状态。q数据文件的文件头被锁住,并产生检查点。53热备份步骤总结q4、使用操作系统复制命令将该表空间所对应的所有数据文件复
20、制到备份磁盘上。q5、用alter tablespace“表空间名”end backup;命令将已经备份成功的表空间重新设置为结束备份状态。q对数据文件的文件头解锁。54热备份步骤总结q6、将当前的重做日志文件的信息写到归档日志文件中去。q将当前的重做日志文件的信息手工写到归档日志文件中去。q7、再使用数据字典v$backup确认数据文件的备份状态。(可选)q8、使用操作系统命令或工具验证操作系统文件是否已经生成。(可选)55练习q例:某公司的Oracle数据库中,USERS、PIONEER_DATA、SYSTEM和PIONEER_INDX这4个表空间的数据变化较大,需要每天热备份。写出备份的
21、过程。qSTEP 1:查询dba_data_files获取数据文件和与之对应的表空间的相关信息。SQL SELECT file_id,file_name,tablespace_name FROM dba_data_files;56练习qSTEP 2:从数据字典v$backup获取每个数据文件的备份状态的信息。q结果显示只有7号文件的备份状态在2011年5月3号变化过,即pioneer_indx表空间对应的数据文件。SQL SELECT*FROM V$backup;57练习qSTEP 3:将如下的所有联机备份命令,写成脚本文件,如hotback.sql。(对于数据变化量较大,经常需要备份的数据文
22、件,可以写成备份脚本。)CONNECT SYSTEM/ORCL AS SYSDBAALTER TABLESPACE users BEGIN BACKUP;HOST COPY C:ORACLEPRODUCT10.2.0ORADATAORCLUSERS01.DBF F:TBSBackupALTER TABLESPACE users END BACKUP;ALTER SYSTEM ARCHIVE LOG CURRENT;ALTER TABLESPACE system BEGIN BACKUP;HOST COPY C:ORACLEPRODUCT10.2.0ORADATAORCLSYSTEM01.DBF
23、 F:TBSBackupALTER TABLESPACE system END BACKUP;ALTER SYSTEM ARCHIVE LOG CURRENT;ALTER TABLESPACE pioneer_data BEGIN BACKUP;HOST COPY C:DISK2MOONPIONEER_INDX.DBF F:TBSBackupDISK3ALTER TABLESPACE pioneer_data END BACKUP;ALTER SYSTEM ARCHIVE LOG CURRENT;ALTER TABLESPACE pioneer_indx BEGIN BACKUP;HOST C
24、OPY C:DISK2MOONPIONEER_INDX.DBF F:TBSBackupDISK4ALTER TABLESPACE pioneer_indx END BACKUP;ALTER SYSTEM ARCHIVE LOG CURRENT;58练习qSTEP 4:执行热备份脚本。SQL SELECT*FROM V$backup;59练习qSTEP 5:查询v$backup,获取数据文件的备份状态信息。q结果显示:1、4、6、7号文件的备份状态在2011年5月3号变化过。60本章内容8.1 概述8.2 备份和恢复8.2.1 非归档模式下的冷备份8.2.2 非归档模式下的冷恢复8.2.3 归档
25、模式下的热备份8.2.4 归档模式下的数据库恢复61归档模式下的数据库恢复q备份不是目的,数据库的完全恢复才是终极目标!q两个过程:q修复(Restore):将备份的物理文件复制回数据库中原来的位置。即将数据文件带回到过去(备份的时间点)q恢复(Recover):恢复从备份到数据文件崩溃这段时间内所有提交的数据。即将写在归档日志文件和联机重做日志文件的所有提交数据恢复过来。62RECOVER命令q恢复命令(一)q该命令只能在加载状态(mount)下使用。qAutomatic表示自动搜寻和恢复日志文件及联机重做日志文件中提交的数据。q用于系统文件损坏。RECOVER AUTOMATIC DATA
26、BASE;63RECOVER命令q恢复命令(二)q上述命令只能在数据库打开状态(open)下使用。RECOVER AUTOMATIC TABLESPACE“表空间号”|”表空间名”;RECOVER AUTOMATIC DATAFILE“数据文件号”|”数据文件名”;64相关的数据字典q使用如下数据字典获取与恢复相关的信息qdba_data_filesqdba_tablespacesqV$datafile65数据字典dba_data_filesq获取数据库中所有数据文件的文件号、文件名和对应的表空间名。SQL SELECT file_id,file_name,tablespace_name FR
27、OM dba_data_files;66数据字典dba_tablespacesq获取数据库中所有表空间当前的状态。(在数据库处于OPEN状态下使用)SQL SELECT tablespace_name,status FROM dba_tablespaces;67数据字典V$datafileq获取数据库中所有数据文件的当前状态。(在数据库处于MOUNT状态下使用)SQL SELECT file#,status FROM V$datafile;68两种常见情况q两种常见情况,对应两种完全恢复的方法。q情况一:普通文件损坏。q将文件所在的表空间置为脱机。q将备份文件拷贝至原来的位置。q恢复。q情况二
28、:系统文件损坏。69情况一q适用情况:q所需恢复的数据文件不属于系统(system)表空间或还原(undo)/回滚(rollback)段表空间。q磁介质损坏,数据文件崩溃,数据文件的丢失并未造成数据库的关闭。q数据库每天24小时每周7天运营,数据库的down机时间必须保持最小。70情况一恢复步骤q恢复步骤1.确定数据文件所在的表空间。a)使用数据字典v$datafile确认要恢复的数据文件与所对应的表空间。b)使用数据字典dba_tablespaces获取要恢复的表空间是处在脱机还是联机状态。2.如果表空间处在联机状态,要先将表空间置为脱机状态,也可以将数据文件设为脱机。3.将备份的数据文件复
29、制回数据库中原来的位置。如果硬盘损坏,要将备份数据文件复制到其他的硬盘上,之后使用ALTER命令修改数据文件名。(注意:千万不要先修硬盘,时间就是金钱!)71情况一恢复步骤q恢复步骤4.使用RECOVER命令将所有提交的数据从归档日志文件和重做日志文件重新写入已经修复的数据文件。RECOVER TABLESPACE 表空间名表空间名 RECOVER DATAFILE 数据文件名数据文件名5.将表空间和数据文件重新设置为联机状态。72情况一:实例q假设pioneer_data表空间的数据文件损坏。q准备工作:先使用下列命令将pioneer_data表空间备份。CONNECT SYSTEM/ORC
30、L AS SYSDBAALTER TABLESPACE pioneer_data BEGIN BACKUP;HOST COPY C:DISK1MOONPIONEER_DATA.DBF F:TBSBackupDISK3ALTER TABLESPACE pioneer_data END BACKUP;ALTER SYSTEM ARCHIVE LOG CURRENT;73情况一:实例q模拟数据文件损坏造成数据库关闭的情景。q删除数据文件C:DISK1MOONPIONEER_DATA.DBF,模拟数据文件的损坏。SQL CONNECT SYS/ORCL AS SYSDBASQL SHUTDOWN IM
31、MEDIATE74情况一:实例q故障:此时已经不能启动数据库qstartup命令可以提示6号数据文件出了问题。75情况一:实例q使用下列命令将6号文件设为脱机。q由于其他的数据文件都没有出问题,所以可以启动数据库。(要尽快开启数据库,减少损失)SQL ALTER DATABASE DATAFILE 6 OFFLINE;SQL ALTER DATABASE OPEN;76情况一:实例q可以使用下列命令查看数据文件的当前状态。q结果显示6号文件已经脱机。SQL SELECT file#,status FROM v$datafile;77情况一:实例q查看数据文件相关的恢复信息q结果显示6号数据文件
32、已经丢失。SQL SELECT*FROM v$recover_file;78情况一:实例q找到6号文件的最新备份,并拷贝至6号文件原来的目录下。q使用RECOVER命令对第6号数据文件进行恢复。q看到“完成介质恢复”的显示输出,说明已经成功恢复。SQL HOST COPY F:TBSBackupDISK3PIONEER_DATA.DBF C:DISK1MOON;SQL RECOVER DATAFILE 6;79情况一:实例q将pioneer_data表空间重新设置为联机。SQL ALTER TABLESPACE pioneer_data ONLINE;80情况一:实例q验证:使用下面的命令查看
33、数据文件的当前的状态。q此时,6号文件已经变为联机状态。SQL SELECT file#,status FROM v$datafile;81情况一:实例q测试:manager用户的表格在pioneer_data表空间中,以manager登录,测试表格是否可用。SQL CONNECT manager/ma123SQL SELECT*FROM CAT;82情况一:实例q查看两个表格的记录数。q结果显示所有的数据已恢复。SQL SELECT count(*)FROM sales;SQL SELECT count(*)FROM customers;83情况二q适用场合:q所需恢复的数据文件属于系统表空
34、间或还原/回滚段表空间。q整个数据库或大多数数据文件都需要恢复。qOracle服务器可能不会正常启动。84情况二q步骤q1、如果数据库是在打开状态,使用shutdown命令关闭数据库,有可能会使用shutdown abort。q2、以加载方式启动数据库:startup mount。q3、使用操作系统复制命令将备份的数据文件复制回数据库中原来的位置。如果硬盘损坏了,要将备份文件复制到其他的硬盘上,之后使用alter命令修改数据文件名。q4、使用RECOVER命令将所有提交的数据从归档日志文件和重做日志文件重新写入已经修复的数据文件:RECOVER DATABASE。q5、使用ALTER DATA
35、BASE OPEN命令把数据库打开。q6、如果恢复时,将备份的数据文件复制到其他的硬盘上,应该再次使用数据字典dba_data_files获取要恢复的数据文件与所对应的表空间,以确认数据文件已经复制到正确的位置。85情况二:实例q首先将system表空间备份。使用下面的命令。CONNECT SYSTEM/ORCL AS SYSDBAALTER TABLESPACE system BEGIN BACKUP;HOST COPY C:ORACLEPRODUCT10.2.0ORADATAORCLSYSTEM01.DBF F:TBSBackupALTER TABLESPACE system END BA
36、CKUP;86情况二:实例q模拟系统表空间对应的数据文件损坏造成数据库关闭。q以sysdba身份登录,关闭数据库。q删除操作系统文件C:ORACLEPRODUCT10.2.0ORADATAORCLSYSTEM01.DBF SQL CONNECT SYS/ORCL AS SYSDBASQL SHUTDOWN IMMEDIATE87情况二:实例q此时,已经无法正常启动Oracle。88情况二:实例q将数据库启动到mount状态。SQL STARTUP MOUNT89情况二:实例q假设硬盘坏了,需要将数据文件拷贝到另一块磁盘,如C:DISK6ORCL。q找到数据文件的最新备份,使用下列命令将备份文件
37、拷贝至C:DISK6ORCL下。SQL HOST COPY F:TBSBackupSYSTEM01.DBF C:DISK6ORCL 90情况二:实例q此时,数据库还无法识别数据文件C:DISK6ORCLSYSTEM01.DBF,需要使用下列命令修改控制文件中的指针,即将system表空间所对应的数据文件由原来的 C:ORACLEPRODUCT10.2.0ORADATAORCLSYSTEM01.DBF 改为现在的C:DISK6ORCLSYSTEM01.DBF。SQL ALTER DATABASE RENAME FILE C:ORACLEPRODUCT10.2.0ORADATAORCLSYSTEM
38、01.DBF TO C:DISK6ORCLSYSTEM01.DBF;91情况二:实例q使用RECOVER命令对Oracle数据库进行恢复。q说明:在许多商用数据库环境中,DML操作量很大,在数据库恢复时需要许多的归档日志文件,这使得手工获取所需的归档日志文件较难,因此,一般情况下,使用自动获取,即选择“auto”。SQL RECOVER DATABASE;92情况二:实例q出现“完成介质恢复”的显示输出后,说明数据库已经成功的恢复,可以使用下面的命令将数据库由mount状态切换至open状态。SQL ALTER DATABASE OPEN;93情况二:实例q验证system表空间所对应的数据文件是否已经更改。SQL SELECT file_id,file_name,tablespace_name FROM dba_data_files;94