oracle数据库迁移redo log的方式有哪些

oracle数据库迁移redo log的方式有哪些,第1张

1最简单的是,先删除1个日志,然后在新的路径下创建一个日志,直到所有的日志都重新创建完成即可完成迁移。删除前先备份。

2再有一个方法,先关闭数据,把日志拷贝新的位置,然后修改初始化参数,再启动数据库。(推荐这种方法,因为能保留重做信息)

第二种方法的实施步骤(仅供参考)

1

关闭数据库,shutdown

immediate;

2

把日志拷贝到新的位置

3

启动数据库到mount状态,startup

mount;

4

修改初始化参数,Alter

database

rename

file

‘c:\test\redo01log’

to

‘d:\test\redo01log’;

5

启动数据库,alter

database

open;

1关闭数据库shutdown

2使用os 命令将redo log files 拷贝到新的位置

mv /u01/app/oracle/oradata/MYNEWDB/onlinelog/o1_mf_1_89y70t1b_log /home/o1_mf_1_89y70t1b_testlog

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_testlog';

5打开数据库

alter database open;

6确认是否已经切换到新的位置

SQL select from v$logfile;

rows will be truncated

GROUP# STATUS TYPE MEMBER

如果在对数据库进行 *** 作的时候,一般情况写是将数据拿到缓冲区中进行 *** 作,除非你修改一条记录就commit一次,那么如果出现问题,那么缓冲区的数据还在,包括已经修改的数据和没有修改的数据。这样,如果贸然的commit,那么没有修改的数据也会提交到数据库中,这样就出现了错误数据。redo一次就是不管是否修改的数据都重新修改一次,直到没有故障发生时才commit。

个人意见,仅供参考

严重鄙视写代码不带注释

不那么明显的影响是, 由于频繁的io,会潜在的使数据库变慢。

明显的影响是,比如说你只有2组redo。第一组写满了,写第二组。但这时第一组的状态仍然是active的,要等到第一组redo里面记录的 *** 作全都提交了,才会变成inactive的。如果还有未提交的数据,那么第一组redo是不能被覆盖的。然后呢。。。 如果第二组日志这时也写满了,又不能去覆盖第一组,那么所有的数据库 *** 作都会hang在那里。你的客户如果耐心不好,就要砸电脑了。

夸张的影响是,如果你的数据库hang在那里的时候,发生了什么特殊的问题,导致系统进程出了故障,crash也不是不可能的。

以上就是关于oracle数据库迁移redo log的方式有哪些全部的内容,包括:oracle数据库迁移redo log的方式有哪些、如何重新配置redo log的位置、书上说:“数据库所做的修改在故障发生时可能还在缓冲区,尚未写进数据库,所以要redo”如何理解等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/sjk/9466739.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-28
下一篇 2023-04-28

发表评论

登录后才能评论

评论列表(0条)

保存