仓酷云

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

[学习教程] MSSQL网页编程之数据库恢复一例(2)

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

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

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

x
因此,我们的第一个“米”,就是二进制日志binlog必须是rowbased的。在rowbase下,二进制日志binlog同时记录了更新前后的整行记录。恢复|数据|数据库
比来经由过程做实行总结出一种数据库恢复办法,对从此的事情很有匡助:

数据库为非回档形态,只要一周前的数据文件的备份,无redolog,回档日记和controlfile的备份,此种情形一但数据库出妨碍只能做不完整恢复,会丧失一周前做备份时到出妨碍那一时分的一切数据,详细恢复办法以下:

操纵体系为solaris8,内存2G,2颗CPU.

实行步骤:
$sqlplus/nolog
SQL>connect/assysdba
SQL>archiveloglist
DatabaselogmodeNoArchiveMode
AutomaticarchivalEnabled
Archivedestination/opt/oracle/arch/ORCL
Oldestonlinelogsequence895
Currentlogsequence897

SQL>select*fromv$logfile;

GROUP#STATUS
-----------------
MEMBER
--------------------------------------------------------------------------------
3
/opt/oracle/db04/oradata/ORCL/redo03.log

2
/opt/oracle/db03/oradata/ORCL/redo02.log

1
/opt/oracle/db02/oradata/ORCL/redo01.log

SQL>select*fromv$controlfile;

STATUS
-------
NAME
--------------------------------------------------------------------------------

/opt/oracle/db02/oradata/ORCL/control01.ctl


/opt/oracle/db03/oradata/ORCL/control02.ctl


/opt/oracle/db04/oradata/ORCL/control03.ctl

SQL>alterdatabasebackupcontrolfiletotrace;
(备份把持文件,此时会在$ORACLE_BASE/admin/ORCL/udump目次里天生trace文件)

SQL>shutdownimmediate(封闭以后数据库)
Databaseclosed.
Databasedismounted.
ORACLEinstanceshutdown.
SQL>quit
Disconnected

摹拟数据丧失:

删除以后一切的数据文件,把持文件和redolog文件:

