表空间

Oracle闪回技术之一Oracle 11g 利用FlashTable (闪回表)恢复(用delete)误删的数据

ぐ巨炮叔叔 提交于 2019-12-03 18:20:58
闪回表,实际上就是将表中的数据快速恢复到过去的一个时间点或者系统改变号SCN上。实现表的闪回,需要用到撤销表空间相关的UNDO信息,通过SHOW PARAMETER UNDO命令就可以了解这些信息。用户对表的数据的修改操作,都记录在撤销表空间中,这为表的闪回提供的数据恢复的基础。 修改记录被提交到undo表空间中的默认保留时间为900秒,用户可以在这900秒的时间内对表的进行闪回操作,从而将表中的数据恢复的修改前的状态。 如上图显示的默认900秒,我们通过sql来修改这个默认时间为1200: flashtable的语法: flashback table [schema.]table_name to {[before drop [rename to new_table_name]] | [SCN | TIMESTAMP] expr [enable | desable] triggers} schema:模式名 table_name :表名 before drop 表示回复到删除之前 rename new_table_name 重新定义表名称 timestamp 时间戳,包括年月日时分秒 expr 制定一个值或表达式 enable triggers 触发器恢复后,呈启用状态 disabled triggers 触发器回复后,呈禁用状态,默认情况下为此选项。 下面演示一个示例:

oracle学习篇:七、回滚与撤销

£可爱£侵袭症+ 提交于 2019-12-03 14:24:28
7.1 什么是回滚和撤销 在事务开始时,首先需要在回滚表空间获得一个事务槽,分配空间,然后创建前镜像,此后事务的修改才能进行,oracle必须以此来保证事务是可以回退的。 如果用户提交了事务,oracle会在日志文件记录提交,并且写出日志,同时会在回滚段中把该事务标记为已提交;如果用户回滚事务,则oracle需要从回滚段中把前镜像数据读取出来,修改数据缓冲区,完成回滚,这个过程本身也要产生redo,所以回滚这个操作是很昂贵的。 7.2 回滚段存储的内容 redo中只会记录少量信息,这些信息足以重演事务;同样undo中也只记录精简信息,这些信息足以撤销事务。 对于insert操作,回滚段只需要记录插入记录的rowid,如果回退,只需将该记录根据rowid删除即可。 对于update操作,回滚段只需要记录被更新字段的旧值即可(前镜像),回退时通过旧值覆盖新值即可完成回退。 对于delete操作,oracle则必须记录整行的数据,在回退时,oracle通过一个反向操作恢复删除的数据。 对于相同数据量的数据操作,通常insert产生最少的undo,update产生的undo居中,而delete操作失败或回滚,总是需要很长的时间,并且会有大量的redo生成。所以通常在进行大规模数据删除操作时,推荐通过分批删除分次提交,以较少对于回滚段的占用和冲击。 7.3 并发控制和一致性读 7.4

Oralce 学习笔记

大憨熊 提交于 2019-12-03 11:06:50
1. Oracle 数据库文件后缀是什么格式? 数据文件是以oracle自定义的格式存储的,没有固定的后缀名,一般通用的为.dbf和.ora而默认是dbf的 2.Database Configuration Assistant 是干什么的? Database Configuration Assistant 是增删改查操作数据库的。 3.Oracle 默认账户有哪些? SYS SYSTEM DBSNMP SYSMAN 4. 全局数据库名称:LOCAL_DB 数据库配置类型:单实例 SID:LOCALDB 管理选项类型:Database Control 存储类型:文件系统 内存配置类型:自动内存管理 表空间: SYSTEM SYSAUX UNDOTBS1 TEMP 5. 数据库中表和表结构的迁移——从Oracle到MySql 原文: https://blog.csdn.net/quf2zy/article/details/79089646 来源: https://www.cnblogs.com/xingyunblog/p/11792654.html

Oracle基础教程(一)

