- 浏览: 1197718 次
- 性别:
- 来自: 上海
文章分类
- 全部博客 (361)
- java综合 (33)
- 项目管理 (10)
- 工作流 (6)
- spring (11)
- hibenate (17)
- struts (0)
- javascript,html,css,ajax,jquery (11)
- IDE (9)
- 生活 (0)
- 工作 (0)
- 杂记 (1)
- 数据库 (96)
- 服务器 (5)
- 可视编辑 (0)
- freemarker (6)
- 操作系统 windows (13)
- web页面 (6)
- jms (15)
- 调优 (4)
- 测试和bug管理 (2)
- 原理 (1)
- 項目-atf (17)
- 安全 (3)
- xml (4)
- 操作系统 liunx (21)
- 网络 (22)
- office (11)
- 设计 (2)
- 软件 (1)
- 数据库 mysql (6)
- 胖客户端-flex (1)
- 正则 (9)
- oracle- liunx (3)
- sql2000 (2)
- 模式 (1)
- 虚拟机 (2)
- jstl (2)
- 版本控制 打包工具 (0)
- AOP (1)
- demo (1)
- 小软件 (2)
- 感恩 (1)
- iphone 4 (1)
- 反欺诈业务经验整理 (0)
最新评论
-
sea0108:
mark
java内存模型 -
XingShiYiShi:
方便把:testPNR();具体实现发出来吗?谢谢
用正则表达式解析 航信的电子客票和pnr报文 -
wh359126613:
如果js和webservice不在同一个服务器上,有跨域问题如 ...
使用javascript调用webservice示例 -
雨飛雁舞:
...
oracle 动态性能(V$)视图 -
ouyang1224:
好东西
oracle 动态性能(V$)视图
1.创建表空间
SQL>create tablespace rmorcl
2 datafile '/home/oracle/oracle/oradata/test/rmorcl.dbf' size 20M;
2.创建用户
SQL> create user rmorcl identified by rmorcl default tablespace rmorcl temporary tablespace temp;
3.为用户授权
SQL> grant connect,resource,recovery_catalog_owner to rmorcl;
4.用rman连结目标数据库和恢复目录
[oracle@primary bin]$ ./rman target sys/oracle@primary catalog rmorcl/rmorcl@test
5.创建恢复目录表
RMAN>create catalog tablespace "RMORCL";
6.注册数据库
RMAN>register database;
练习备份
1.备份数据文件
run {
allocate channel d1 type disk maxpiecesize =1G;
backup format 'dbfile_%s_%p' filesperset 2
datafile '/home/oracle/oracle/product/10.2.0/oradata/orcl/users01.dbf',
'/home/oracle/oracle/product/10.2.0/oradata/orcl/users02.dbf';
}
2.备份表空间
run {
allocate channel d2 type disk;
backup format 'tablespace_%d_%s_%p'
(tablespace system,users,sysaux);
}
3.备份数据库
run {
allocate channel d3 type disk maxpiecesize=1G;
backup format 'database_%d_%s_%p'
database filesperset 2;
}
4.备份所有的归档日志文件
run {
allocate channel d4 type disk maxpiecesize=1G;
backup format '/u01/backup/archivelog_%t_%s_%p'
archivelog all;
}
练习恢复
1.恢复数据文件
run {
allocate channel d1 type disk;
restore datafile 4,6,7;
recover datafile 4,6,7;
}
2.恢复表空间(脱机)
run {
allocate channel d2 type disk;
restore tablespace users;
recover tablespace users;
}
3.恢复表空间(联机)
run {
allocate channel d3 type disk;
sql "alter tablespace users offline immediate";
restore tablespace users;
recover tablespace users;
sql "alter tablespace users online";
}
4.恢复数据库
run {
allocate channel d4 type disk;
restore database;
recover database;
}
7利用DBMS_METADATA包获取权限信息[记录后备用]
Oracle的9i增加了DBMS_METADATA包,从此在需要得到对象的创建脚本时,不再需要通过查询多张系统视图去自己拼凑结果了。只需要调用这个包中的GET_DDL过程就可以轻松的获取对象的创建脚本。
不过很多人对DBMS_METADATA包的了解仅限与此。当需要获取用户的权限时,往往还是采用通过到数据字典中读取的方式,其实DBMS_METADATA包本身就支持获取权限信息。
DBMS_METADATA的GET_GRANTED_DDL过程可以用于获取用户的授权信息。Oracle支持的授权相关信息类型包括:OBJECT_GRANT、SYSTEM_GRANT、ROLE_GRANT、DEFAULT_ROLE、TABLESPACE_QUOTA和PROXY。
由于使用十分简单,这里给一个简单的例子,就不详细描述了:
SQL> CREATE USER TEST IDENTIFIED BY TEST DEFAULT TABLESPACE YANGTK;
用户已创建
SQL> GRANT CONNECT TO TEST;
授权成功。
SQL> GRANT SELECT ANY TABLE TO TEST;
授权成功。
SQL> GRANT INSERT, UPDATE ON T TO TEST;
授权成功。
SQL> ALTER USER TEST QUOTA 10M ON YANGTK;
用户已更改。
SQL> CREATE ROLE R1;
角色已创建
SQL> GRANT R1 TO TEST;
授权成功。
SQL> ALTER USER TEST DEFAULT ROLE R1;
用户已更改。
SQL> ALTER USER TEST GRANT CONNECT THROUGH YANGTK;
用户已更改。
SQL> SET LONG 10000
SQL> SELECT DBMS_METADATA.GET_GRANTED_DDL('OBJECT_GRANT', 'TEST') FROM DUAL;
DBMS_METADATA.GET_GRANTED_DDL('OBJECT_GRANT','TEST')
----------------------------------------------------------------------
GRANT UPDATE ON "YANGTK"."T" TO "TEST"
GRANT INSERT ON "YANGTK"."T" TO "TEST"
SQL> SELECT DBMS_METADATA.GET_GRANTED_DDL('SYSTEM_GRANT', 'TEST') FROM DUAL;
DBMS_METADATA.GET_GRANTED_DDL('SYSTEM_GRANT','TEST')
----------------------------------------------------------------------
GRANT SELECT ANY TABLE TO "TEST"
SQL> SELECT DBMS_METADATA.GET_GRANTED_DDL('ROLE_GRANT', 'TEST') FROM DUAL;
DBMS_METADATA.GET_GRANTED_DDL('ROLE_GRANT','TEST')
----------------------------------------------------------------------
GRANT "CONNECT" TO "TEST"
GRANT "R1" TO "TEST"
SQL> SELECT DBMS_METADATA.GET_GRANTED_DDL('DEFAULT_ROLE', 'TEST') FROM DUAL;
DBMS_METADATA.GET_GRANTED_DDL('DEFAULT_ROLE','TEST')
----------------------------------------------------------------------
ALTER USER "TEST" DEFAULT ROLE "R1"
SQL> SELECT DBMS_METADATA.GET_GRANTED_DDL('TABLESPACE_QUOTA', 'TEST') FROM DUAL;
DBMS_METADATA.GET_GRANTED_DDL('TABLESPACE_QUOTA','TEST')
----------------------------------------------------------------------
ALTER USER "TEST" QUOTA 640 ON "YANGTK"
SQL> SELECT DBMS_METADATA.GET_GRANTED_DDL('PROXY', 'TEST') FROM DUAL;
DBMS_METADATA.GET_GRANTED_DDL('PROXY','TEST')
----------------------------------------------------------------------
ALTER USER "TEST" GRANT CONNECT THROUGH "YANGTK"
需要注意的是,如果指定查询的授权不存在,并不是简单的返回未选定行,而是还会显示错误信息:
SQL> REVOKE SELECT ANY TABLE FROM TEST;
撤销成功。
SQL> SELECT DBMS_METADATA.GET_GRANTED_DDL('SYSTEM_GRANT', 'TEST') FROM DUAL;
ERROR:
ORA-31608: 找不到类型为 SYSTEM_GRANT 的指定对象
ORA-06512: 在"SYS.DBMS_SYS_ERROR", line 86
ORA-06512: 在"SYS.DBMS_METADATA", line 631
ORA-06512: 在"SYS.DBMS_METADATA", line 1339
ORA-06512: 在line 1
未选定行
最后还要说明一点,DBMS_METADATA的GET_GRANTED_DDL不会显示SYSDBA和SYSOPER权限。
9.闪回查询 在ORACLE 8I以下,可通过如下语句取得CURRENT SCN 系统检查点scn(v$database(checkpoint_change#)) 数据文件中存放的检查点 1、系统检查点scn 在安全关闭数据库的过程中,系统会执行一个检查点动作,这时所有数据文件的终止scn
(1).查询闪回
例如:
1)在删除员工smith记录后,希望查询到删除该行记录前的值,则可以查询emp在'2007-02-11 23:34:05'时的数据,查询方法如下:
select * from emp as of timestamp to_timestamp('2007-02-11 23:34:05','yyyy-mm-dd hh24:mi:ss') where ename='SMITH';
2)查询当前时间
alter session set nls_date_format='yyyy-mm-dd hh24:mi;ss';
select sysdate from dual;
delete from emp;
commit;
select * from emp as of timestamp to_timestamp('2007-02-11 23:34:05','yyyy-mm-dd hh24:mi:ss');
可以将闪回的数据重新插入到表中:
insert into empbak (select * from empbak as of timestamp to_timestamp('2007-02-11 23:34:05','yyyy-mm-dd hh24:mi:ss'));
(2).表闪回
表闪回要求用户必须要有flash any table权限,首先,必须对表进行下以下操作:
alter table empbak enable row movement;
执行闪回操作
flashback table emp to timestamp to_timestamp('2007-02-11 23:34:05','yyyy-mm-dd hh24:mi:ss');
注:如果表结构发生改变就没有办法闪回。
(3).删除闪回
删除闪回为删除oracle10g中的数据库实体提供了一个安全机制,当用删除一个表时,oracle10g 会将该表放到回收站中,回收站中的对象一真会保留,直到用户决定永久删除它们或出现表空间的空间不足时才会被删除。回收站是一个虚拟容器,用于存储所有被删除的对象。数据字典user_tables中的列dropped表示被删除的表.查询方法如下:
select table_name,dropped from user_tables;
也可以使用show命令显示回收站信息
sql>show recyclebin
或查询数据字典user_recyclebin获得回收站信息
SQL> select object_name,original_name,type,droptime from user_recyclebin;
例如;恢复被删除的表emp.
SQL>flashback table emp to before drop;
如果不知道原表名,可以直接使用回收站中的名称进行闪回。
SQL>flashback table "Bin$DSbdfd4rdfdfdfegdfsf==$0" to before drop;
在回收的同时可以修改表名:
SQL>flashback table "Bin$DSbdfd4rdfdfdfegdfsf==$0" to before drop rename to emp1;
真正删除某一个表,而不进入回收站,可以在删除表时增加purge选项.如将emp表彻底删除.
SQL>drop table emp purge;
也可以通过删除recyclebin区域来永久性删除表
SQL>purge table emp;
删除当前用户的回收站
SQL>purge recyclebin;
删除全体用户在回收站的数据.
SQL>purge dba_recyclebin
(4).数据库闪回
使用数据库闪回功能,可以使数据库回到过去某一状态, 语法如下:
SQL>alter database flashback on
SQL>flashback database to scn 46963;
SQL>flashback database to timestamp to_timestamp('2007-2-12 12:00:00','yyyy-mm-dd hh24:mi:ss');10.SCN
select max(ktuxescnw*power(2,32)+ktuxescnb) from x$ktuxe;
在ORACLE 9I,使用如下语句取得CURRENT SCN
select dbms_flashback.get_system_change_number from dual;
数据文件检查点(v$datafile(checkpoint_change#))
数据文件终止scn(v$datafile(last_change#))
启动scn (v$datafile_header(checkpoint_change#)
当一个检查点动作完成之后,Oracle就把系统检查点的SCN存储到控制文件中。
select checkpoint_change# from v$database
2、数据文件检查点scn
当一个检查点动作完成之后,Oracle就把每个数据文件的scn单独存放在控制文件
中。
select name,checkpoint_change# from v$datafile
3、启动scn
Oracle把这个检查点的scn存储在每个数据文件的文件头中,这个值称为启动scn,
因为它用于在数据库实例启动时,检查是否需要执行数据库恢复。
select name,checkpoint_change# from v$datafile_header
4、终止scn
每个数据文件的终止scn都存储在控制文件中。
select name,last_change# from v$datafile
在正常的数据库操作过程中,所有正处于联机读写模式下的数据文件的终止scn都为null.
5、在数据库运行期间的scn值
在数据库打开并运行之后,控制文件中的系统检查点、控制文件中的数据文件检查点scn
和每个数据文件头中的启动scn都是相同的。控制文件中的每个数据文件的终止scn都为null.
都会设置成数据文件头中的那个启动scn的值。在数据库重新启动的时候,
Oracle将文件头中的那个启动scn与数据库文件检查点scn进行比较,
如果这两个值相互匹配,oracle接下来还要比较数据文件头中的启动scn和控制文件
中数据文件的终止scn。如果这两个值也一致,就意味着所有数据块多已经提交,所有
对数据库的修改都没有在关闭数据库的过程中丢失,因此这次启动数据库的过程
也不需要任何恢复操作,此时数据库就可以打开了。当所有的数据库都打开之后,
存储在控制文件中的数据文件终止scn的值再次被更改为null,
这表示数据文件已经打开并能够正常使用了。
发表评论
-
并发行级锁超2秒报警监控sql
2010-07-20 16:18 1938并发行级锁超2秒报警监控sql -
数据设计规范v
2010-06-22 19:47 0数据设计规范v -
Oracle 有趣排序包括那些
2010-06-20 16:51 1451按拼音排序 select * from table ... -
Oracle sql 性能优化调整
2010-06-20 16:15 1395Oracle sql ... -
Delete、Drop、Truncate的比较(转)
2010-05-31 13:39 1474Delete、Drop、Truncate的比较 关键字: d ... -
Oracle误操作解决方案(转)
2010-05-31 13:35 1391Oracle误操作解决方案 文章分类:数据库 一.误删除数 ... -
一个递归调用的存储过程
2010-04-19 01:51 1848一个递归调用的存储过程 -
oracle index学习总结
2009-12-08 10:44 19629oracle index 1.index需要储存空间 ... -
Jdbc 和hibernate
2009-11-16 23:38 1875Jdbc 和hibernate 一、Jdbc是java ... -
去掉 powerDesigner 中表设计时的 name和code联动的功能
2009-11-16 17:04 3484去掉 powerDesigner 中表设计时的 name和co ... -
oracle数据库索引未被使用的问题及其解决2007
2009-11-15 01:42 2131一次,在进行WEB页面上进行历史数据文件检查时,发现数据库访问 ... -
误删除数据后怎么立即恢复(不考虑全库备份和利用归档日志)
2009-09-27 18:01 3385要达到删除数据,有以下几种方式都可以:1、delete2、dr ... -
IMP数据到指定的表空间
2009-09-27 12:47 9103IMP数据到指定的表空间 一直以来,我都认为只要指定用户的默 ... -
ORACLE UPDATE 语句语法与性能分析
2009-09-27 09:49 1880为了方便起见,建立了以下简单模型,和构造了部分测试数据: 在 ... -
oracle job 例子
2009-09-22 12:38 3064一、设置初始化参 ... -
oracle 时间加减综合
2009-09-17 11:43 1981加法 select sysdate,add_mon ... -
详细介绍ORACLE sqlplus命令
2009-09-09 16:42 2061一、ORACLE的启动和关闭1、在单机环境下要想启动或关闭OR ... -
AWR介绍与SYSAUX空间关系 SYASAUX表空间满了 系统慢
2009-09-08 09:45 7957AWR介绍与SYSAUX空间关系 2007-11-05 14 ... -
to_char 'NLS_DATE_LANGUAG参数
2009-09-02 18:41 1480select to_char(sysdate, 'Day'), ... -
Oracle oracle 多语言排序
2009-08-17 14:43 1972Oracle9i之前,中文是按照二进制编码进行排序的。在ora ...
相关推荐
在《Oracle 11g RMAN备份和恢复》中,读者将学习如何配置RMAN环境,设置备份策略,以及如何利用通道来并行执行备份任务,提高备份效率。此外,书中还会讲解如何使用RMAN与磁带库、网络存储设备以及Oracle Secure ...
备份与恢复是确保数据安全的重要环节,尤其对于初学者来说,理解并熟练掌握Oracle的备份和还原策略至关重要。本练习旨在帮助你深入理解Oracle的备份与还原机制,提升你在实际操作中的技能。 Oracle备份主要包括物理...
在“oracle之初体验-rman(一)”中,可能涵盖了RMAN的基本概念和环境设置,包括连接到数据库、配置备份目标(如磁盘或磁带设备)以及创建备份策略。这些基础设置是所有RMAN操作的前提。 “oracle之初体验-rman(二...
- **介质恢复**:当数据文件丢失或损坏时,使用备份恢复。 - **逻辑恢复**:如误删除表或记录,使用撤销或重做日志进行恢复。 6. **RMAN脚本和自动化** - **RMAN脚本**:编写RMAN命令脚本,方便重复执行备份策略...
以下将详细阐述RMAN的基础知识、命令用法、备份与恢复操作及其实践应用。 首先,RMAN的基础知识是学习的起点。RMAN是Oracle数据库10g版本引入的核心组件,它通过与数据库服务器的交互,实现对数据库的备份和恢复。...
- 控制文件恢复:当控制文件损坏时,使用备份恢复。 - 闪回恢复:利用闪回日志回滚到特定时间点。 - 逻辑恢复:用于恢复逻辑错误,如误删除表、记录等。 5. RMAN与恢复目录: 恢复目录数据库存储RMAN备份的元...
2. **介质恢复**:当数据文件、控制文件或日志丢失时,使用备份恢复。 3. **闪回恢复**:利用闪回日志和归档日志,将数据库恢复到某个时间点。 **RMAN其他功能:** - **验证备份**:检查备份的完整性,确保可以成功...
使用 EM 配置 RMAN 设置需要 DBA 了解 EM 的管理功能和 RMAN 的配置方法,以便更好地备份和恢复数据库。 这些知识点涵盖了 Oracle Database 10g 的数据库管理、实例管理、内存结构、进程、物理数据库结构、OMF、...
Oracle数据库作为一款成熟的数据库管理系统,拥有强大的数据备份与恢复功能,但在日常运维过程中,由于人为失误,使用rm -rf命令错误删除数据库文件的事件时有发生。本文针对没有备份情况下,如何利用Oracle数据库...
将快速恢复区与 RMAN 配合使用 2-14 使用 EM 监视快速恢复区 2-16 快速恢复区的空间使用 2-17 V$FLASH_RECOVERY_AREA_USAGE 2-18 备份快速恢复区 2-20 使用快速恢复区的优点 2-21 设置影响 RMAN 的参数 2-22 ...
- **掌握备份与恢复机制**:了解Oracle Recovery Manager (RMAN)的工作原理及配置方法。 - **实践操作**:通过具体案例学习如何有效地管理和维护Oracle数据库。 ##### 2. 建议学习计划 - 首先回顾Oracle基础概念和...
在Oracle数据库中,RMAN(Recovery Manager)是用于备份、恢复和灾难恢复的重要工具。nocatalog模式指的是不通过RMAN目录表进行备份管理的情况。这种模式下,备份和恢复操作完全依赖于控制文件中的记录。 - **启动...
将快速恢复区与 RMAN 配合使用 2-14 使用 EM 监视快速恢复区 2-16 快速恢复区的空间使用 2-17 V$FLASH_RECOVERY_AREA_USAGE 2-18 备份快速恢复区 2-20 使用快速恢复区的优点 2-21 设置影响 RMAN 的参数 2-22 ...
Oracle Certified Professional(OCP)是Oracle公司为数据库管理员设立的专业认证,它涵盖了Oracle数据库的各个方面,包括安装配置、性能优化、备份与恢复等关键技能。本篇“OCP中文教材(WORKSHOP II)”主要聚焦在...
Recovery Manager 的配置部分则详细介绍了 Recovery Manager 的功能、组件、配置步骤、备份目标、介质管理、快速恢复区的使用、快速恢复区的空间使用、RMAN 的连接类型、启动 RMAN、RMAN 命令行参数、配置 RMAN 的...
考试1Z0-053旨在测试考生对于Oracle Database 11g的高级管理任务和概念的掌握程度,包括但不限于数据库架构、备份与恢复、RMAN(Recovery Manager)使用、监控、调优、闪回技术、内存管理、全球化设置等方面的能力。...
综上所述,Oracle Database 11g Administration Workshop II这门课程旨在深化学员对Oracle数据库管理的理解和技能,通过理论与实践相结合的方式,让学员掌握数据库体系结构、存储管理、备份恢复等核心领域的知识和...
- **配置步骤**: 配置RMAN涉及多个步骤,例如设置备份目的地、配置备份保留策略等。 **3.3 快速恢复区的使用** - **快速恢复区**: 是一个专用的文件系统区域,用于存放备份和归档日志文件。通过合理配置,可以显著...