仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 867|回复: 8
打印 上一主题 下一主题

[学习教程] MYSQL编程:Oracle的Archive Log形式下的恢停工作

[复制链接]
精灵巫婆 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-16 22:44:30 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
尽管MySQL也有一个认证培训项目,但是它的培训却要比Oracle或MS-SQL相差很远。尽管有的使用MySQL的用户表示,MySQL很容易上手,但是对于具有企业级数据库需求的用户来说,oracle|恢复进修并测试了一下Oracle数据库在开启ArchiveLog形式下的恢复.
  
 体系是Win2KServer+Oracle8.1.7.
  
 参考了Chinaunix.net和ITPub.com网站相干材料.在此感激给我的匡助.
  
 注重,养成一个好的习气十分主要.在入手下手恢复之前,和恢复完成后,都要做一个体系全备份.
  
 起首,要开启ArchiveLog回档日记形式
  
 1.封闭数据库
  
 2.修正initSID.ora文件.这个文件一般在$ORACLE_HOME/admin/$ORACLE_SID目次下或是在$ORACLE_HOME/database目次下.
  
  log_archive_start=true
  log_archive_dest_1="location=F:oraclearchive"
  log_archive_format="ORA_%S.arc"
  
 注重一般Windows版和Unix/Linux版的一些参数写法有差别,请参照各自版本的手艺文档.
  
 3.启动数据库到mount形态
  
  startupmount
  
 如许加载了数据库文件,可是不翻开数据库.
  
 4.反省以后的ArchiveLog回档日记形式
  
  archiveloglist
  
 显现的信息是:
  
  Databaselogmode       NoArchiveMode
  Automaticarchival      Disabled
  
 这时候用上面的命令开启数据库的ArchiveLog形式
  
  alterdatabasearchivelog
  
 再次用"archiveloglist"显现信息,应当是:
  
  Databaselogmode       ArchiveMode
  Automaticarchival      Enabled
  
 再用命令alterdatabaseopen来翻开数据库.
  
 下面的事情完了今后,然后,我们能够来举行测试了.
  
 在测试之前,我们来熟习一下这个回档日记ArchiveLog是甚么样的.
  
 经由过程Sqlplus或Svrmgrl以sysdba身份毗连到数据库,实行"altersystemswitchlogfile;"在我们指定的F:oraclearchive目次下就能够看到回档日记了.
  
 文件名是我们指定的形同"ORA_0379.arc",个中0379是Oracle主动取的序号.在我们做
  
 最初,我们要来测试回档形式下的备份恢复有甚么纷歧样.
  
 在非回档形式下,我们一样平常天天做一次数据库备份(冷备份和热备份的不同仅在于备份时数据库是封闭的仍是开启的).如许,我们就具有了天天一个的备份点,换句话说,我们能够在数据库溃散的情形下,经由过程备份介质,将数据库恢复到某一个备份点上.
  
 可是不言而喻,如许的备份和恢复是不完整的,我们关于两个备份点之间的数据是没法恢复的.
  
 而在开启了回档形式的情形下,情形纷歧样了.一切体系的REDO_log重做日记中提交的操纵,均会在重做日记反复使用前被保留为回档日记保留上去,也就是说,一切用户关于数据库的每个操纵都被纪录在案.如许.在保持我们本来的数据库备份企图的情形下,除天天一个备份点以外,我们还具有了没两个备份点之间的一切汗青操纵纪录.
  
 如许,分离天天的数据库备份和回档日记和在线重做日记,我们能够将数据库准确恢复到数据库溃散前的那一时候,不会无数据丧失的情形产生.
  
 固然,如许的条件是,数据库备份和回档日记不克不及同时破坏或丧失.
  
 我们假定的情况是
  
  >>假定有3个硬盘,C,D,E,体系在C盘,数据文件在D盘,回档日记在E盘.把持文件,在线重做日记都有3组并复用,放在C盘,D盘和E盘.
  
  >>如今的情形是我们保存有一切的回档日记,保存有5天前的备份磁带(很不巧,因为各种缘故原由,近5天的备份都没有乐成,不外侥幸的是,在此时代体系及软件设置都没有变动).
  
  >>硬盘D俄然破坏了,数据库溃散了,一切人都没法毗连到数据库.
  
  >>在本例中,我们只思索了数据文件破坏,假定一切的把持文件,重做日记都一般.
  
 我们如今要入手下手恢停工作了.
  
  >>在接洽了硬件供给商后,我们的新硬盘到了,安装上后,经由过程5天前的备份磁带,恢复D盘上一切的文件.
  
  >>经由过程Svrmgrl或Sqlplus以system用户登录到Oracle,
  
  >>翻开数据库到mount形态,"startupmount",这时候,Oracle会提醒数据库文件破坏,必要修复
  
  >>依据提醒的文件,输出命令"recoverdatafileD:OracleData01.dbf;
  
  >>Oracle将主动寻觅所必要的回档日记和以后的Redo_log来恢单数据文件,我们只必要在每个提醒信息后按回车键断定使用所显现的回档日记文件.恢复完成后,Oracle将有提醒信息.
  
  >>恢复完成后,能够实验用命令"alterdatabaseopen"来翻开数据库,假如仍是无数据文件破坏,Oracle将再次提醒必要修复.只必要反复下面两步操纵.
  
  >>反复操纵,直至一切的数据文件都恢复.用命令"alterdatabaseopen"来翻开数据库.
  
 如许,我们就基础完成了回档形式开启的情形下的数据库恢停工作,在这类形式下,数据库能够恢复就任一时候(能够在使用回档日记文件恢复时作废以中止恢复历程).并且,即使因不测而招致我们的逐日数据库备份没有乐成实行时,仍旧能够经由过程几天前的冷/热备份+一连的回档日记文件来完成我们的数据库恢停工作.
  
 另注,能够间接经由过程命令"recoverdatabase"来完成全部恢复历程,不外如许感到缺少成绩感.除非对备份或是本人的程度很有信念,不然不倡议利用.
  
 以上测试经由过程.客户还是可以使用DBaaS系统所能提供的所有能力。数据库云服务消除了组织对专职人员、本地数据库存储设备的需要。他们不必安装、配置和维护任何软硬件。