$rm-rf?/opt/oracle/db02/oradata/ORCL/*

$rm/opt/oracle/db03/oradata/ORCL/redo02.log

$rm/opt/oracle/db03/oradata/ORCL/control02.ctl

$rm/opt/oracle/db04/oradata/ORCL/redo03.log

$rm/opt/oracle/db04/oradata/ORCL/control03.ctl

把一周前备份的数据文件copy返来,目次布局和之前一样,但这时候由于没有redolog和controlfile文件,数据库只能启动到nomount形态:


编纂udump目次下天生的orcl_ora_7140.trc文件,把内里的创立controlfile的那部份内容粘贴上去放在SQL里实行:
(这里要注重必定要用resetlogs体例重修把持文件,resetlogs以后会天生新的redolog,而且把以后redofile的sequence置为1,不然创立把持文件会失利):
SQL>STARTUPNOMOUNT
SQL>CREATECONTROLFILEREUSEDATABASE"ORCL"RESETLOGSNOARCHIVELOG
2MAXLOGFILES32
3MAXLOGMEMBERS2
4MAXDATAFILES254
5MAXINSTANCES8
6MAXLOGHISTORY907
7LOGFILE
8GROUP1/opt/oracle/db02/oradata/ORCL/redo01.logSIZE50000K,
9GROUP2/opt/oracle/db03/oradata/ORCL/redo02.logSIZE50000K,
10GROUP3/opt/oracle/db04/oradata/ORCL/redo03.logSIZE50000K
11DATAFILE
12/opt/oracle/db02/oradata/ORCL/system01.dbf,
13/opt/oracle/db02/oradata/ORCL/tools01.dbf,
14/opt/oracle/db02/oradata/ORCL/rbs01.dbf,
15/opt/oracle/db02/oradata/ORCL/temp01.dbf,
16/opt/oracle/db02/oradata/ORCL/users01.dbf,
17/opt/oracle/db02/oradata/ORCL/indx01.dbf,
18/opt/oracle/db02/oradata/ORCL/drsys01.dbf,
19/opt/oracle/db02/oradata/ORCL/wacos.dbf,
20/opt/oracle/db02/oradata/ORCL/wacos01.dbf,
21/opt/oracle/db02/oradata/ORCL/wacos02.dbf,
22/opt/oracle/db02/oradata/ORCL/wacos03.dbf,
23/opt/oracle/db02/oradata/ORCL/wacos04.dbf,
24/opt/oracle/db02/oradata/ORCL/wacos05.dbf,
25/opt/oracle/db02/oradata/ORCL/wacos06.dbf,
26/opt/oracle/db02/oradata/ORCL/nms.dbf,
27/opt/oracle/db02/oradata/ORCL/test.dbf
28CHARACTERSETWE8ISO8859P1;

Controlfilecreated.

SQL>alterdatabaseopenresetlogs;(以resetlogs体例翻开数据库)
Databasealtered.

SQL>selectstatusfromv$instance;(反省数据库的形态)
STATUS
-------
OPEN

SQL>select*fromv$logfile;(反省logfile的形态)
GROUP#STATUS
-----------------
MEMBER
--------------------------------------------------------------------------------
3
/opt/oracle/db04/oradata/ORCL/redo03.log

2
/opt/oracle/db03/oradata/ORCL/redo02.log

1
/opt/oracle/db02/oradata/ORCL/redo01.log


SQL>select*fromv$controlfile;(反省把持文件的形态)

STATUS
-------
NAME
--------------------------------------------------------------------------------

/opt/oracle/db02/oradata/ORCL/control01.ctl


/opt/oracle/db03/oradata/ORCL/control02.ctl


/opt/oracle/db04/oradata/ORCL/control03.ctl
导致了一个使用几乎和mSQL一样的API接口的用于他们的数据库的新的SQL接口的产生,这样,这个API被设计成允许为用于mSQL而写的第三方代码更容易移植到MySQL。
深爱那片海 该用户已被删除
沙发
发表于 2015-1-19 17:46:13 | 只看该作者
这一点很好的加强了profiler的功能。但是提到profiler提醒大家注意一点。windows2003要安装sp1补丁才能启动profiler。否则点击没有反应。
老尸 该用户已被删除
板凳
发表于 2015-1-24 15:41:18 | 只看该作者
SQLServer的异构移植功能个人感觉最好了。(如果对比过SQLServer的链接服务器和Oracle的透明网关的朋友会发现SQLServer的sp_addlinkedserver(openquery)异构数据库系列比Oracle真是强太多了。)
兰色精灵 该用户已被删除
地板
发表于 2015-2-7 16:05:46 | 只看该作者
理解了存储结构,再阅读下性能优化的章节基本上会对sqlserver有个清晰地认识
简单生活 该用户已被删除
5#
发表于 2015-2-22 13:44:34 | 只看该作者
现在是在考虑:如果写到服务器端,我一下搞他个10个存储过程导过去,那久之服务器不就成垃圾箱了吗?即便优化了我的中间层.
小女巫 该用户已被删除
6#
发表于 2015-3-7 00:34:48 | 只看该作者
比如日志传送、比如集群。。。
透明 该用户已被删除
7#
发表于 2015-3-13 23:45:44 | 只看该作者
分区表是个亮点!从分区表也能看出微软要做大作强SQLServer的信心。资料很多,这里不详细说。但是重点了解的是:现在的SQLServer2005的表,都是默认为分区表的。因为它要支持滑动窗口的这个特性。这种特性对历史数据和实时数据的处理是很有帮助的。
再现理想 该用户已被删除
8#
发表于 2015-3-20 22:40:02 | 只看该作者
大家注意一点。如下面的例子:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2024-12-22 23:52

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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