当前位置:网站首页>oracle利用as of timestamp语句找回误删除的数据
oracle利用as of timestamp语句找回误删除的数据
2022-08-08 23:45:00 【西楚少羽】
oracleXE是oracle数据库的一个免费版本,占用内存小,适合我们学习使用。
一、安装oracle
这里我们利用docker安装oracleXE
1.搜索OracleXE镜像
docker search oracle
2.下载OracleXE镜像
docker pull oracleinanutshell/oracle-xe-11g
3.运行一个临时容器
docker run --name oracle -d -p 1521:1521 -v /data/oracle:/u01/app/oracle -e ORACLE_ALLOW_REMOTE=true oracleinanutshell/oracle-xe-11g
4.将运行容器的持久化目录复制在我们宿主机的data目录下
cp后面的oracle代表容器名称,/u01/app/oracle为容器内部目录,/data/oracle为宿主机目录
docker cp oracle:/u01/app/oracle /data/oracle
5.删除临时容器
docker stop oracle
docker rm oracle
6.重新运行容器
docker run --name oracle -d -p 1521:1521 -v /data/oracle:/u01/app/oracle -e ORACLE_ALLOW_REMOTE=true oracleinanutshell/oracle-xe-11g
7.测试连接
这里我们直接用idea连接,默认的账号是system,密码是oracle8.创建表空间
初始大小为100m,自动拓展10m,最大为500m
--创建表空间
create tablespace adminSpace datafile '/u01/app/oracle/oradata/XE/admin.dbf' size 100M autoextend on next 10M MAXSIZE 500M;
命令执行成功后我们在服务器目录下可以看到创建的.dbf文件9.创建用户
账号为admin,密码为admin123456,表空间为adminSpace
--创建用户test
create user admin identified by admin123456 default tablespace adminSpace;
10.授权为管理员
一定要授权,至少要有连接权限,否则账号无法登录
--授予管理员角色
grant dba to admin;
此时我们就可以用我们创建的用户登录
二、数据找回
用plsql连接,并准备一张表名为sys_user的表,初始如下数据
2.先删除ID为2的数据,手动提交事务,再执行查询语句,结果如下3.利用时间戳查询’2022/8/5 9:10:45’这个时间点的数据
可以看到我们用delete删除的数据又能查出来了
select * from sys_user as of timestamp to_timestamp('2022/8/5 9:10:45','yyyy-mm-dd hh24:mi:ss');
这样我们就可以利用这个数据达到恢复数据的目的
insert into sys_user
(id, user_id, user_name, age, create_time)
with tab as
(select id, user_id, user_name, age, create_time
from sys_user as of timestamp to_timestamp('2022/8/5 9:10:45', 'yyyy-mm-dd hh24:mi:ss'))
select id, user_id, user_name, age, create_time
from tab t
where not exists (select 1 from sys_user x where x.id = t.id);
注意:此方式只适用于找回delete语句删除的数据,并且期间表结构不能发生改变
边栏推荐
猜你喜欢
移动端真机调试:chrome://inspect/#devices打开inspect后出现空白页
使用 Gradio 在 huggingface 创建应用 Space
Kubernetes web网站无法访问
STP---生成树协议总结
(codeforce547)C-Mike and Foam(质因子+容斥原理)
51nod2614 小B爱旅行 (参考范艺杰代码 基本抄袭 太难了)
10 Spark on RDD Cache
域前置通信过程和溯源思路
grpc系列3-自定义端镜像GOAWAY with error code ENHANCE_YOUR_CALM and debug data equal to “too_many_pings“
并发编程第5篇,Synchronized的原理
随机推荐
11 Spark on RDD CheckPoint
记录一些 PostgreSQL问题分析思路
Binary tree level traversal and examples
(2022杭电多校三)1011.Taxi(曼哈顿最值+二分)
stm32 uses spi1 to read data from dma in slave mode
BGP总结
LightningChart .NET 10.3.2 Crack 支持旧项目直接升级
AsyncTask的替代方案
百度地图智能搜索及拖拽画圆
读书笔记怎么写?
Learning experience of bp neural network
[YOLOv5] 6.0 environment construction (updated from time to time)
OSPF总结作业
office:如何查看并下载office账户的订阅软件
postgresql源码学习(35)—— 检查点⑤-检查点中的XLog清理机制
Codeforces Round #738 (Div. 2) E
51nod 2887 抓小偷 平面图最小割转换成最短路
win10电脑:电脑触摸板控制
北斗网络同步时钟与GPS卫星时钟同步设备的区别
05 Spark on 读取内部数据分区存储策略(源码角度分析)