大城市里の小女人 提交于 2019-12-03 10:19:21
Oracle基础教程(一) 本文链接: https://blog.csdn.net/GoldenKitten/article/details/84947386 以下内容为转载以上博客,自己做了略微的补充,如需查看原文,请点击上面的链接,指引到原博主的博客。 文章目录 最新Oracle基础教程(一) 1 Oracle 1.1 Oracle简介 1.2 Oracle体系结构 1.3 Oracle常用操作 1.3.1 登录 1.3.2 查看当前连接数据库的用户 1.3.3 用户的切换 1.3.4 查看用户下的表 1.3.5 查看表结构 1.3.6 创建表空间 1.3.7 创建用户 1.3.8 文件操作命令 1.3.9 交互式命令 1.4 用户管理 1.4.1 创建用户 1.4.2 给用户修改密码 1.4.3 删除用户 1.4.4 权限 1.4.5 角色 1.4.6 用户管理的综合案例 1.4.7 权限的传递 1.5 用户口令管理 1.5.1 使用profile管理用户口令 1.5.2 账户锁定 1.5.3 给账户(用户)解锁 1.5.4 终止口令 1.5.5 口令历史 1.6 Oracle数据类型 1.7 表管理 1.7.1 建表 1.7.2 删除表 1.7.3 修改表 1.7.4 截断表 1.8 表数据更新 1.8.1 INSERT 1.8.2 事务 1.8.3 UPDATE 1.8

Audit(二)--清理Audit数据

