resetlogs设置重做日志文件,logfile:用于指定原重做日志的组号、尺寸以及对应的日志成员; Character set:设置数据库的字符集。 打开数据库:alter database open 增加临时文件
Alter tablespace temp add tempfile 路径.dbf Size 10000 reuse autoextend off;
4.4修改永久参数文件
为了修改永久参数:masdatafiles,maxlogfiles,maxlogmember,maxloghistory,必须从新建立控制文件
启动实例到nomount状态下面去 建立控制文件
Create controlfile reuse(覆盖控制文件) database demo(库名) noresetlog Maxlogfiles 10 Maxlogmembers 4 Logfile
Group 1 ‘D:\\demo\\control01.ctl’ size 10M’, Group 2 ‘D:\\demo\\control02.ctl’ size 10M’, Datafile
‘D:\\demo\\system01.dbf’, ‘d:\\demo\%undotabs.dbf’, ‘d:\\demo\\sysaux01.dbf’ Character set zhs16GBK; 打开数据库 增加临时文件
4.5修改数据库名:
修改数据库名称的方法:1使用create controlfile命令从新建立控制文件,2、实用工具dbnewid改变库名。
修改初始化参数db_name,不能使用alter system命令进行修改,所以必须建立pfile文件,修改参数,从新创建spfile文件。
1. 建立pfile文件 create pfile from spfile 2. 编辑pfile文件 initdemo.ora 3. 建立临时spfile文件
路径要写详细了 关闭数据库:
修改临时参数文件使其变为永久的,意思就是从其启动。 启动到noumount创建控制文件
4.6删除控制文件
1. 修改control_file参数(把丢失的或者损坏的控制文件删除) 2. 从新启动数据库
第5章 管理重做日志文件
重做日志文件用于记录数据库的变化,当执行dml或DDl操作时,oracle会将数据库的变化信息记载到重做日志中。
5.1重做日志的概念
1.重做日志组和重做日志成员
重做日志组由一组完全相同的重做日志文件组成,每个日志组至少要包含一个重做日志文件,如果一个日志组包含多个重做日志文件,后台进程lgwr会把相同的事务变化写入到同一个日志组的各个重做日志文件里面去。 2日志切换
日志切换手两种方式:自动和手工 手工切换:alter system switch logfile;
5.2增加重做日志
增加日志组:
Alter database add logfile group 4 ‘d:\\demo\\redo04.log’ size 10M; 增加日志成员
Alter database add logfile member ‘d:\\demo\\redo1b.log’ to group 1;
5.3删除重做日志
1删除日志成员
因为日志组包含多个日志成员,某个日志成员损坏或丢失不会对数据库的运行产生任何影响,但日志成员的损坏或者丢失的信息写蠕动跟踪文件,因为该日志成员不能使用,应该删除日志成员
Alter database drop logfile member ‘d:\\demo\\redo1b.log’; 2删除日志组
alter database drop logfile group 4;
以上面命令从逻辑上删除了日志组信息,而不会删除日志组成员的文件,其成员文件通过os命令删除。 3清除重做日志
Alter database clear logfile group 2;
5.4改变重做日志的位置和名称
1.确定日志组状态
移动日志成员时,它所对应的日志组不能处于current状态。确定日志组状态。
Select a.group ,a.status from v$log a, V$logfile b where a.group=b.group and b.member=’d:\\demo\\red02b.log’; 2复制或移动日志成员到目标位置
Host copy d:\\demo\\redo2b.log f:\\demo\\redo2b.log 3改变控制文件所记载的重做日志指针
Alter database rename file d:\\demo\\redo2b.log to f:\\demo\\redo2b.log
第6章 管理归档日志
归档日志是非活动重做日志的备份,通过使用归档日志,可以保留所有的重做历史记录。当数据库处于archivelog模式并进行日志切换时,后台进行arch会将重做日志的内容保存到归档日志中,当数据库出现介质失败时,使用数据文件备份、归档日志、和重做日志可以完全恢复数据库。
日志归档模式有两种。
Noarchivelog:不归档模式,是指不保留重做历史的日志操作模式,在后期恢复数据库恢复不到想要的时间点,日志文件会被覆盖。
特点:后台进程lgwr可以覆盖原有的重做日志内容。 数据库文件损坏时只能恢复到过去完全备份的时间点。 执行数据库备份必须使用 shutdwon noraml或者shutdwon immmediate 执行数据库备份时,必须备份所有的数据文件和控制文件 Archivelog:
可以防止丢失数据
当数据库处于open状态时可以备份数据库并且不会影响数据库的正常使用。
出现数据文件损坏的时候,除了system表空间数据文件外,其它表空间数据都可以在open状态下恢复
执行数据恢复时候,不紧可以执行完全恢复,而且可以将数据库恢复到特定点。 选择日志操作模式
数据库允许丢失部分数据,采用noarchivelog模式,不允许采用archivelog模式 数据库变化小,采用noarchivelog模式,否则采用archivelog模式 数据库全时运行采用archivelog模式
6.1控制归档
l 改变日志操作模式
为了防止物理损坏导致丢失数据库数据,应将数据库改变为 ARCHIvELoG 模式。改变日志操作模式时,必须以 SySDBA 或 SYSOPER 身份执行相应操作。具体步骤如下: 〔 l )检查当前日志操作模式。在改变日志操作模式之前, DBA 应首先检查当前日志操作模式。通过查询动态性能视图 V $ DATABASE ,可以确定当前日志操作模式。示例如下: Select log_mode from v$database;
( 2 )关闭数据库,然后装载数据库。改变日志操作模式只能在mount状态下进行,因此必须首先关闭数据库,然后重新装载数据库。需要注意,如果要改变日志操作模式,那么在关闭数据库时不能使用 shutdown abort命令。示例如下: SQL > shutdown immediater SQL > startup mount
( 3 )改变口志操作模式,然后打开数据库。将数据库转变为mount状态后,就可以改变日志操作模式了。改变了日志操作模式后,打开数据库。示例如下: Alter databse archivelog; alter database open ; 2 .执行手工归档从 oracle Databaso 10g 开始,当将日志操作模式转变为 ARcHIVELOG 模式时, oracl会自动启动 ARCH 进程。如果要使用手工归档,那么在改变口志操作模式时必须使用命令 ALTER DATABASE ARCHIVELOG MANUAL 。需要注意,使用手工归档方式时,数据库管理员必须手工执行归档命令,如果没有执行手工归档命令,日志组的原有内容将不能被授盖。 ALTER DATABASE ARcHIVELOGM MANUAL 命令是为了与先前版本兼容而保留的,将来的 Oracle 版本会淘汰该命令。使用手工归档方式时,数据库管理员可以执行以下命令归档重做日志: SQL > alter system archivelog all;
3 .配置归档进程初始化参数log_archive_max_processes用于指定例程初始启动的最大归档进程个数。当将数据库转变为 ARCHIVELOG 模式时,默认情况下 Oracle 会自动启动两个归档进程。通过改变初始化参数的log_archive_max_processes值,数据库管理员可以动态地增加或降低归档进程的个数。示例如下: Alter system set log_archive_max_processes=3;
6.2配置归档位置和文件格式
当数据库处于archivelog模式时,如果进行日志切换,后台进程将自动生成归档日志文件,归档日志文件的名称%oracle_home%\\rdnms。 1配置归档文件格式
初始化参数log_archive_format用于指定归档日志的文件名格式。 %s:日志序列号
%S:日志序列号(带有前导0) %t:重做线程编号
%T:重做线程编号(带有前导0) %a:活动ID号 %d:数据库ID号
相关推荐: