版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、2,第,6,章,管理控制文件和日志文件,本章要点:,?,了解控制文件的作用。,?,掌握创建控制文件的步骤。,?,了解控制文件的备份与恢复。,?,掌握如何移动与删除控制文件。,?,了解日志文件的作用。,?,掌握日志文件组及其成员的创建与管理。,?,理解数据库的运行模式。,?,了解归档模式与非归档模式的区别。,?,掌握如何设置数据库归档模式和归档目标。,?,3,6.1,管理控制文件,?,控制文件对于,Oracle,数据库系统来说相当重要,,它存放有数据库中数据文件和日志文件的信息。,?,在创建数据库时,,Oracle,会自动创建控制文件。,?,在实际应用中,由于各种原因可能会导致控制,文件受损,所
2、以数据库管理员需要掌握如何管,理控制文件,包括创建、备份、恢复、移动和,删除控制文件等。,4,6.1.1,创建控制文件,?,CREATE CONTROLFILE REUSE DATABASE database_name,?, RESETLOGS | NORESETLOGS ,?, ARCHIVELOG | NOARCHIVELOG ,?,MAXLOGFILES number,?,MAXLOGMEMBERS number,?,MAXDATAFILES number,?,MAXINSTANCES number,?,MAXLOGHISTORY number,?,LOGFILE,?,GROUP gro
3、up_number logfile_name SIZE number K | M ,?, , . ,?,DATAFILE,?,datafile_name , . ;,?,创建控制文件需要使用,CREATE CONTROLFILE,语句,其语法,如下:,5,6.1.1,创建控制文件,?,database_name,:数据库名。,?,RESETLOGS | NORESETLOGS,:表示是否清空日志。,?,ARCHIVELOG | NOARCHIVELOG,:表示日志是否归档。,?,MAXLOGFILES number,:表示最大的日志文件个数。,?,MAXLOGMEMBERS number,:表
4、示日志文件组中最大的成员个数。,?,MAXDATAFILES number,:表示最大的数据文件个数。,?,MAXINSTANCES number,:表示最大的实例个数。,?,MAXLOGHISTORY number,:表示最大的历史日志文件个数。,?,LOGFILE,:为控制文件指定日志文件组。,?,GROUP group_number logfile_name,:表示日志文件组编号。,?,DATAFILE,:为控制文件指定数据文件。,?,语法说明如下:,6,6.1.1,创建控制文件,?,【例,6.1,】,为当前数据库,orcl,创建新的控制文件,my_controlfile,,步骤如下。,
5、?,(1),查询数据字典,v$logfile,,了解当前数据库,orcl,中的日志文,件信息,如下:,?,SQL SELECT group#, member FROM v$logfile;,?,其中,,group#,表示日志文件组编号,,member,表示日志文件组中的,成员。,7,6.1.1,创建控制文件,?,查询数据字典,v$datafile,,了解当前数据库,orcl,中的数据文件信息,如,下:,?,SQL SELECT name FROM v$datafile;,8,6.1.1,创建控制文件,?,(2),使用管理员身份执行,SHUTDOWN IMMEDIATE,命令关闭数,据库(此时未
6、提交的事务全部回退,连接中断后关闭数据库),,如下:,?,SQL CONNECT sys/manager AS SYSDBA,?,已连接。,?,SQL SHUTDOWN IMMEDIATE,?,数据库已经关闭。,?,已经卸载数据库。,?,ORACLE,例程已经关闭。,?,(3),为了确保数据库数据的安全,应该在操作系统中对数据,库的日志文件与数据文件进行备份。,?,9,6.1.1,创建控制文件,?,(4),使用,STARTUP NOMOUNT,命令启动数据库,此时仅仅只,是启动数据库,而不会加载数据库文件,也不会打开数据库。,如下:,?,SQL STARTUP NOMOUNT,10,6.1.1
7、,创建控制文件,?,(5),使用,CREATE CONTROLFILE,语句创建新的控制文件,,在创建时需要使用,LOGFILE,子句指定与数据库,orcl,相关的日,志文件,使用,DATAFILE,子句指定与数据库,orcl,相关的数据,文件,如下:,?,SQL CREATE CONTROLFILE REUSE DATABASE orcl,?,NORESETLOGS,?,NOARCHIVELOG,?,MAXLOGFILES 50,?,MAXLOGMEMBERS 3,?,MAXDATAFILES 50,?,MAXINSTANCES 5,?,MAXLOGHISTORY 449,11,6.1.1,
8、创建控制文件,?,LOGFILE,?,?,?,GROUP 1 C:appAdministratororadataorclredo01.log SIZE 50M,GROUP 2 C:appAdministratororadataorclredo02.log SIZE 50M,GROUP 3 C:appAdministratororadataorclredo03.log SIZE 50M,?,DATAFILE,?,C:appAdministratororadataorclsystem01.dbf,?,C:appAdministratororadataorclsysaux01.dbf,?,C:app
9、Administratororadataorcl%undotbs01.dbf,?,C:appAdministratororadataorcl%users01.dbf,?,C:appAdministratororadataorclmyspace.dbf,?,C:appAdministratororadataorclbookspace.dbf,?,C:appAdministratororadataorclbookundo.dbf;,?,控制文件已经创建。,12,6.1.1,创建控制文件,?,(6),新的控制文件创建好后,还需要设置服务器参数文件,SPFILE,中的,control_files,参数
10、的值为新建的控制文件,让新的,控制文件生效。,?,新创建的控制文件可以通过数据字典,v$constrolfile,来查询,如下:,?,SQL SELECT name FROM v$consrolfile;,13,6.1.1,创建控制文件,?,使用,ALTER SYSTEM,语句修改,control_files,参数的值,如下:,?,SQL ALTER SYSTEM SET control_files =,?,C:appAdministratororadataorclcontrol01.ctl,?,C:appAdministratororadataorclcontrol02.ctl,?,C:ap
11、pAdministratororadataorclcontrol03.ctl,?,SPACE = SPFILE;,?,系统已更改。,?,(7),打开数据库,如下:,?,SQL ALTER DATABASE OPEN ;,?,数据库已更改。,?,如果在创建控制文件时使用了,RESETLOGS,选项,则在打开数,据库时也必须使用,RESETLOGS,选项,语句如下:,?,ALTER DATABASE OPEN RESETLOGS ;,14,6.1.2,备份控制文件,?,为了防止控制文件出现故障,,DBA,应该经常及时地备,份控制文件。备份控制文件有两种方式:备份为二进,制文件、备份为脚本文件。,1
12、5,6.1.2,备份控制文件,?,1,备份为二进制文件,?,备份为二进制文件,实际上就是复制控制文件。,?,【例,6.2,】,将,orcl,数据库的控制文件备份为二进制文件,如下:,?,SQL ALTER DATABASE BACKUP CONTROLFILE TO,F:oraclefileorcl_control_090925.bkp ;,?,数据库已更改。,?,上述示例在,F:oraclefile,目录下生成,orcl,数据库的备份文件,orcl_control_090925.bkp,。,16,6.1.2,备份控制文件,?,备份为脚本文件,实际上也就是生成创建控制文件的,SQL,脚,本。,
13、?,【例,6.3,】,将,orcl,数据库的控制文件备份为脚本文件,如下:,?,SQL ALTER DATABASE BACKUP CONTROLFILE TO TRACE ;,?,数据库已更改。,?,2,备份为脚本文件,?,生成的脚本文件将自动存放到系统定义的目录中,并由系统,自动命名。该目录由参数,user_dump_dest,指定,可以使用,SHOW PARAMETER,命令查看该参数的值。,?,SQL SHOW PARAMETER user_dump_dest;,17,6.1.3,恢复控制文件,?,如果控制文件受损,就可以使用控制文件的备份文件,对其进行恢复。,?,【例,6.4,】,恢
14、复数据库控制文件。步骤如下。,?,(1),使用,SHUTDOWN IMMEDIATE,命令关闭数据库。,?,SQL CONNECT sys/manager AS SYSDBA,?,已连接。,?,SQL SHUTDOWN IMMEDIATE,?,数据库已经关闭。,?,已经卸载数据库。,?,ORACLE,例程已经关闭。,?,(2),在操作系统中使用完好的控制文件副本覆盖损坏的控制,文件。,18,6.1.3,恢复控制文件,?,(3),使用,STARTUP,命令启动并打开数据库。执行,STARTUP,命令时,数据库以正常方式启动数据库实例,加载数据库文,件,并且打开数据库。,?,SQL STARTUP
15、,19,6.1.4,移动与删除控制文件,?,特殊情况下,需要移动控制文件,例如保存控制文件的磁盘等,介质受到损坏。,?,【例,6.5,】,移动数据库控制文件。步骤如下。,?,(1),在新的磁盘路径下存放控制文件。,?,(2),使用,ALTER SYSTEM,语句,修改服务器参数文件,SPFILE,中的,control_files,参数的值为新路径下的控制文件。,?,(3),使用,SHUTDOWN IMMEDIATE,命令关闭数据库。,?,(4),使用,STARTUP,命令启动并打开数据库。,?,如果需要删除某个控制文件,也可以采用类似步骤,删除时只,需要在步骤,2,中,修改,control_f
16、iles,参数的值,让其值不再包含,需要删除的控制文件,此时控制文件不再与数据库关联,但若,要彻底删除该文件,需要在操作系统中进行删除。,20,6.2,管理日志文件,?,日志文件主要记录了数据库中的修改信息,它对数据,库的恢复至关重要。一般情况下,,Oracle,数据库实例,创建完后就会自动创建,3,组日志文件,数据库管理员可,以根据需要向数据库中添加更多的日志文件组。,?,本节将介绍如何管理数据库中的日志文件。,21,6.2.1,创建日志文件组及其成员,?,创建日志文件组的语法如下:,?,ALTER DATABASE ADD LOGFILE GROUP group_number ,?,( f
17、ile_name , . ) SIZE number K | M REUSE ;,?,1,创建日志文件组,?,语法说明如下。,?,GROUP group_number,:为日志文件组指定组编号。,?,file_name,:为该组创建日志文件成员。,?,SIZE number,:指定日志文件成员的大小。,?,REUSE,:如果创建的日志文件成员已存在,可以使用,REUSE,关键,字覆盖已存在的文件。但是该文件不能已经属于其他日志文件组,,否则无法替换。,22,6.2.1,创建日志文件组及其成员,?,SQL ALTER DATABASE ADD LOGFILE GROUP 4,?,(,?,C:ap
18、pAdministratororadataorclredo04.log,?,C:appAdministratororadataorclredo05.log,?,),?,SIZE 5M;,?,数据库已更改,?,例,6.6,创建日志文件组,4,,如下:,?,上述示例为当前数据库创建了日志文件组,4,,在该组中创建了,两个日志文件成员:,redo04.log,和,redo05.log,,他们都在,C:appAdministratororadataorcl,目录下,大小为,5MB,。,23,6.2.1,创建日志文件组及其成员,?,向日志文件组添加新的日志文件成员,同样需要使用,ALTER,DATABA
19、SE,语句,其语法如下:,?,ALTER DATABASE ADD LOGFILE MEMBER,?,file_name TO GROUP group_number,?, , . ;,?,2,向日志文件组添加日志文件成员,24,6.2.1,创建日志文件组及其成员,?,SQL ALTER DATABASE ADD LOGFILE MEMBER,?,C:appAdministratororadataorclredo06.log TO GROUP 3,?,C:appAdministratororadataorclredo07.log TO GROUP 4;,?,例,6.7,向日志文件组,3,和,4,
20、添加日志文件,如下:,?,查询数据字典,v$logfile,,观察日志文件是否创建成功,以及日,志文件组中是否添加了新的日志文件成员,如下:,?,SQL SELECT group#, member FROM v$logfile;,25,6.2.2,修改日志文件,?,需要的时候可以修改日志文件的名称,(,包含路径,),,这,需要使用,ALTER DATABASE RENAME FILE,语句,,其语法形式如下:,?,ALTER DATABASE RENAME FILE file_name TO,new_file_name ;,26,6.2.2,修改日志文件,?,【例,6.8,】,修改,E:APP
21、ADMINISTRATORORADATAORCL,路径下,的,redo07.log,文件的名称与路径,步骤如下。,?,(1),使用,SHUTDOWN,命令关闭数据库。使用此命令关闭数,据库时,数据库需要等待所有客户端从,Oracle,中正常退出,,然后才可以关闭。,?,SQL CONNECT sys/manager AS SYSDBA,?,已连接。,?,SQL SHUTDOWN IMMEDIATE,?,数据库已经关闭。,?,已经卸载数据库。,?,ORACLE,例程已经关闭。,27,6.2.2,修改日志文件,?,(2),使用,STARTUP MOUNT,命令启动数据库。使用该命令时,,将启动数据
22、库实例,而且加载数据库文件,但是不打开数据,库。,?,SQL STARTUP MOUNT,?,(3),在操作系统中修改,redo07.log,文件的路径或名称。可以直,接修改文件的名称,也可以复制该文件,为该文件设置新的,存储目录和名称。本示例中复制,redo07.log,文件到同一目录,,并修改新文件的名称为,redo07_new.log,。,?,(4),使用,ALTER DATABASE RENAME FILE,语句修改日志,文件,如下:,?,SQL ALTER DATABASE RENAME FILE,C:appAdministratororadataorclredo07.log TO,
23、C:appAdministratororadataorclredo07_NEW.log,?,数据库已更改,28,6.2.2,修改日志文件,?,(5),使用,ALTER DATABASE OPEN,语句打开数据库。,?,SQL ALTER DATABASE OPEN;,?,通过上述步骤,已经修改了日志文件,redo07.log,的名称,下,面查询数据字典表,v$logfile,,观察修改后的结果。,?,SQL SELECT group#, member FROM v$logfile;,29,6.2.3,切换日志文件组,?,日志文件组是循环使用的,当一组日志文件被写满时,,Oracle,系统自动切
24、换到下一组日志文件。,?,在需要的时候,数据库管理员也可以手动切换日志文,件组。切换日志文件组需要使用如下语句:,?,ALTER SYSTEM SWITCH LOGFILE ;,30,6.2.3,切换日志文件组,?,【例,6.9,】,手动切换当前数据库的日志文件组。在切换之前,先,通过数据字典,v$log,查询当前数据库正在使用哪个日志文件组,,如下:,?,SQL SELECT group# , status FROM v$log ;,?,GROUP#,STATUS,?,-,-,?,1,CURRENT,?,2,INACTIVE,?,3,INACTIVE,?,4,UNUSED,?,其中,,sta
25、tus,表示日志文件组的当前使用状态,其值可为,ACTIVE(,活动状态,归档未完成,),、,CURRENT(,正在使用,),、,INACTIVE(,非活动状态,),和,UNUSED(,从未使用,),。,31,6.2.3,切换日志文件组,?,从查询结果看出,数据库当前正在使用日志文件组,1,。切换日,志文件组,如下:,?,SQL ALTER SYSTEM SWITCH LOGFILE;,?,系统已更改。,?,再次查询数据字典,v$log,,查看切换日志文件组后当前数据库正,在使用的日志文件组,如下:,?,SQL SELECT group#, status FROM v$log;,32,6.2.
26、4,清空日志文件组,?,清空日志文件组需要使用,ALTER DATABASE,语句,,其语法如下:,?,ALTER DATABASE CLEAR LOGFILE GROUP,group_number ;,?,另外,清空日志文件组需要注意如下两点:,?,被清空的日志文件组不能处于,CURRENT,状态,也就是说不,能清空数据库当前正在使用的日志文件组。,?,当数据库中只有两个日志文件组时,不能清空日志文件组。,33,6.2.4,清空日志文件组,?,SQL ALTER DATAVASE CLEAR LOGFILE GROUP4;,?,数据库已更改。,?,例,6.10,清空日志文件组,4,,如下:,
27、?,如果日志文件组正处于,ACTIVE,状态,则说明该日志文,件组尚未归档,此时如果想清空该日志文件组,应该,在清空的语句中,UNARCHIVED,关键字,语句形式如下,:,?,ALTER,DATABASE CLEAR UNARCHIVED GROUP,group_number;,34,6.2.5,删除日志文件组及其成员,?,如果日志文件组中的日志文件受损无法再使用,,DBA,可以删除该文件,如果整个日志文件组都不需要再使,用,也可以删除整个日志文件组。,35,6.2.5,删除日志文件组及其成员,?,删除日志文件的语法如下:,?,ALTER DATABASE DROP LOGFILE MEMB
28、ER,logfile_name ;,?,删除日志文件需要注意如下几点:,?,该日志文件所在的日志文件组不能处于,CURRENT,状态。,?,该日志文件所在的日志文件组中必须还包含有其他日志,成员。,?,如果数据库运行在归档模式下,则应该在删除日志文件,之前,确定它所在的日志文件组已经被归档,否则会导,致数据丢失。,?,1,删除日志文件,36,6.2.5,删除日志文件组及其成员,?,例,6.11,删除日志文件,redo07_new.log,,如下:,?,SQL ALTER DATABASE DROP LOGFILE MEMBER,C:appAdministratororadataorclredo
29、07_NEW.log ;,?,数据库已更改。,37,6.2.5,删除日志文件组及其成员,?,删除日志文件组的语法如下:,?,ALTER DATABASE DROP LOGFILE GROUP,group_number ;,?,删除日志文件组需要注意如下几点:,?,一个数据库至少需要两个日志文件组。,?,日志文件组不能处于,CURRENT,状态。,?,如果数据库运行在归档模式下,应该确定该日志文件组,已经被归档。,?,2,删除日志文件组,?,例,6.12,删除日志文件组,4,,如下:,?,SQL ALTER DATABASE DROP LOGFILE GROUP 4;,38,6.3,管理归档日志
30、,?,Oracle,数据库有两种日志模式:非归档日志模式,(NOARCHIVELOG),和归档日志模式,(ARCHIVELOG),。,?,在非归档日志模式下,如果发生日志切换,则日志文,件中原有内容将被新的内容覆盖;,?,在归档日志模式下,如果发生日志切换,则,Oracle,系,统会将日志文件通过复制保存到指定的地方,这个过,程叫“归档”,复制保存下来的日志文件叫“归档日,志”,然后才允许向文件中写入新的日志内容。,39,6.3.1,设置数据库模式,?,安装,Oracle 11g,时,默认设置数据库运行于非归档模,式,这样可以缩短数据库的创建时间。在数据库成功,运行后,数据库管理员可以根据需要
31、修改数据库的运,行模式。,?,如果要修改数据库的运行模式,可以使用如下语句:,?,ALTER DATABASE ARCHIVELOG |,NOARCHIVELOG ;,?,其中,,ARCHIVELOG,表示归档模式;,NOARCHIVELOG,表示非归档模式。,40,6.3.1,设置数据库模式,?,【例,6.13,】,用管理员身份修改当前数据库的运行模式。,修改前也通过,ARCHIVE LOG LIST,命令查看当前数据,库的运行模式,如下:,?,SQL CONNECT sys/manager AS SYSDBA,?,已连接。,?,SQL ARCHIVE LOG LIST ;,?,数据库日志模
32、式,非存档模式,?,自动存档,禁用,?,存档终点,USE_DB_RECOVERY_FILE_DEST,?,最早的联机日志序列,7,?,当前日志序列,10,41,6.3.1,设置数据库模式,?,从查询结果可以看出,数据库当前运行在非归档模式,下。通过下面的步骤可以修改数据库的运行模式。,?,(1),使用,SHUTDOWN,命令关闭数据库。,?,SQL SHUTDOWN,?,数据库已经关闭。,?,已经卸载数据库。,?,ORACLE,例程已经关闭。,?,(2),使用,START MOUNT,命令启动数据库,?,SQL START MOUNT,42,6.3.1,设置数据库模式,?,(3),修改数据库的
33、运行模式,如下:,?,SQL ALTER DATABASE ARCHIVELOG;,?,数据库已更改。,?,(4),使用,ALTER DATABASE OPEN,语句打开数据库,?,SQL ALTER DATABASE OPEN;,?,再次使用,ARCHIVE LOG LIST,命令查看当前数据库的,运行模式,观察是否修改成功,如下:,?,SQL ARCHIVE LOG LIST ;,?,数据库日志模式,非存档模式,?,自动存档,禁用,?,存档终点,USE_DB_RECOVERY_FILE_DEST,?,最早的联机日志序列,7,?,当前日志序列,10,43,6.3.2,设置归档目标,?,归档目标就是指存放归档日志文件的目录。一个数据,库可以有多个归档目标。在创建数据库时,默认设置,了归档目标,可以通过,db_recovery_file_dest,参数查,看,如下:,?,SQL SHOW PARAMETER db_recovery_file_d
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年兰州航空职业技术学院单招职业技能测试题库附参考答案详解(综合卷)
- 2026年包头铁道职业技术学院单招职业倾向性测试题库附参考答案详解(完整版)
- 2026年内蒙古科技职业学院单招综合素质考试题库及完整答案详解一套
- 2026年内蒙古锡林郭勒盟单招职业倾向性测试题库带答案详解(完整版)
- 云南省安宁市实验石江学校2026年高三下学期第七次月考物理试题试卷含解析
- 内蒙古呼和浩特市金山学校2026届高三下期中生物试题试卷含解析
- 2026年山东省潍坊市诸城一中高三期末热身联考物理试题含解析
- 重庆市第四十二中学2025-2026学年高三“二诊”考试物理试题含解析
- 2025 九年级道德与法治下册世界文化多样性认知课件
- 2025福建泉州市南安市国有企业招聘54人(第二批)笔试参考题库附带答案详解
- 学习走好中国特色金融发展之路建设金融强国心得体会、交流研讨
- 医院精神科患者风险评估标准
- 5.1《四大地理区域的划分》教案-2025-2026学年湘教版地理八年级下册
- 人间充质干细胞来源的小细胞外囊泡
- 黄原胶的课件
- 雨课堂学堂在线学堂云国际关系:理论与实践西安外国语大学单元测试考核答案
- 《3D打印材料光固化树脂标准》编制说明
- 个人投资业务管理办法
- 空调延长质保协议书
- 2024-2025统编版初中语文八年级上册期末考试测试卷及参考答案(共3套)
- 仓库转正述职报告
评论
0/150
提交评论