首页 >>  正文

oracle数据库复制表命令

来源:baiyundou.net   日期:2024-09-23

Oracle数据库数据恢复环境:

北京某国企客户Oracle 11g R2数据库误truncate table CM_CHECK_ITEM_HIS,表数据丢失,业务查询到该表时报错,数据库的备份不可用,无法查询表数据。

Oracle数据库执行Truncate命令的原理:在执行Truncate命令后ORACLE会在数据字典和Segment Header中更新表的Data Object ID,但不会修改实际数据部分的块。由于数据字典与段头的DATA_OBJECT_ID与后续的数据块中的并不一致,所以ORACLE服务进程在读取全表数据时不会读取到已经被TRUNCATE的记录,但是实际数据未被覆盖。

Oracle数据库数据恢复过程:

1、为保护用户数据和重现故障的解决过程,北亚企安数据恢复工程师重构了与用户相同的故障:

使用Scott用户创建表emp1,连续多次复制emp表,多次复制后的总记录数为7340032条。truncate表emp1,之后没有进行任何操作。查询该表,数据库中该表的记录为0条。

北亚企安数据恢复——Oracle数据恢复

注: Os:win server 2008R2。数据库版本:win_oracle_11.2.0.1_x64;

2、对system表空间文件进行分析,找到truncate表的原始数据所在位置。

北亚企安数据恢复——Oracle数据恢复

3、解析表所在的数据文件,找到被truncate的数据。

4、将truncate的数据插入到数据库中。

5、在Oracle数据库中查看被truncate的表,发现数据回来了,直接备份数据。

北亚企安数据恢复——Oracle数据恢复

6、Exp导出scott用户。

北亚企安数据恢复——Oracle数据恢复

","gnid":"9f701659f7143a20c","img_data":[{"flag":2,"img":[{"desc":"","height":"578","title":"","url":"https://p0.ssl.img.360kuai.com/t01bb87b952ed595cd2.jpg","width":"804"},{"desc":"","height":859,"title":"","url":"https://p0.ssl.img.360kuai.com/t0118a0d4cbbd9ceed6.jpg","width":706},{"desc":"","height":"721","title":"","url":"https://p0.ssl.img.360kuai.com/t01b4a9affa2a75af97.jpg","width":"823"},{"desc":"","height":"668","title":"","url":"https://p0.ssl.img.360kuai.com/t010be82dc22fa8f428.jpg","width":"703"}]}],"original":0,"pat":"art_src_3,fts0,sts0","powerby":"pika","pub_time":1710148080000,"pure":"","rawurl":"http://zm.news.so.com/872af25aaf7003f4cf307872dc841df9","redirect":0,"rptid":"60067726db01f52e","rss_ext":[],"s":"t","src":"数据恢复资讯","tag":[],"title":"Oracle数据恢复—Oracle数据库误truncate的数据恢复案例

戴燕辰1508Oracle如何复制表数据 -
曹茅爬15329785702 ______ create table t_bak as select * from t

戴燕辰1508Oracle SQL怎么把一个表的部分数据复制到相同表结构的新表中 -
曹茅爬15329785702 ______ 用insert into select,比如 insert into a(a,b,c) select a,b,c from b where a>=100

戴燕辰1508Oracle数据库中的Copy命令使用方法有哪些?
曹茅爬15329785702 ______ 在数据表间复制数据是Oracle DBA经常面对的任务之一,Oracle为这一任务提供了多种解决方案,SQL*Plus Copy 命令便是其中之一.SQL*Plus Copy 命令通过SQL*Net在...

戴燕辰1508Oracle数据库中怎样把A表的内容复复制到B表?
曹茅爬15329785702 ______ 语法格式: CREATE TABLE table_name AS SELECT * FROM table_name; 通过子查询新建表,创建表的同时记录也加入~ 子查询可以复杂,只有 NOT NULL 约束可以复制,其他约束自行添加~ 谢谢~!

戴燕辰1508怎么在Oracle数据库中集中复制?
曹茅爬15329785702 ______ 准备工作 在进行复制之前需要准备的东西很多,当然最基础就是网络必须畅通,之后需要收集一些复制环境的基本信息: 1. 需要复制的数据库站点的数量 2. 每个站点的...

戴燕辰1508如何方便快速的复制一个oracle用户的所有表 -
曹茅爬15329785702 ______ 1.导出 可用命令exp,类似于如下 da1/da1@ORCL file=E:\da1.dmp log=E:\da1.log da1为用户名,斜线后为密码,@后为数据库实例名,file后是导出文件的地址,log是导出时的日志,如果有错误,能够有据可查. 2.导入 imp da2/da2@ORCL buffer=50000000 full=n file=E:\da1.dmp ignore=y rows=y commit=y compile=n fromuser=da1 touser=da2 log=E:\da2.log 导入的命令与exp相似. 3.注意事项 用户必须有导入导出权限,否则过程可能失败.

戴燕辰1508oracle不同数据库不同的表之间数据的复制 -
曹茅爬15329785702 ______ 1. 创建一个两个数据库之间的dblink,语法如下 create database link to_test connect to scott identified by tiger using '(DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.5)(PORT = 1521)) ) (...

戴燕辰1508在oracle中, 怎样复制表中的部分数据,是部分哦. -
曹茅爬15329785702 ______ 复制到 另外一张表上去么?假设 源表 A ( a1, a2, a3 ) 有 100行数据 (a1 = 1 到 100) CREATE TABLE B AS SELECT a1, a2 FROM A WHERE a1 上面的 SQL, 就是复制 A 表的 部分行 (表有100行, 只复制 50行), 部分列 (表有3列, 只复制2列), 到 B 表中.

戴燕辰1508oracle数据库中,如何复制表结构,不要复制表的内容 -
曹茅爬15329785702 ______ create table 表1 as select * from 表2 where 1=2

戴燕辰1508请问在PB中如何复制一个表? -
曹茅爬15329785702 ______ 那个地方是不能直接复制表的. 一种方式可以在你说的那个地方,点右键,导出表创建语法,然后自己稍加修改,主要是修改表名字和约束名,然后在把这个语法复制到写SQL语句的页上执行,这样就能创建新表了.实际上这个做法是借用原...

(编辑:自媒体)
关于我们 | 客户服务 | 服务条款 | 联系我们 | 免责声明 | 网站地图 @ 白云都 2024