
方案1:停止数据库实例迁移redo log
a、查询数据redo log
b、关闭数据库
c、拷贝redo log到新的存储路径
d、将数据库启动到mount状态
e、重命名redo log成员
f、打开数据库
g、检查确认日志迁移成功
方案2:在线迁移redo log
a、查询当前redo log组
b、添加新的redo log组
c、查看添加新日志组后的日志情况
d、删除旧的日志组
e、检查迁移后的redo log
f、检查之前的redo log文件是否已经成功删除,没有删除可以手动删除
还有以下Oracle数据库方面的知识可以去OTPUB网站进行进一步的了解。
你好,方法如下:
关闭数据库shutdown
2.使用os 命令将redo log files 拷贝到新的位置
mv /u01/app/oracle/oradata/MYNEWDB/onlinelog/o1_mf_1_89y70t1b_.log /home/o1_mf_1_89y70t1b_test.log
3.启动数据库,只装载,不打开。
CONNECT / as SYSDBA
STARTUP MOUNT
4.重命名redo log member
ALTER DATABASE RENAME FILE '/u01/app/oracle/oradata/MYNEWDB/onlinelog/o1_mf_1_89y70t1b_.log' TO '/home/o1_mf_1_89y70t1b_test.log'
5.打开数据库
alter database open
6.确认是否已经切换到新的位置
SQL select * from v$logfile
rows will be truncated
GROUP# STATUS TYPE MEMBER
希望能帮到你。
一、Rodo Log性能调整目标:在能够影响Oracle性能的诸多因素中,Redo
Log相关的因素从某种程度上可以说是最为重要同时也是最值得关注的。因为在一个OLTP系统中Oracle通过各种技术以及优良的设计,尽量做到将大部分 *** 作在内存中完成,以便最大程度的提升性能。因此在Oracle的诸多后台进程以及用户进程的大部分 *** 作都是内存 *** 作,而且这些 *** 作会通过延迟写入技术尽可能的将磁盘I/O *** 作滞后。但是在这些 *** 作中却有某些例外,其中最明显的就是针对Redo
Log的 *** 作。
在Oracle中针对Redo
Log的 *** 作主要由LGWR进程完成,这个进程可以说是Oracle所有后台进程中最繁忙的进程,而且这个进程可能要频繁的进行I/O *** 作,这是因为Oracle出于数据安全的考虑必须保证联机在线重做日志可靠的写入日志文件,以便在发生崩溃时能够有效恢复数据,而真正的数据可能会等一些时间延迟写入数据文件。这种特点在Oracle的各个后台进程中显得有些独树一帜。另外LGWR全局唯一,即一个实例只能有一个活动的LGWR进程,由于要进行频繁的I/O *** 作可想而知是很容易造成LGWR进程竞争的。由于LGWR在Oracle实例结构设计中的特殊地位,一旦出现LGWR性能瓶颈,那么对整个系统的性能影响将会是极为严重的,同时对数据安全也是一个潜在的威胁。
因此作为Oracle日常的数据库管理,我们要给与这部分相当的关注,尽早发现问题,尽早作出调整。调整的目标就是要做到Log_Buffer大小适中(不要过大,也不能太小),要满足用户进程的使用需要,每当系统负载有一个明显的增加时,就应该考虑调整它的大小。比如因为业务拓展当前系统固定用户数量从1万人猛增到3万人,那么就应该对Log_Buffer大小给与关注。另外就是要做到日志文件的大小适中,日志组的日志文件数量合适,不能影响LGWR写日志文件的性能,不能造成日志文件间的写入竞争,不能在日志切换归档发生时引发磁盘竞争等等。
二、监控与问题排查:
在进行Redo
Log问题监控时,主要关注两个方面:日志缓冲区空间使用的等待情况和日志缓冲区数据槽的分配情况。通过这两方面的监控并配合一些问题排查手段,通常可以发现大量问题。
(1)日志缓冲区空间使用的等待情况:
可以通过查询v$session_wait来监控日志缓冲区空间使用的等待情况,通过如下SQL语句进行查询:
select sid,event,seconds_in_wait,state
from v$session_wait
where
event='log buffer space%'
以上的查询中可以通过观察seconds_in_wait的数值来分析问题,这个数值可以显示如下问题:日志切换缓慢引发的等待、LGWR写入缓慢引发的等待、日志文件写入引起的磁盘竞争引发的等待。
这些等待的发生可能是由于如下问题引起的:
1、日志文件写入时存在磁盘竞争:
这种情况多见于日志切换发生时,由于日志文件组的规划不当,或者存放日志文件的磁盘写入速度缓慢,或者是因为磁盘RADI类型不当都会引发这个问题,如果怀疑村在这些情况,可以通过如下语句进行监控:
select event,total_waits,time_waited,average_wait
from
v$system_event
where event like 'log file switch
completion%'
可以通过观察total_waits,time_waited,average_wait数值来分析问题,如果这些值过高(注意何谓“过高”,不同系统考量标准不一样,要具体分析),那么说明存在以上问题。此时可以通过如下措施解决:
● 将同一日志文件组的各个成员分配到不同的磁盘上,进而减少日志写入以及日志切换和日志归档时引发的竞争;
● 将日志文件尽可能存放在快速的磁盘上;
● 要合理选择RADI类型对磁盘进行条带化,通常不要选择RADI5来作为日志文件磁盘的RADI类型,通常推荐使用RADI10;
● 可以增加REDO LOG文件大小,来延缓日志切换,下面是一个增加日志文件大小的方法;
假如原来有3个小的redo log file,下面是UNIX环境下的一个例子:
第一步:往数据库添加三个大的redo logfile
SVRMGRL>ALTER DATABASE ADD LOGFILE GROUP
4
('/opt/oradata/app/redo04.log',
'/ora_bak/oradata2/redolog/redo04.log')
size 16M reuse
SVRMGRL>ALTER DATABASE ADD LOGFILE GROUP
5
('/opt/oradata/app/redo05.log',
'/ora_bak/oradata2/redolog/redo05.log')
size 16M reuse
SVRMGRL>ALTER DATABASE ADD LOGFILE GROUP
6
('/opt/oradata/app/redo06.log',
'/ora_bak/oradata2/redolog/redo06.log')
size 16M reuse
第二步: 手工地做log switch,使新建的redo logfile起作用
SVRMGRL>alter system switch logfile
此 *** 作可以执行一到几次,使旧的redo logfile成invalid状态。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)