五迷三道 提交于 2019-12-03 05:17:28
(一) 概述 Audit的数据主要存储在sys.aud$表中,该表默认位于system表空间中,我们根据需求,将该表移到了sysaux表空间中。由于审计数据量较大,需要经常关注sysaux表空间的使用情况,同时根据实际情况对sys.aud$表进行数据清理。 (二) 清理步骤 (1)使用sys账号登陆数据库,打开计时功能,方便查看每一个命令的执行时间 SQL> set timing on (2)在清理数据之前先查看数据量大小 SQL> select count(*) from sys.aud$; (3)查看Audit表中最早一笔数据的时间,即审计表中记录的最早的时间 SQL> select min(ntimestamp#) from sys.aud$; MIN(NTIMESTAMP#) ---------------------------------------- 23-11月-16 08.18.54.496893 上午 (4)查看审计数据最后归档时间,只有归档的数据才能删除 SQL> SELECT * FROM dba_audit_mgmt_last_arch_ts; AUDIT_TRAIL RAC_INSTANCE LAST_ARCHIVE_TS ----------- ------------ -------------------------------- STANDARD

针对Oracle的审计方案

萝らか妹 提交于 2019-12-03 05:07:08
2018-01-18 10:01 AlfredZhao 阅读( 435) 评论( 0) 编辑 收藏 主题: 针对Oracle的审计方案 数据库环境: Oracle 11g 数据库审计需求: 1.需要对连接数据库的行为进行审计 2.需要对核心表的DML操作进行审计 3.需要迁移审计数据到指定表空间 4.需要清理历史审计数据的方案 1.需要对连接数据库的行为进行审计 需要对连接数据库的行为进行审计,其中包含例如审计那些错误密码登录等失败的登录行为。 主要关注查询的表就是 aud$ 。 比如查询最近一天使用错误密码登录的行为; --aud$ select sessionid, userid, userhost, comment$text, spare1, ntimestamp# from aud$ where returncode = 1017 and ntimestamp# > sysdate - 1; --dba_audit_trail select * from dba_audit_trail where returncode = 1017 and timestamp > sysdate - 1; 更多关于aud$的介绍可参考之前我总结过的文章: aud$定位错误用户密码登陆数据库的具体信息 2.需要对核心表的DML操作进行审计 需要对核心表的DML操作进行审计

oracle查看表空间和物理文件大小

落花浮王杯 提交于 2019-12-03 03:56:39
查看各表空间的使用情况 select a.tablespace_name,a.bytes/1024/1024 "Sum MB",(a.bytes-b.bytes)/1024/1024 "used MB",b.bytes/1024/1024 "free MB", round(((a.bytes-b.bytes)/a.bytes)*100,2) "percent_used" from (select tablespace_name,sum(bytes) bytes from dba_data_files group by tablespace_name) a, (select tablespace_name,sum(bytes) bytes,max(bytes) largest from dba_free_space group by tablespace_name) b where a.tablespace_name=b.tablespace_name order by ((a.bytes-b.bytes)/a.bytes) desc select * from dba_data_filesorder by tablespace_name, file_name; select tablespace_name,dba_tablespaces.* from dba_tablespaces

oracle表分区二 转

与世无争的帅哥 提交于 2019-12-03 03:55:29
此文从以下几个方面来整理关于分区表的概念及操作: 1.表空间及分区表的概念 2.表分区的具体作用 3.表分区的优缺点 4.表分区的几种类型及操作方法 5.对表分区的维护性操作. (1.) 表空间及分区表的概念 表空间: 是一个或多个数据文件的集合,所有的数据对象都存放在指定的表空间中,但主要存放的是表, 所以称作表空间。 分区表: 当表中的数据量不断增大,查询数据的速度就会变慢,应用程序的性能就会下降,这时就应该考虑对表进行分区。表进行分区后,逻辑上表仍然是一张完整的表,只是将表中的数据在物理上存放到多个表空间(物理文件上),这样查询数据时,不至于每次都扫描整张表。 ( 2).表分区的具体作用 Oracle的表分区功能通过改善可管理性、性能和可用性,从而为各式应用程序带来了极大的好处。通常,分区可以使某些查询以及维护操作的性能大大提高。此外,分区还可以极大简化常见的管理任务,分区是构建千兆字节数据系统或超高可用性系统的关键工具。 分区功能能够将表、索引或索引组织表进一步细分为段,这些数据库对象的段叫做分区。每个分区有自己的名称,还可以选择自己的存储特性。从数据库管理员的角度来看,一个分区后的对象具有多个段,这些段既可进行集体管理,也可单独管理,这就使数据库管理员在管理分区后的对象时有相当大的灵活性。但是,从应用程序的角度来看,分区后的表与非分区表完全相同,使用 SQL DML

Oracle备份的几种方式

不问归期 提交于 2019-12-03 03:54:50
这里使用Oracle 12C来大概演示说明一下rman的基本用法,这里不会深入讨论,因为本人也只是刚刚才接触,只是结合了网上的一些文章以及自己的实践来总结并拿出来大家学习,谢谢 目录 一、关于备份与恢复 二、逻辑备份(expdp和impdp) 三、物理备份 四、数据库日常备份计划及脚本参考 一、关于备份与恢复 1、备份定义 备份就是把数据库复制到转储设备的过程。其中,转储设备是指用于放置数据库副本的磁带或磁盘。通常也将存放于转储设备中的数据库的副本称为原数据库的备份或转储。备份是一份数据副本 2、备份分类 从物理与逻辑的角度来分类: 从物理与逻辑的,备份可以分为物理备份和逻辑备份。 物理备份 :对数据库操作系统的物理文件(数据文件,控制文件和日志文件)的备份。物理备份又可以分为脱机备份(冷备份)和联机备份(热备份),前者是在关闭数据库的时候进行的,后者是以归档日志的方式对运行的数据库进行备份。可以使用oracle的恢复管理器(RMAN)或操作系统命令进行数据库的物理备份。 逻辑备份 :对数据库逻辑组件(如表和存储过程等数据库对象)的备份。逻辑备份的手段很多,如传统的EXP,数据泵(EXPDP),数据库闪回技术等第三方工具,都可以进行数据库的逻辑备份。 从数据库的备份角度分类: 从数据库的备份角度,备份可以分为完全备份和增量备份和差异备份 完全备份 :每次对数据库进行完整备份

xtrabackup

匿名 (未验证) 提交于 2019-12-03 00:40:02
1.记录备份开始时,InnoDB存储引擎重做日志文件检查点的LSN 2.复制共享表空间文件以及独立共享表空间文件。 3.记录复制完表空间文件后,InnoDB存储引擎重做日志文件检查点的LSN。 4.复制在备份时产生的重做日志。 优点: 1.在线备份,不阻塞任何的SQL语句。 2.备份性能好,备份的实质是复制数据库文件和重做日志文件。 3.支持压缩备份,通过选项,可以支持不同级别的压缩。 下载地址: https://www.percona.com/downloads/XtraBackup/LATEST/ [root@zstedu bin]# ./xtrabackup --version xtrabackup: recognized server arguments: ./xtrabackup version 2.4.12 based on MySQL server 5.7.19 Linux (x86_64) (revision id: 170eb8c) 完全备份 xtrabackup: recognized server arguments: xtrabackup: recognized client arguments: --backup=1 --socket=/tmp/mysql3306.sock --user=root --password Enter password: