--DBCA 创建Oracle 数据库
(DBA)数据库管理员的任务
--评测数据库服务器硬件
--安装oracle数据库
--规划数据库
--创建并且打开数据库
--注册用户
--实现数据库计划
--全库备份
--调整数据库性能
--archive log list (查看数据库日志模式)
数据库状态
shutdown --停止
open --打开
nomount --加载配置文件 不加载数据文件
mount --加载数据文件 数据库不打开
内存中 的ORACLE SGA 只有一个实例 PAG 可以有多个实例
--闪回
--用在 可能错误的操作
1.错误的删除了数据 delete 并且 commit
2.错误地drop table
3.如何获取表上的历史记录
4.如何撤销一个已经提交的事务
--闪回的的类型 对应上面四种情况
1.闪回表:将表回退到过去的一个时间上(SCN);
2.闪回删除(是drop):Oralce的回收站
3.闪回版本查询:
4.闪回事务查询:通过查询得到undo_sql 用来撤销事务;
5.闪回数据库:将数据库回退到过去的一个时间上 --5.6都要求数据库在归档模式上 dba管理员要对 归档 等比较熟悉
6.闪回归档日志
--闪回(FlashBack) 在9i中提出第一中类型 10i中实现后面的类型
执行表的闪回,需要有 flashback any talbe的权限
1.闪回表
实现表的闪回,需要使用到与撤销表空间相关的undo信息,因为spfile 的信息都是二进制的 所以需要通过show parameter undo命令可以了解这些信息
show parameter cursor --查光标
show parameter undo;
--在2G以内的数据可以返回 超出了2G以后的数据 看undo_retention 的时间 以s为单位 --这里面的2g是自己创建数据库的时候自定义的。。
alter system set undo_retention=1200 scope=both;
--作用域scope: both momeroy spfile 三个参数
1.both 是指两者 momeroy spfile
2.momeroy 你的操作只在当前实例中 数据库重启后还是以前状态。 只改当前数据库
3.spfile 只改配置文件 不改当前数据库 数据库重启后生效
--闪回表的语法
flashback table【schema.】<table_name>
to
{
【before drop【RENAME TO TABLE】】
【SCN|TIMESTAMP】expr
【ENABLE|DISABLE】TRIGGERS
}
.schema:模式名,一般为用户名
TO TIMESTAMP:系统油戮,包含年.月.日.时.分.秒
TO SCN: 系统更改号 system change number
ENABLE TRIGGERS:表示触发器恢复以后为enable状态,默认是disable状态
TO DEFORE DROP:表示恢复到删除之前
RENAME TO TABLE:表示更换表名
闪回表操作 :
系统表不能被闪回
不能跨越DDL操作
会被写入警告日志
产生撤销和重做的数据
--记录当前时间 更改号。
select TO_CHAR(SYSDATE,'yyyy-mm-dd hh24:mi:mm') 时间,timestamp_to_scn(sysdate);
--闪回因为未启动行移动功能 ,不能闪回表 错误
--开启表的行移动
alter table talbeName enable row movement;
--再执行闪回
flashback table talbeName to SCN 900171;
--闪回删除
--show recyclebin 显示回收站信息
--PURGE recyclebin 清空回收站信息
--管理员 没有回收站
--闪回删除
flashback table tableName to before drop;
--当闪回删除表的名字被占用的时候 可以执行下面的
flashback table tableName to before drop rename to tableName1;
--通过回收站做闪回 要加“”(双引号)
--闪回版本查询
--语法格式
SELECT COLUMN_NAME【,column_name,.....】
from table_name
versions between【scn | timestamp】【expr | minvalue】
and 【epxr | maxvallue】 as of 【scn | timestamp】epxr
column_name 是列名 talbe_name 是表名;between ..and 是时间段
scn 是系统改变号; timestamp 是时间戳 ;as of 表示恢复单个版本
maxvalue最大值 minvalue 最小值 :expr 指定一个值或者表达式
--常用 SELECT 伪列
versions_operation 数据由什么操作得来 insert update delete
versions_starttime 开始操作时间
versions_endtime 结束操作时间
versions_xid 事务号
--闪回版本查询实例
select id,name,versions_operation,versions_starttime,versions_endtime,versions_xid
from
tableName
versions between timestamp minvalue and maxvalue
order by 1,4;
--闪回事务查询
--首先得熟悉这个事务的视图
desc flashback_transaction_query
--查询上面视图需要一个权限
grant select any transaction to 用户;
--语法
select operation,undo_sql
from flashback_transaction_query
where xid='003232202' --xid 代表的是 常用伪列的事务号
--把查出来的数据操作一下 就撤销了事务。。
(DBA)数据库管理员的任务
--评测数据库服务器硬件
--安装oracle数据库
--规划数据库
--创建并且打开数据库
--注册用户
--实现数据库计划
--全库备份
--调整数据库性能
--archive log list (查看数据库日志模式)
数据库状态
shutdown --停止
open --打开
nomount --加载配置文件 不加载数据文件
mount --加载数据文件 数据库不打开
内存中 的ORACLE SGA 只有一个实例 PAG 可以有多个实例
--闪回
--用在 可能错误的操作
1.错误的删除了数据 delete 并且 commit
2.错误地drop table
3.如何获取表上的历史记录
4.如何撤销一个已经提交的事务
--闪回的的类型 对应上面四种情况
1.闪回表:将表回退到过去的一个时间上(SCN);
2.闪回删除(是drop):Oralce的回收站
3.闪回版本查询:
4.闪回事务查询:通过查询得到undo_sql 用来撤销事务;
5.闪回数据库:将数据库回退到过去的一个时间上 --5.6都要求数据库在归档模式上 dba管理员要对 归档 等比较熟悉
6.闪回归档日志
--闪回(FlashBack) 在9i中提出第一中类型 10i中实现后面的类型
执行表的闪回,需要有 flashback any talbe的权限
1.闪回表
实现表的闪回,需要使用到与撤销表空间相关的undo信息,因为spfile 的信息都是二进制的 所以需要通过show parameter undo命令可以了解这些信息
show parameter cursor --查光标
show parameter undo;
--在2G以内的数据可以返回 超出了2G以后的数据 看undo_retention 的时间 以s为单位 --这里面的2g是自己创建数据库的时候自定义的。。
alter system set undo_retention=1200 scope=both;
--作用域scope: both momeroy spfile 三个参数
1.both 是指两者 momeroy spfile
2.momeroy 你的操作只在当前实例中 数据库重启后还是以前状态。 只改当前数据库
3.spfile 只改配置文件 不改当前数据库 数据库重启后生效
--闪回表的语法
flashback table【schema.】<table_name>
to
{
【before drop【RENAME TO TABLE】】
【SCN|TIMESTAMP】expr
【ENABLE|DISABLE】TRIGGERS
}
.schema:模式名,一般为用户名
TO TIMESTAMP:系统油戮,包含年.月.日.时.分.秒
TO SCN: 系统更改号 system change number
ENABLE TRIGGERS:表示触发器恢复以后为enable状态,默认是disable状态
TO DEFORE DROP:表示恢复到删除之前
RENAME TO TABLE:表示更换表名
闪回表操作 :
系统表不能被闪回
不能跨越DDL操作
会被写入警告日志
产生撤销和重做的数据
--记录当前时间 更改号。
select TO_CHAR(SYSDATE,'yyyy-mm-dd hh24:mi:mm') 时间,timestamp_to_scn(sysdate);
--闪回因为未启动行移动功能 ,不能闪回表 错误
--开启表的行移动
alter table talbeName enable row movement;
--再执行闪回
flashback table talbeName to SCN 900171;
--闪回删除
--show recyclebin 显示回收站信息
--PURGE recyclebin 清空回收站信息
--管理员 没有回收站
--闪回删除
flashback table tableName to before drop;
--当闪回删除表的名字被占用的时候 可以执行下面的
flashback table tableName to before drop rename to tableName1;
--通过回收站做闪回 要加“”(双引号)
--闪回版本查询
--语法格式
SELECT COLUMN_NAME【,column_name,.....】
from table_name
versions between【scn | timestamp】【expr | minvalue】
and 【epxr | maxvallue】 as of 【scn | timestamp】epxr
column_name 是列名 talbe_name 是表名;between ..and 是时间段
scn 是系统改变号; timestamp 是时间戳 ;as of 表示恢复单个版本
maxvalue最大值 minvalue 最小值 :expr 指定一个值或者表达式
--常用 SELECT 伪列
versions_operation 数据由什么操作得来 insert update delete
versions_starttime 开始操作时间
versions_endtime 结束操作时间
versions_xid 事务号
--闪回版本查询实例
select id,name,versions_operation,versions_starttime,versions_endtime,versions_xid
from
tableName
versions between timestamp minvalue and maxvalue
order by 1,4;
--闪回事务查询
--首先得熟悉这个事务的视图
desc flashback_transaction_query
--查询上面视图需要一个权限
grant select any transaction to 用户;
--语法
select operation,undo_sql
from flashback_transaction_query
where xid='003232202' --xid 代表的是 常用伪列的事务号
--把查出来的数据操作一下 就撤销了事务。。