精灵巫婆 发表于 2015-1-16 22:39:24

MYSQL网页编程之oracle进修条记(1)-数据备份与恢复

每个人都在使用它。MySQL是开源LAMP组合的一个标准组件:Linux、Apache、MySQL和Perl/PHP。根据Evans的调查,LAMP组合的迅速推广很大程度上代表着MySQL的被广泛接受。oracle|备份|条记|恢复|数据
数据备份

不管何种体例,数据库的备份即为datafile/controlfile/redofile此三种文件的备份。
1、exp/imp的备份体例
2、脱机备份体例(offlinebackup)
3、联机备份体例(onlinebackup)
4、standy的运转形式


1、exp/imp的备份体例
(1)命令体例
能够在online的情况下举行。

(2)OEM体例
使用导出备份导游举行导出。

2、脱机备份体例(offlinebackup)
复制相干的文件便可。
(1)封闭数据库;
(2)复制文件,datafile/controlfile/redologfile;
(3)翻开数据库。

3、联机备份体例(onlinebackup)
前提:
(1)数据库不克不及封闭;
(2)数据库必须处于回档形式(archivemode),即redologfile纪录满后,把完全的redologfile保留
在磁盘上;

让数据处于archivemode的办法:
(1)设置archivemode;
在initorcl.ora文件中设置以下参数:
#启动arch背景的处置程序
log_archive_start=true
#设置archivelogfile的寄存中央
log_archive_dest=/home/oradata/orcl/archive
#设置脱机事件日记的文件名
log_archive_format=-s%.arc
(2)mount形态下设置archivemode,翻开数据库;
startupmountpfile=initorcl.ora;
alterdatabasearchivelog;
alterdatabaseopen;

联机备份办法一
(1)设置tablespace为backupmode;
altertablespacetablespace_namebeginbackup;
(2)复制相干的数据表
copysourcefiledestfile
(3)恢复tablespace到一般形态
altertablespacetablespace_nameendbackup;
(4)backupcontrolfile
alterdatabasebackupcontrolfiletocontrol.bk
(5)copyredologfile

4、standy的运转形式
此形式为主从服务器备份形式。
办法:
(1)筹办备份主机
(2)次要数据库的备份
办法以下:
a、fullofflinebackup
b、onlinebackup
c、备份数据库的controlfile
alterdatabasebackupstandbycontrolfileasfilename
(3)断定次要呆板是处于archivelogmode
操纵办法如3所示。
(4)从次要呆板将backupdatafiles/controlfile复制到备份主机。
复制的文件以下:
a、controlfile
b、backupdatafiles;
c、archivedredologs
d、onlieredologs
e、initializationfile
(5)设置次要呆板的initializationparameters
(6)设置备份主机的initializationparameters
?????
大概与(5)设置有所分歧。
(7)翻开备份主机数据库
a、在nomount形态下翻开数据库,然后alter启动standby呆板
startnomountpfile=initstandby.ora;
alterdatabasemountstandbydatabase;
b、standbymode下启动后,暗示备份呆板已可以承受primary数据库的archiveredolog,可用ftp或oracle
供应的办法由oracle主动获得数据。
(8)启动备份数据库
alterdatabaserecovermanagedstandbydatabase;



数据恢复

1、脱机备份的恢复(会丧失数据)
(1)断定数据库封闭
(2)复制相干备份文件到相干地位(controlfile,redologfile,datafiles)
(3)启动数据库
2、archivemode恢复
(1)completerecovery
a、封闭数据库;
shutdown;
b、在mount阶段翻开数据库
startupmount;
c、举行数据库恢复
setautorecoveryon;
recoverdatabase;
d、完成recovery后,翻开数据库
alterdatabaseopen;
(2)对单一文件或数据表recovery;
a、让必要恢复的tablespace脱机
altertablespaceappdataofflineimmediate;
b、用好的备份文件代替破坏文件
c、断定要恢复的archivelogfile存在
d、入手下手recovery;
recovertablespaceappdata;
recoverdatafileuser01.dbf;
e、完成后,alter让tablespace联机
altertablespaceappdataonline;

(3)incompleterecovery
假如事件日记文件破坏,则要注重datafilesandcontrolfile纪录的logsequencenumber是不不异的,则为不完整恢复。
mount阶段要把logsequencenumber置为1,如许数据库才干翻开。

利用cancel恢复到某一工夫点
a、mount翻开数据库
startupmount;
b、恢复
recoverdatabaseuntilcancel;
c、完成以后,翻开数据库(openmode),从头设置controlfileanddatafiles的logsequencenumber的设置为1;
alterdatabaseopenresetlogs;


利用指准时间
a、mount翻开数据库
startupmount;
b、恢复
recoverdatabaseuntiltime2001-09-10:18:00:00;
c、完成以后,翻开数据库(openmode),从头设置controlfileanddatafiles的logsequencenumber的设置为1;
alterdatabaseopenresetlogs;
列举选择MySQL的理由的最困难的地方在于,如何对这些理由进行排序。MySQL学习教程这就如同我们经常争论的故事:先有鸡还是先有蛋?

简单生活 发表于 2015-1-18 05:22:28

这一点很好的加强了profiler的功能。但是提到profiler提醒大家注意一点。windows2003要安装sp1补丁才能启动profiler。否则点击没有反应。

山那边是海 发表于 2015-1-21 10:59:31

SQL语言是学习所有数据库产品的基础,无论你是做数据库管理还是做数据库开发都是这样。不过具体学习的侧重点要看你将来做哪一块,如果是做数据库管理(DBA),侧重点应该放在SQLServer的系统管理上.

变相怪杰 发表于 2015-1-30 16:11:08

我个人认为就是孜孜不懈的学习

只想知道 发表于 2015-2-6 13:59:50

Mirror可以算是SQLServer的Dataguard了。但是能不能被大伙用起来就不知道了。

若天明 发表于 2015-2-16 09:51:01

这就引发了对varchar和char效率讨论的老问题。到底如何分配varchar的数据,是否会出现大规模的碎片?

乐观 发表于 2015-3-5 03:35:58

记得在最开始使用2k的时候就要用到这个功能,可惜2k没有,现在有了作解决方案的朋友会很高兴吧。

小女巫 发表于 2015-3-19 15:57:14

大家注意一点。如下面的例子:

灵魂腐蚀 发表于 2015-3-28 21:20:53

现在是在考虑:如果写到服务器端,我一下搞他个10个存储过程导过去,那久之服务器不就成垃圾箱了吗?即便优化了我的中间层.
页: [1]
查看完整版本: MYSQL网页编程之oracle进修条记(1)-数据备份与恢复