计算机方面的论文如何发表? 评职称用
之一步. 调研、入门
添加微信好友, 获取更多信息
复制微信号
1. 确定一个感兴趣的大领域,比如分布式系统或者机器学习,或者深度神经 *** 。读这个领域经典算法和技术,也可以是几本比较好的书,读完然后再实践实践,动手加深理解。这个过程做完就算是初步入门了。
2. 找该领域的顶级会议,比如系统领域的有OSDI、SOSP,机器学习的领域有ICML、CVPR,深度学习的有NIPS、ICLR等等,可以搜CCF会议推荐列表看各领域的顶会列表。然后看近几年这些顶会的论文,因为这代表了最新的研究热点,咱不是说一味的追热点啊,毕竟对于初学者没有足够的领域专业背景,追热点是最快的 *** 。因为热点往往是该领域最亟待解决的问题,往往是发展最快的小方向,也最容易产生新成果。如果是老问题,人家都研究十几年了,给你留下的待解决的问题就很少或者不是很重要。当然如果是有几十年经验的研究者就不必追热点,他们知道该领域哪些是fundamental的问题,哪些是最值得研究的问题。
3. 读了这些前沿论文后,确定一个小方向,比如分布式系统是个大方向,小方向可能是机器学习分布式训练;大方向是深度学习,小方向可能就是graph embedding;大方向是机器学习,小方向可能是半监督学习等等。确定小方向的过程是个知识不断积累的过程,非常重要,这需要你对大方向有很多了解,对小方向有更深入更全面的理解,需要读好至少100篇以上论文,需要你知道该小方向的研究进展历史,这需要你知道该小方向别人都在哪方面做工作,做该小方向的顶级研究组都有哪些,他们正在干什么。
第二步. 发现问题
这步超级难,如果发现了个好问题,那就是成功的一半。这个问题更好是重要的、本质的、没有直观解决 *** 的。
4. 确定小方向后,你需要阅读大量的这个小方向的论文和了解开源项目,再不断聚焦,再确定一个要改进和优化的小小方向,这个可能就是论文的主题。小小方向可能是机器学习分布式系统中的parameter server通信模型,可能是dynamic graph embedding等。然后就要更聚焦地读这方面的相关论文,这时候论文就比较少了,几篇到几十篇到几百篇都有可能,这些论文要精读,花几个月时间研究一篇论文也不为过。
5. 挑几个重要的论文工作实现,也可以找开源的运行跑一跑试一试,idea往往从实际运行中来,光靠读是不行的。这个跑一跑可能需要你尝试不同的运行环境,不同的workload数据集,不同的应用场景等。比如,parameter server(PS)模型在本地集群上跑是不是和paper声明的一样、在异构的动态性极强的集群环境下效果怎么样、除了paper提到的算法处理其他算法的时候效果怎么样、除了paper提到的数据集换另外一类数据集怎么样;graph embedding *** 处理密集图和稀疏图都怎么样,处理动态变化的图怎么样,等等吧。你要发现X *** 仅在a环境下好用,在b环境不好用。这个就是发现问题的过程。当然,没经验的研究者可能很难想到多种环境、多种workload、多种应用场景,这就需要积累。
另外一个发现问题的 *** 是从实际生产中来,这个当然是更好的,但是往往是大企业环境下才有这个条件。
6. 确定你发现的问题还没有被解决。这又需要广泛的阅读和调研,但是问题已经很聚焦了,搜索也会很容易,用你特定问题的关键字在google 搜索(这里强烈建议用google,其他搜索引擎基本搜不到),找到解决相关问题的论文。看看这些论文是不是已经解决了该问题,如果解决了,你有两种方案:之一,该问题已经解决的非常好了,放弃解决该问题。第二,该问题的解决方案还有问题,我还有更好的办法。我建议后者,最起码尽量尝试尝试。
5和6步是个迭代的过程…
第三步. 分析问题
7. 分析问题产生的本质原因。这个往往和第5步发现问题同时进行。这一步靠的是功底和积累,靠的是对问题的理解程度。理解的越深刻,分析的越透测,你之后产生的解决思路就越有可能正确和有效。比如分布式机器学习的PS模型在异构环境下、和在处理数据不均匀的情况下就不好,本质原因是其同步的集中式通信模型,造成PS集中服务器往往需要等待。传统graph embedding *** 采用批处理模式,需要graph的全局信息做embedding,当然无法应付动态性非常强的局部更新情况。
8. 基于分析,就是对该问题的深刻理解,产生改进的idea。这个可能很难,可能靠运气,但我觉得更多的是靠对问题的理解程度,理解的越深刻,本质原因抓的越准,就越可能产生创新idea。读过一本介绍google企业文化的书,google产品的成功,既不是靠技术能力,也不是靠用户需求,而是靠技术洞见(insight),这就是对问题本质的深刻理解。比如,PS模型在某环境下问题的本质原因是集中式的同步模型,那么我们就可以提出尝试异步通信的模型的idea。
分析能力跟个人的批判性思维、独立思考能力都有关,而这正是中国人欠缺的,可以通过读有深刻见地的书籍文章、经常提问来锻炼。
第四步. 解决问题
9. 实现你的idea,做大量实验验证。这需要动手能力,需要编程能力,需要坐得住。
10. 验证你的解决方案,根据实验分析不断优化你的 *** 。做了大量试验后,得到了若干结果,可能是不好的结果,但是不要一下子否定自己的解决方案,这不能说明你的idea不好用。一个好的 *** 往往经过千锤百炼,同样,你的idea通常不会一下子就成功。需要你根据实验结果分析不好的原因,然后基于你的理解改进 *** ,这是一个反复不断迭代的过程。
比如,你发现异步PS模型效果还不如原来的呢。那么关键的是,你要问自己为什么?为什么理应提升的却没有提升?你要看实验运行的日志,看看是哪里慢了,差在哪里,最后你经过不断的实验、分析、思考,你发现了,你提出的异步PS模型虽然没有了等待开销,但是计算的有效性却降低了,结果整体性能反而下降了。那么你下一次迭代就要想怎么把这个计算有效性提上来。我又有了个 *** ,可以评估每次计算的有效性,然后把计算资源都投到有效性高的计算上。OK,idea不错,那么怎么评估有效性呢?不能开销太大,否则又得不偿失了,你可能想到了一种近似地评估 *** 。重新实现后,发现效果还不错。OK,恭喜你!你可以准备发论文了!
整个研究过程,导师将起到关键的作用。导师可能会给你个问题,这是难能可贵的,基本帮你做了一半的事了,否则你可能需要花上一年时间找问题。然后整个研究过程,都是在导师的引导下进行,需要定期向导师汇报,与导师讨论idea和请导师分析实验结果。更好自己也要经常找同门讨论,而不是闭门造车。
第五步. 撰写论文
11. 设计你的论文,草拟论文的骨架。每一章都写啥,每一段都写啥,实验都做啥。论文的逻辑往往比语言重要的多,逻辑合理的论文更易读懂,即使咱华人有天生的英语语言缺陷,但是好的逻辑就可以弥补这个不足。写论文就和讲故事一样,怎么能把一个事说明白,不那么简单,甚至说很难,需要不断锻炼。写完给老师看,老师同意后进行下一步
12. 写作论文。这个就是根据骨架填肉的过程,但是这一步也不简单,特别对于英语不好的同学,写出来的东西简直是不忍直视、不堪入目、毁人三观。最近上海某高校老师辱骂学生这事就是因为这个,我可以说,我每次看到学生论文也都是这个心情,给学生通宵改论文在家里一边改一边骂,但是当面对学生还是要以鼓励为主,要耐心,要耐心,要耐心,尽力压制自己的怒火,以平和的心态帮助学生提高,期望他下次能给个更好的版本。但是往往事与愿违,看淡点吧,仅求写作态度好点就行了,毕竟这不是一朝一夕能提高的,需要你不断积累。
有几个写作的 *** 吧。之一,不要自己想当然,对于不确定的句型,用“”扩上上google搜,看看你这句型有多少人用过,如果没有几个人用,那就别用,换个写法。第二,读别人论文时,遇到好的句型就记下来,不断积累才能提高。第三,避免一切语法错误,我觉得这个是可以做到的,现在网上那么多工具都可以用。语法错误都避免不了那基本就是态度问题。遗憾的是,我很少遇到能避免语法错误的学生,我生气往往是因为态度问题,而不是能力问题。第四,尽量用短句用简单句子,别用长句。你写论文是为了让别人理解你的 *** ,不是写文艺作品,能说明白就行。
13. 提炼总结,改进 *** 。写作的过程也是屡顺自己思路的过程,写作的过程中往往也能发现自己 *** 的漏洞,那么就要继续回到8,重新思考解决方案,又或者你发现需要补实验来支撑你的论点,那么就继续实现系统做实验,得到实验结果。
14. 关于实验。怎么做实验是学生总问的问题,怎么做科学实验也是一个很重要的问题,有对照组、无偏的、定量的,这些都是科学实验的重要要素。如果有解决该问题的其他 *** 你首先要说明你的 *** 更好,至少在某一方面更好,这其中可能要涉及到不同的执行环境,或不同的算法数据集。然后设计实验说明你的 *** 好在哪里,用实验数据说明,比如异步PS和同步PS对比。然后你要进一步用实验数据说明,异步PS的有效性也提高了,如果不考虑有效性的话那么结果就不好。然后你的 *** 是否有些重要的超参数,试试variation导致各种结果。在实验结果展示方面,要学会用各种工具画各种图,把重要的因素用可视化方式体现出来。
第六步. 投稿和看待审稿意见
15. 接下来就是投稿。选一个合适的会议或期刊投稿,这个可以听老师的,老师基本有这方面的常识,根据你工作的方向和档次选择合适的去处。确定好了哪个会议期刊后,就需要按照会议期刊要求来整理论文格式,latex是必会的工具了。之后赶在deadline之前提交论文,这个最后的几天可能很痛苦,因为你的论文和 *** 总有改进的地方,老师的要求会让你最后几天是最忙的几天。但是需要认识到,凡事无完美,你总也改不到完美,你需要一个deadline来督促你完成一个milestone。开始进一步工作或下一个工作。
16. 看待评审意见。接下来是漫长的等待,会议一般是2-3个月的时间,结果可能是接收也可能是拒掉,相比于结果,更应该看评审意见,看看这些意见是否合理,是否能解决,无论是接收还是拒绝,然后接下来就再次回到解决问题的部分,再次开始优化 *** 的过程。如果是接收了,那就可以准备订机票开会旅游去了。如果是拒掉那一般是有比较大的问题,那就再仔细深思下一下你的 *** 。继续优化,还是降低档次投个差点的会,就看你导师的了。
第七步. 后续
17. 宣传你的工作,扩大影响力。首先你可能是要去参加会议,做个漂亮的ppt,反复演练,争取有比较好的演讲效果。有时你导师有机会去一些地方做报告,把这个工作介绍一下,都是扩大影响力的 *** 。
18. 开放源码。还有是尽量把自己工作的代码和数据开放,挂到网上,让别人来使用,接受别人的改进意见或者是简单的debug。咱不是专业的工程人员,也不用指望你的成果可以马上用于生产,个人觉得开放代码主要是为了让别人更好滴了解你的 *** ,这有助于扩大影响力,产生后续研究工作。如果有人引用你的论文、或咨询论文内容、又或是使用了你的代码和数据,这也算是你对整个科研事业有那么一丁点的贡献了,这比水论文有意义多了。
整体来说,发表论文需要你有:批判思维能力,动手能力,知识面,写作能力,表达能力,英语,韧劲(抗打击能力)等等一系列能力,如果在研究生期间真能发表一篇论文,经历了以上这么多磨难和锻炼,我想你的能力也是不知不觉提高了很多,成为了该小小方向的一个小小的专家了。这对你来说,是最最重要的。
这里我提到了韧劲,就是说,在解决问题过程中,你会受到不断的打击,包括来自导师的、来自自己的实验结果方面的、来自评审意见的,但是你要做的就是,站起来,继续凿,直到导师满意,知道reviewer满意,直到大家满意。别把这事想简单了,当你想象一下周围好多人都发好多sci了,而你还在为这么一篇完全未知结果的论文而这么努力的时候,我觉得大部分人可能就是缺少这个韧劲才最终以失败告终的…
最后,我想再强调一下,发论文不是简单地发论文,而是通过发论文宣传你的工作,以便对某技术或人有那么一丁点影响。无论你发哪个档次的论文,只要目标正确,我觉得你都会有收获和有贡献的。相比较于为了发论文而发论文,你会觉得你是那么地高尚和高大,他们只是造废纸,而你已经对社会有贡献了…
(以上内容来源于学术堂)
计算机专业发表论文
您好,
如果是计算机专业的同学可以建议做 *** 方面的论文研究,这方面比较热门、资料繁多、可借鉴性强;
其他如数据库较之算法以及数据结构相对可参考资料更为多一些。
相关范文:
Oracle数据库的备份和恢复The Backup and Restoration of Database Oracle
摘要:本文从Oracle的体系结构开始,由原理到实践,论述了Oracle数据库备份的方式和策略。包括IMP/EXP, RMAN,OS备份等。
Abstract: Starting from the architecture of ORACLE, this paper discusses the backup method and strategy of database Oracle, including IMP/EXP, PMAN and OS theoretically and practically.
关键字:Oracle, 备份, 恢复, RMAN
Keywords: Oracle; Backup; Restoration; RMAN
概述
在大型软件运行系统中,存在着很多备份策略,如RAID技术,CLUSTER技术等等。很多时候,这些系统的备份就能够解决数据库备份的问题。但是,这种备份成本很高。同时,硬件的备份有时根本满足不了现实的需要,如果用户不小心误删了一个表,又想恢复的时候,数据库的备份就变的重要了。
Introduction: In the running system of some big software, there exist many backup strategies such as RAID technology and CLUSTER technology etc. In most cases, these system backup strategies can fulfill the database backup. However the cost is rather high. At the same time, hardware backup sometimes is far from the actual requirement. The database backup becomes very important when a table is deleted by accident and needs to be restored.
Oracle的运行方式
Oracle数据库有两种运行方式:一是归档方式(ARCHIVELOG),归档方式的目的是当数据库发生故障时更大限度恢复数据库,可以保证不丢失任何已提交的数据;二是不归档方式(NOARCHIVELOG),只能恢复数据库到最近的回收点(冷备份或是逻辑备份)。根据数据库的高可用性和用户可承受丢失的工作量的多少,对于实时性要求高的数据库,强烈要求采用为归档方式;不归档方式只用在那些开发和调试的数据库等。
如何改变数据库的运行方式,在创建数据库时,作为创建数据库的一部分,就决定了数据库初始的存档方式。一般情况下为NOARCHIVELOG方式。当数据库创建好以后,根据我们的需要把需要运行在归档方式的数据库改成ARCHIVELOG方式。 操作如下。
1. 关闭数据库,备份已有的数据,改变数据库的运行方式是对数据库的重要改动,所以要对数据库做备份,对可能出现的问题作出保护。
2. 修改初试化参数,使能自动存档。
修改(添加)初始化文件init[SID].ora参数:
log_archive_start=true #启动自动归档
log_archive_format=ARC%T%S.arc #归档文件格式
log_archive_dest=/archdir/arch #归档路径
在8i中,可以最多有五个归档路径,并可以归档到其它服务器,如备用数据库(standby database)服务器。
3. 启动Instance到Mount状态,即加载数据库但不打开数据库。
$ svrmgrl
SVRMGRL connect internal
SVRMGRL startup mount
SVRMGRL alter database archivelog; // 使数据库运行在归档方式
SVRMGRL alter database open;
Oracle的备份方案
按照备份的方式,可以分为逻辑备份、冷备份(脱机备份)、热备份(联机备份),其中冷备份与热备份又可以合称为物理备份。按照备份的工具,可以分为EXP/IMP备份、操作系统备份、RMAN、第三方工具备份,如VERITAS等。下面分别介绍Oracle本身提供的几种备份工具和操作。
1. EXP/IMP备份(逻辑备份)
EXP/IMP属于逻辑备份的范畴,逻辑备份是指只备份数据库中的数据但不记录数据物理位置的一种备份。导出为数据库作一个二进制的备份,并且这个备份只能由其姊妹程序imp(import)来读取。具体的使用 *** 如下。(因为EXP和IMP使用上参数基本相同,所以只以EXP为例。)
EXP的命令格式和参数
格式:KEYWORD=value 或 KEYWORD=(value1,value2,...,valueN)
例程: EXP SCOTT/TIGER GRANTS=Y TABLES=(EMP,DEPT,MGR)
USERID 必须是命令行中的之一个参数
关键字 说明(默认) 关键字 说明(默认)
USERID 用户名/口令 FULL 导出整个文件 (N)
BUFFER 数据缓冲区的大小 OWNER 所有者用户名列表
FILE 输出文件 (EXPDAT.DMP) TABLES 表名列表
COMPRESS 导入一个范围 (Y) RECORDLENGTH IO记录的长度
GRANTS 导出权限 (Y) INCTYPE 增量导出类型
INDEXES 导出索引 (Y) RECORD 跟踪增量导出 (Y)
ROWS 导出数据行(Y) PARFILE 参数文件名
CONSTRAINTS 导出限制 (Y) CONSISTENT 交叉表一致性
LOG 屏幕输出的日志文件 STATISTICS 分析对象 (ESTIMATE)
DIRECT 直接路径 (N) TRIGGERS 导出触发器 (Y)
FEEDBACK 显示每 x 行 (0) 的进度 FILESIZE 各转储文件的更大尺寸
QUERY 选定导出表子集的子句
注:可以通过exp -help命令查看exp的使用 *** ;imp -help命令查看imp的使用 *** .
2. 操作系统备份(冷备份和热备份)
操作系统备份有两类,冷备份(Cold backup)和热备份(Hot backup)。操作系统备份和上面的逻辑备份有本质的区别,它将拷贝整个的数据文件。
冷备份
在文件级备份开始前数据库必须彻底关闭。关闭操作必须用带有normal、immediate、transaction选项的shutdown来执行。
数据库使用的每个文件都被备份下来,这些文件包括: 所有数据文件、所有控制文件、所有联机重做日志文件和INIT.ORA文件(建议)。
作冷备份一般步骤是:
1) 正常关闭要备份的实例(instance);
2) 备份整个数据库到一个目录
3) 启动数据库
即:
SVRMGRLconnect internal
SVRMGRL shutdown immediate
SVRMGRL !cp file backup directory
or
SVRMGRL !tar cvf /dbbak/fullbk.tar /u01/oracle/oradata/dbname
SVRMGRL startup
热备份
热备份是当数据库打开时的操作系统备份。热备份只能用于ARCHIVELOG方式的数据库。热备份没有必要备份联机日志,但必须是归档状态,在实例恢复的时候,可能需要用到归档日志。当前联机日志一定要保护好或是处于镜相状态,当前联机日志的损坏,对于数据库的损坏是巨大的,只能以数据的丢失来进行数据库的恢复工作。对于临时表空间,存放的是临时信息,在热备份是也可以考虑不用备份,如果临时文件发生故障,可以删除该数据文件与表空间,重建一个临时表空间。
热备份备份的内容和冷备份备份的内容一样,操作一般步骤是:
1) 备份的表空间通过使用ALTER TABLESPACE …… BEGIN BACKUP使表空间进入热备份方式。
2) 用类似冷备份的操作系统命令对组成表空间的数据文件进行拷贝。
3) 使用ALTER TABLESPACE …… END BACKUP命令使表空间脱离热备份方式。
4) 使用ALTER DATABSE …… BACKUP CONTROLFILE命令备份控制文件。
即:
SVRMGRLconnect internal;
SVRMGRLalter tablespace User begin backup;
SVRMGRL!cp /u01/oradata/dbname/user01.ora /dbbak/user01.ora
SVRMGRLalter tablespace User end backup;
SVRMGRLalter database backup controlfile to fielname;
or
SVRMGRLalter database backup controlfile to trace;
注意:因为热备份的时候,用户还在操作数据库,所以更好是让每个表空间处于备份状态的时间最短,这样就要求一个表空间一个表空间的备份,不要一起使表空间处于备份状态而同时拷贝数据文件。
3. RMAN
Recovery Manager(RMAN)是一个使DBA能很方便地对数据库执行备份和恢复任务的Oracle应用工具,能够提供DBA对企业数据库备份与恢复操作的集中控制。RMAN只能用于ORACLE8或更高的版本中。它能够备份整个数据库或数据库部件,其中包括表空间、数据文件,控制文件和归档文件。RMAN可以按要求存取和执行备份和恢复。
RMAN支持六种不通的类型的备份,经常用到的有两种:
FULL 数据库全备份,包括所有的数据块。
INCREMENTAL 增量备份,是指只备份在同级别或更低级别上进行的前一次备份之后的作过改动的那些数据块。这其中需要一个0级的增量作为增量的基础,它备份包括全部曾经被数据库使用过的数据块(但不是完全数据库备份)。RMAN共可以支持7级增量。
BACKUP,RESTORE,RECOVER是RMAN最基本的三个命令,分别可以进行数据库的备份,复原以及恢复操作。 restore命令用于恢复来自备份集或映像拷贝的数据文件、控制文件或归档重做日志。recovery命令用于进行介质恢复应用重做日志文件。
RMAN的备份信息一般保存在恢复目录中,恢复目录也是一个数据库,只不过这个数据库用来保存备份信息,一个恢复目录可以用来保存多个数据库的备份信息。 RMAN也可以在没有恢复目录(NOCATALOG)下运行,这个时候备份信息保存在控制文件。这种情况比较危险,因为一旦控制文件被破坏,将导致所有数据库备份信息的丢失和恢复的失败,而且,没有恢复目录,很多RMAN的命令将不被支持。所以对于重要的数据库,建议创建恢复目录。
创建恢复目录一般有以下步骤。(例子数据库为db)
1) 为目录创建一个单独的表空间
SQLcreate tablespace tsrman datafile ’/dbbak/rman/rsrman.dbf’ size 50M;
2) 创建RMAN用户
SQLcreate user rman identified by rman default tablespace rsrman temporary tablespace temp;
3) 给RMAN授予权限
SQLgrant connect, resource, recovery_catalog_owner to rman;
4) 打开RMAN
$rman
5) 连接恢复目录数据库
RMANconnect catalog rman/rman@db
6) 创建恢复目录
RMANcreate catalog tablespace tsrman
在对某个数据库进行备份之前,必须先在恢复目录上注册该数据库,这一过程操作如下(假定目标数据库连接字符串为db100)。
1) 连接到恢复目录数据库
$rman rman/rman@db
2) 在RMAN中连接到目标数据库(即要进行备份的数据库)
RMANconnect target sys/change_on_install@db100
3) 注册数据库
RMANregister database;
注册完数据库后,就可以进行数据库的备份了。有完全数据库备份、表空间备份、控制文件备份、和归档日志备份等。操作分别如下。
1) 完全数据库备份
要求:ARCHIVELOG模式,在DB OPEN的情况下进行数据库完全备份。
RMANrun{
allocate channel c1 type=disk;
backup database;
release channel c1;
}
2) 表空间备份
要求:ARCHIVELOG模式
RMANrun{
allocate channel c1 type=disk;
backup tablespace “ts_users” filesperset 3 format ‘aatst_%t%s.%p’;
release channel c1;
}
3) 控制文件备份
RMANrun{
allocate channel c1 type=disk;
backup current controlfile tag=weekly_sat_backup;
release channel c1;
}
在对数据库进行完全备份时,控制文件自动包含其中。也可以在表空间或数据文件的备份中包含一个控制文件。
RMANrun{
allocate channel c1 type=disk;
backup tablespace “ts_users”
filesperset 3 format ‘aatst_%t%s.%p’;
include current controlfile;
release channel c1;
}
4) 归档日志备份
通过查询数据字典表V$ARCHIVED_LOG获取要备份的日志序列号,然后执行命令:
RMANrun{
allocate channel c1 type=disk;
backup archivelog low logseq 3 high logseq 10 thread 1;
release channel c1;
}
Oracle的备份策略
正确的备份策略不仅能保证数据库服务器的24*7的高性能的运行,还能保证备份与恢复的快速性与可靠性。我们将以RMAN的多级增量备份作为一个备份策略的例子来讨论。采用多级备份就是为了减少每天备份所需要的时间,而又保证系统有良好的恢复性。恢复时间与备份时间要有一个权衡。比如只要进行一个数据库的全备份,然后就只备份归档也可以保证能把数据库恢复到最新的状态,但是这样的恢复时间将是不可容忍的。多级备份也正是为了解决这种问题,结合某些应用的特点,可以采用如下的备份策略:
每个月做一个数据库的全备份(包括所有的数据和只读表空间);
每个星期一做一次零级备份(不包含只读表空间);
每个星期三做一次一级备份;
每天做一次二级备份。
每天做一次恢复目录的热备份。
任何数据库的更改需要重新同步CATALOG目录并重新备份(如添加数据文件)或重新备份(如修改表空间为只读)。
每次备份后都可以备份归档日志或定期备份归档日志。如果可能,可以直接备份到磁带上。
Oracle的恢复
下面的操作约定恢复目录存储在db118中,目标数据库是db100。
1. 数据库恢复
1) 启动SQL*PLUS,使用正确的init.ora文件,使用NOMOUNT选项启动目标数据库实例。
2) 启动RMAN并连接到恢复目录,如下:
$rman catalog rman/rman@db118
恢复管理器: Release 9.2.0.1.0 - Production
Copyright (c) 1995, 2002, Oracle Corporation. All rights reserved.
连接到恢复目录数据库
RMAN
3) 连接到目标数据库
RMANconnect target internal/oracle@db100
连接到目标数据库: db (DBID=1142471523)
4) 一旦连接到目标数据库,执行restore命令执行全数据库恢复
RMANrun{
2allocate channel c1 type disk;
3restore database;
4release channel c1;
}
2. 表空间和数据文件恢复
要执行表空间或数据文件恢复,数据库必须以ARCHIVELOG模式运行,并且用户需要拥有介质恢复所需的归档重做日志文件。在试图恢复表空间之前,必须保证表空间已脱机。RMAN命令如下:
run{
allocate channel c1 type disk;
sql “alter tablespace users_data offline immediate”;
restore tablespace users_data;
recover tablespace users_data;
sql “alter tablespace users_data online”;
}
上面的脚本执行了以下的工作:
1) RMAN分配通道从c1用于恢复操作。
2) 将表空间users_data脱机
3) RMAN从备份集中恢复属于表空间的数据文件
4) 通过介质恢复提供所需的归档日志文件,恢复属于表空间users_data的数据文件。
5) RMAN将表空间联机。
在脚本执行期间,如果不能把数据文件恢复到指定位置,在执行restore命令前使用set newname命令。
3. 控制文件恢复
1) 启动SQL*PLUS,使用正确的init.ora文件,使用NOMOUNT选项启动目标数据库实例。
2) 启动RMAN并连接到恢复目录,如下:
$rman catalog rman/rman@ora8i.oracle
恢复管理器: Release 9.2.0.1.0 - Production
Copyright (c) 1995, 2002, Oracle Corporation. All rights reserved.
连接到恢复目录数据库
RMAN
3) 连接到目标数据库
RMANconnect target internal/oracle@demo.oracle
连接到目标数据库: db (DBID=1142471523)
4) 一旦连接到目标数据库,执行restore命令恢复控制文件
RMANrun{
2allocate channel c1 type disk;
3restore controlfile;
4}
小结
保证Oracle数据库的安全是系统安全的重要组成部分,必须要设计完善的数据库备份和恢复方案。Oracle提供的各种工具结合起来使用能够使数据库的备份和恢复变得简单。在实际的Oracle数据库的备份和恢复中,会有许多不通的和复杂的情况出现,针对不同的情况,要本着使数据具有更大的可恢复性和恢复时间最短的原则去进行数据库的恢复,这需要大量的实践和经验积累。
参考文献
[1] Oracle8i Backup and Recovery Guide Oracle Document
[2] Oracle8i Recovery Manager User’s Guide and Reference Oracle Document
[3] Oracle9i:A Beginner’s Guide (美) Michael Abbey Michael Corey Ian Abramson 2002.3 机械工业出版社
[4] Oracle8i备份与恢复手册 (美)Rama Velpuri Anand Adkoli 蒋蕊 王磊等译 2001.9 机械工业出版社
仅供参考,请自借鉴
希望对您有帮助
计算机论文发表核心期刊上难不难?需要多少钱?更好发《计算机应用》
核心期刊一般都是挺难发的,费用的话一般都是需要2000以上的,这个是没有一个固定的数字的
我要发表论文,哪个省级以上刊物发表计算机论文快又便宜?
★多本杂志选择,省级和国家级刊物。省一级刊物有《黑龙江科技信息》杂志、《民营科技》杂志《华章》杂志、等。是专门为各企业单位,事业单位,大中院校,医院等论文发表,职称评定服务。国家级期刊,科技类综合刊物。现面向广大科研、文教工作者、工程技术人员、农业技术人员等征集科技、经济、文教、企业、事业等面向全国各行业征集论文,常年征稿。欢迎网上投稿。
联系人:王莉编辑
计算机论文发表多少钱?
发的不是很贵,五百左右吧,而且是在早发表网发(你可以去网上搜)的,我评定是中级职称投的是普刊,其他的期刊你也可以去问问。
评论已关闭!