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 复杂量 ...
随机推荐
- 将EmEditor加入到鼠标右键菜单
在清理系统的时候,无意中将EmEditor的鼠标右键功能给清理掉了,在EmEditor的配置中又没有找到如何加入到鼠标右键菜单的方法,只好使用导入注册表功能了,以下的代码,拷贝到记事本中,保存为EmE ...
- php异步调用方法实现示例
php 异步调用方法 客户端与服务器端是通过HTTP协议进行连接通讯,客户端发起请求,服务器端接收到请求后执行处理,并返回处理结果. 有时服务器需要执行很耗时的操作,这个操作的结果并不需要返回 ...
- jdk8永久代从方法区移除的验证
/*** 测试使用jdk8中是否仍然可以使用永久代* jvm options * -Xms20m -Xmx20m -Xmn10m -XX:PermSize=10m -XX:MaxPermSize=10 ...
- android反编译工具 ApkDec-Release-0.1
(1 )使用帮助 1. 选择 all 全部编译内容包括jar .xml .及其他资源文件 2. 选择 jar 只反编译并打成jar 包 3. 反编译后你可以使用jd-gui.ex ...
- 删除WIN7系统的共享文件
运行里面输入fsmgmt.msc命令,点开共享目录,选定要取消共享的文件右键,停止共享.
- hdu-1598
思路: 首先如果想到了Kruskal算法,那么下一步我们可能马上会想:那我们就从头开始写这个算法吧.然后一写就很容易发现一个问题——如果按照正常的Kruskal算法来做,那么start到end的舒适度 ...
- HDFS文件读取详解
客户端与HDFS文件读取 创建HDFS文件系统实例 FileSystem fs = FileSystem.get(new URI("hdfs://ns1"), new Config ...
- linux ubuntu 浏览器 字 字体 虚 解决办法
在刚装好的ubuntu上什么都好,只是浏览器字体很虚,就连百度都虚 解决办法很简单 安装雅黑字体 修改font conf sudo vi /etc/fonts/conf.avail/69-langua ...
- effective C++: 5实现
五.实现 大多数情况下,适当提出拟的类定义以及函数声明,是花费最多心力的两件事.尽管如此,还是有很多东西需要小心:太快定义变量可能造成效率上的拖延:过度使用转型(casts)可能导致代码变慢又难维护, ...
- 获取布局 ActionBar
LayoutInflater inflater = getLayoutInflater();View imageLayout = inflater.inflate(R.layout.preferenc ...