冷月葬花魂 该用户已被删除
沙发
发表于 2015-1-19 21:57:13 | 只看该作者
where子句的作用是在对查询结果进行分组前,将不符合where条件的行去掉,即在分组之前过滤数据,条件中不能包含聚组函数,使用where条件显示特定的行。
分手快乐 该用户已被删除
板凳
发表于 2015-1-28 13:00:49 | 只看该作者
备份方面可能还是一个老大难的问题。不能单独备份几个表总是感觉不爽。灵活备份的问题不知道什么时候才能解决。
小女巫 该用户已被删除
地板
发表于 2015-2-5 21:34:18 | 只看该作者
所以你总能得到相应的升级版本,来满足你的需求。
5#
发表于 2015-2-13 17:01:05 | 只看该作者
入门没那么困难,精通没那么容易
深爱那片海 该用户已被删除
6#
发表于 2015-3-4 00:28:56 | 只看该作者
现在是在考虑:如果写到服务器端,我一下搞他个10个存储过程导过去,那久之服务器不就成垃圾箱了吗?即便优化了我的中间层.
海妖 该用户已被删除
7#
发表于 2015-3-11 14:57:44 | 只看该作者
很多书籍啊,不过个人认为看书太慢,还不如自己学。多做实际的东西,就会遇到很多问题,网上搜下解决问题。不断重复这个过程,在配合sql的F1功能。
柔情似水 该用户已被删除
8#
发表于 2015-3-19 00:32:12 | 只看该作者
如果处理少量数据,比如几百条记录的数据,我不知道这两种情况哪个效率更高,如果处理大量数据呢?比如有表中有20万条记录.
兰色精灵 该用户已被删除
9#
发表于 2015-3-26 23:18:56 | 只看该作者
如果我们从集合论(关系代数)的角度来看,一张数据库的表就是一组数据元的关系,而每个SQL语句会改变一种或数种关系,从而产生出新的数据元的关系(即产生新的表)。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-5-3 14:45

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表