Oracle—用户管理的备份(二)
在用户管理的备份(一)中(详见:Oracle—用户管理的备份)对用户管理备份几种情况进行了说明;接下来说明几种特别情况和DBverify的使用。
一.如果在表空间在备份模式下,主机发生了异常关闭,会出现什么情况?
打开第一个会话窗口,以sys用户登录,把表空间users置于备份模式。
SQL> alter tablespace users begin backup;
Tablespace altered.
打开第二个会话窗口,以sys用户登录,用shutdown abort命令模拟断电。
SQL> shutdown abort;
ORACLE instance shut down.
在第一个会话窗口,重新启动。
SQL> startup
ORACLE instance started.
Total System Global Area 146472960 bytes
Fixed Size 1335080 bytes
Variable Size 92274904 bytes
Database Buffers 50331648 bytes
Redo Buffers 2531328 bytes
Database mounted.
ORA-10873: file 4 needs to be either taken out of backup mode or media
recovered
ORA-01110: data file 4: '/u01/oradata/wilson/users01.dbf'
可以看到数据库打不开,只能处于mount状态;
解决办法:
SQL> select * from v$backup;(v$backup可以看到哪些文件置于备份状态)
FILE# STATUS CHANGE# TIME
---------- ------------------ --------- ---------
1 UNKNOWN ERROR 2794785 23-AUG-13
2 UNKNOWN ERROR 2794785 23-AUG-13
3 UNKNOWN ERROR 2794785 23-AUG-13
4 ACTIVE 2805598 23-AUG-13
5 NOT ACTIVE 2794785 23-AUG-13
6 NOT ACTIVE 2794785 23-AUG-13
7 NOT ACTIVE 2794785 23-AUG-13
8 NOT ACTIVE 2794785 23-AUG-13
9 NOT ACTIVE 2794785 23-AUG-13
10 NOT ACTIVE 2794785 23-AUG-13
11 NOT ACTIVE 2794785 23-AUG-13
11 rows selected.
可以看到文件4是active的,它处于备份状态,为了正常启动,必须关闭备份状态;
SQL> alter database end backup;
Database altered.
这样就可以把所有表空间的备份状态关闭。
也可以用alter database datafile 4 end backup;
再查看视图,可以看到所有的文件已经在非备份状态了;
SQL> select * from v$backup;
FILE# STATUS CHANGE# TIME
---------- ------------------ ---------- ---------
1 NOT ACTIVE 2794785 23-AUG-13
2 NOT ACTIVE 2794785 23-AUG-13
3 NOT ACTIVE 2794785 23-AUG-13
4 NOT ACTIVE 2805598 23-AUG-13
5 NOT ACTIVE 2794785 23-AUG-13
6 NOT ACTIVE 2794785 23-AUG-13
7 NOT ACTIVE 2794785 23-AUG-13
8 NOT ACTIVE 2794785 23-AUG-13
9 NOT ACTIVE 2794785 23-AUG-13
10 NOT ACTIVE 2794785 23-AUG-13
11 NOT ACTIVE 2794785 23-AUG-13
11 rows selected.
打开数据库,
SQL> alter database open;
Database altered.
二.只读表空间备份
把example表空间改为只读表空间,
SQL> alter tablespace example read only;
Tablespace altered.
然后用!cp命令把它复制到别的地方即可,但是有个问题就是在把example改为只读表空间时,控制文件发生了改变,所以要备份控制文件!
1.只读表空间只要备份一次就可以了,因为它不能被修改。
2.当把只读表空间改为可读可写表空间时,是否一定要备份?不用备份,保存好归档日志文件即可,不过最好备份。
3.当控制文件发生改变时必须备份。
三.当大量的数据导入或者导出时,把数据库置于nologging下,这样就尽可能的不产生redo log信息,提高性能,等到操作完成后备份一下即可。
四.DBverify
1. 它可以用来检查数据文件的块是否损坏,无论是数据文件是在online状态还是off状态或者是备份的数据文件都可以检查,不能检查联机重做日志文件和控制文件的块。
在操作系统下,输入dbv可以看到有关参数,
[oracle@oracle11g ~]$ dbv
DBVERIFY: Release 11.2.0.1.0 - Production on Fri Aug 23 12:32:17 2013
Copyright (c) 1982, 2009, Oracle and/or its affiliates. All rights reserved.
Keyword Description (Default)
------------ ------------------ ----------------------
FILE File to Verify (NONE)
START Start Block (First Block of File)
END End Block (Last Block of File)
BLOCKSIZE Logical Block Size (8192)
LOGFILE Output Log (NONE)
FEEDBACK Display Progress (0)
PARFILE Parameter File (NONE)
USERID Username/Password (NONE)
SEGMENT_ID Segment ID (tsn.relfile.block) (NONE)
HIGH_SCN Highest Block SCN To Verify (NONE)
(scn_wrap.scn_base OR scn)
检查数据文件system01.dbf,feedback=100表示检查每100个数据块就打上一个点;默认情况下,检查从一个块开始到最后一个结束;使用logfile可以把检查的结果信息放到一个文件中。 如下:
如[oracle@oracle11g wilson]$ dbv file=system01.dbf feedback=100
DBVERIFY: Release 11.2.0.1.0 - Production on Fri Aug 23 12:37:43 2013
Copyright (c) 1982, 2009, Oracle and/or its affiliates. All rights reserved.
DBVERIFY - Verification starting : FILE = /u01/oradata/wilson/system01.dbf
................................................................................
................................................................................
.
DBVERIFY - Verification complete
Total Pages Examined : 97280
Total Pages Processed (Data) : 66872
Total Pages Failing (Data) : 0
Total Pages Processed (Index): 12537
Total Pages Failing (Index): 0
Total Pages Processed (Other): 3343
Total Pages Processed (Seg) : 1
Total Pages Failing (Seg) : 0
Total Pages Empty : 14528
Total Pages Marked Corrupt : 0
Total Pages Influx : 0
Total Pages Encrypted : 0
Highest block SCN : 2828302 (0.2828302)
2.它也可以来用来检查数据文件的一个表或者索引。
在p1用户下有一张表fruit,
SQL> select * from p1.fruit;
NAME
--------------------------------
two apple
在表sys_dba_segs中找到 Segment ID (tsn.relfile.block) 的数值;
SQL> select segment_name,tablespace_id,header_file,header_block from sys_dba_segs where owner='P1';
SEGMENT_NAME TABLESPACE_ID HEADER_FILE HEADER_BLOCK
--------------- --------------- - ----------- ------------
FRUIT 4 4 810
然后在操作系统下,使用查到的数值,就可以查到某一个表了。
[oracle@oracle11g ~]$ dbv userid=p1/p1_12345 segment_id=4.4.810
DBVERIFY: Release 11.2.0.1.0 - Production on Fri Aug 23 13:25:50 2013
Copyright (c) 1982, 2009, Oracle and/or its affiliates. All rights reserved.
DBVERIFY - Verification starting : SEGMENT_ID = 4.4.810
DBVERIFY - Verification complete
Total Pages Examined : 8
Total Pages Processed (Data) : 5
Total Pages Failing (Data) : 0
Total Pages Processed (Index): 0
Total Pages Failing (Index): 0
Total Pages Processed (Other): 2
Total Pages Processed (Seg) : 1
Total Pages Failing (Seg) : 0
Total Pages Empty : 0
Total Pages Marked Corrupt : 0
Total Pages Influx : 0
Total Pages Encrypted : 0
Highest block SCN : 2798211 (0.2798211)
Oracle—用户管理的备份(二)的更多相关文章
- Oracle—用户管理的备份(一)
用户管理的备份(一) 一.首先要知道数据库中表空间和文件的信息,有几个性能视图,v$datafile,v$tablespace,v$tempfile,v$logfile,v$controlfile,d ...
- Oracle—用户管理的完全恢复(一)
一.分类 可以分为在非归档模式下和归档模式下的完全恢复,完全恢复主要是针对归档模式下的,在非归档模式下很难做到完全恢复,除非是在做恢复时,联机重做日志还没有被重写. 二.非归档的有关性质 1.在非归档 ...
- Oracle DB 执行用户管理的备份和恢复
• 说明用户管理的备份和恢复与服务器管理的备份和恢复 之间的差异 • 执行用户管理的数据库完全恢复 • 执行用户管理的数据库不完全恢复 备份和恢复的使用类型 数据库备份和恢复的类型包括: • 用户管理 ...
- Oracle—用户管理的完全恢复(四)
在用户管理的备份(三)中,最后打开数据库时,用了alter database open resetlogs;的命令,这里为什么用resetlogs命令? 一.resetlogs的作用 1.将当前的日志 ...
- Oracle 用户管理权限
Oracle 用户管理权限 一.创建用户的Profile文件 SQL> create profile student limit // student为资源文件名 FAILED_LOGIN_AT ...
- Oracle 用户管理与权限控制
Oracle 用户管理与权限控制 oracle数据库的权限系统分为系统权限与对象权限.系统权限( database system privilege )可以让用户执行特定的命令集.例如,create ...
- 四、oracle 用户管理(Profile)
oracle 用户管理 :profile + tablespace + role + user 一.使用profile管理用户口令概述:profile是口令限制,资源限制的命令集合,当建立数据库时, ...
- 三、oracle 用户管理一
三.oracle 用户管理一 一.创建用户概述:在oracle中要创建一个新的用户使用create user语句,一般是具有dba(数据库管理员)的权限才能使用.create user 用户名 ide ...
- Oracle的学习一:安装与卸载、sql *plus常用命令、Oracle用户管理
1.为什么学习oracle? 性能优越: 小型数据库 中型数据库 大型数据库 acess.foxbase mysql.sql server.informix sybase.oracle.db2 复杂量 ...
随机推荐
- Linux_shell条件判断if中的-a到-z的意思
[ -a FILE ] 如果 FILE 存在则为真. [ -b FILE ] 如果 FILE 存在且是一个块特殊文件则为真. [ -c FILE ] 如果 FILE 存在且是一个字特殊文件则 ...
- linux 命令行更新sdk
./android list sdk --proxy-host android-mirror.bugly.qq.com --proxy-port 8080 --no-ui -a -s ./androi ...
- android反编译工具 ApkDec-Release-0.1
(1 )使用帮助 1. 选择 all 全部编译内容包括jar .xml .及其他资源文件 2. 选择 jar 只反编译并打成jar 包 3. 反编译后你可以使用jd-gui.ex ...
- 关于Action返回结果类型的事儿(下)
原文:关于Action返回结果类型的事儿(下) using System; using System.Collections.Generic; using System.Linq; using ...
- HDOJ 1393 Weird Clock(明白题意就简单了)
Problem Description A weird clock marked from 0 to 59 has only a minute hand. It won't move until a ...
- POJ2104-- K-th Number(主席树静态区间第k大)
[转载]一篇还算可以的文章,关于可持久化线段树http://finaltheory.info/?p=249 无修改的区间第K大 我们先考虑简化的问题:我们要询问整个区间内的第K大.这样我们对值域建线段 ...
- POI操作Excel2007实例二之“SXSSFWorkbook”处理海量数据
转自:http://blog.csdn.net/little_stars/article/details/8266262 前文讲述了 POI 读取的基本操作,但后期 经过试验,当写入数据量超过5万条以 ...
- [置顶] 如何更改CSDN博客高亮代码皮肤的样式,使博客看起来更有范(推荐)
由于本人写博客的时候,也没有配置博客的相关属性,因此贴出来的代码块都是CSDN默认的,因此代码背景色都是白色的,如下所示: 但是本人在浏览他人博客的时候,发现有些博客的代码块看起来比较有范,整个代码库 ...
- activity theme parent 属性浅析
在AndroidManifest.xml文件中,可以对每一个Activity设置android:themetheme的设置 可以设置为系统自带的格式,也可以自定义格式. A: 系统自带格式 1.and ...
- HTML获取用户输入的几种玩法
input标签 input是一个自闭和标签,可以获得用户的输入 form标签 form标签是用来进行表单提交用的,它把用户的输入内容提交到服务器. 一个注册页面的例子 <!DOCTYPE htm ...