恢复oracle中误删除drop掉的表】的更多相关文章

恢复oracle中误删除drop掉的表   查看回收站中表 --需要在其所在用户下查询 回收站对象 select object_name,original_name,partition_name,type,ts_name,createtime,droptime from recyclebin; 恢复表 SQL>flashback table test_drop to before drop;或SQL>flashback table "BIN$b+XkkO1RS5K10uKo9Bfmu…
查看回收站中表 select object_name,original_name,partition_name,type,ts_name,createtime,droptime from recyclebin; 恢复表 SQL>flashback table test_drop to before drop;或SQL>flashback table "BIN$b+XkkO1RS5K10uKo9BfmuA==$0" to before drop; 注:必须9i或10g以上版本…
一.查看回收站中表 select object_name,original_name,partition_name,type,ts_name,createtime,droptime from recyclebin; 二.恢复表 SQL>flashback table test_drop to before drop; SQL>flashback table "BIN$b+XkkO1RS5K10uKo9BfmuA==$0" to before drop; 注:此方法必须要求O…
在Oracle中可能不小心会DROP掉一个表,如果没有定期做备份的话,将会带来很大的麻烦.如果有的情况下,每天的数据都很重要,而定期备份的周期又稍长,情况恐怕也不容乐观!以前只知道Windows有个回收站,今天听说Oracle也有个回收站! 不过还好Oracle有个回收站,概念就跟Windows里的回收站一模一样. 比如有以下误操作: DROP TABLE drop_test; 这个时候再用SELECT语句查询此表时,将会提示表或视图不存在.但可以用如下语句查询到这个表还在Oracle回收站中:…
今天同事不小心把生产上的一张表直接drop掉了,没有做备份,哥们慌的一匹,来找我这个小白来帮忙解决,于是心血来潮简单总结一下. 其实在oralce中,用drop删掉一张表,其实不会真正的删除,只是把表放到了回收站中,可以通过flashback命令来恢复drop掉的表.  例如: 1.创建一张表,删除:再创建一张同名表,字段不同,再删除 在 select original_name,dropscn from recyclebin时候,两个表的dropscn是不同的,在利用闪回恢复时 flashba…
在9i中Oracle引入了flashback的概念,可以将数据返回到某个时间点,但对于诸如drop/truncate等DDL语句却尚不支持.进入Oracle10g,这一缺陷得到了弥补.可以将丢失掉的表,通过flashback命令直接找回.非常简单且易用. 1.首先,可以查看当前schema中的表: SQL> select * from tab; TNAME                    TABTYPE  CLUSTERID ------------------------ -------…
http://www.cnblogs.com/songdavid/articles/2223869.html 一些ORACLE中的进程被杀掉后,状态被置为"killed",但是锁定的资源很长时间不释放,有时实在没办法,只好重启数据库.现在提供一种方法解决这种问题,那就是在ORACLE中杀不掉的,在OS一级再杀. 1.下面的语句用来查询哪些对象被锁: select object_name,machine,s.sid,s.serial# from v$locked_object l,dba…
一些ORACLE中的进程被杀掉后,状态被置为"killed",但是锁定的资源很长时间不释放,有时实在没办法,只好重启数据库.现在提供一种方法解决这种问题,那就是在ORACLE中杀不掉的,在OS一级再杀. 1.下面的语句用来查询哪些对象被锁: select object_name,machine,s.sid,s.serial# from v$locked_object l,dba_objects o ,v$session swhere l.object_id = o.object_id…
一些ORACLE中的进程被杀掉后,状态被置为"killed",但是锁定的资源很长时间不释放,有时实在没办法,只好重启数据库.现在提供一种方法解决这种问题,那就是在ORACLE中杀不掉的,在OS一级再杀. 1.下面的语句用来查询哪些对象被锁: select object_name,machine,s.sid,s.serial# from v$locked_object l,dba_objects o ,v$session swhere l.object_id = o.object_id…
一些ORACLE中的进程被杀掉后,状态被置为"killed",但是锁定的资源很长时间不释放,有时实在没办法,只好重启数据库.现在提供一种方法解决这种问题,那就是在ORACLE中杀不掉的,在OS一级再杀. 1.下面的语句用来查询哪些对象被锁: select object_name,machine,s.sid,s.serial# from v$locked_object l,dba_objects o ,v$session s where l.object_id = o.object_id…
ora-00031:session marked for kill处理oracle中杀不掉的锁   一些ORACLE中的进程被杀掉后,状态被置为"killed",但是锁定的资源很长时间不释放,有时实在没办法,只好重启数据库.现在提供一种方法解决这种问题,那就是在ORACLE中杀不掉的,在OS一级再杀. 1.下面的语句用来查询哪些对象被锁: select object_name,machine,s.sid,s.serial# from v$locked_object l,dba_obje…
应用场景:将数据表TB_USER中字段NNDP的内容中为[sannanyinv]转换为[3男1女] 主要脚本:一个游标脚本+分割字符串函数+拼音转数字脚本 操作步骤如下: 1.创建类型 create or replace type splitTable is table of varchar2(100); 2.创建函数fn_splitString(功能是将字符串分割成多条记录)--测试语句select * from table(fn_splitString('ernanyinv','nan'))…
ORACLE中如何找出大表分布在哪些数据文件中?   在ORACLE数据中,我们能否找出一个大表的段对象分布在哪些数据文件中呢? 答案是可以,我们可以用下面脚本来找出对应表的区.段分别位于哪些数据文件中 SET PAGESIZE 60; COL SEGMENT_TYPE FOR A12; COL FILE_NAME FOR A64; COL SEGMENT_NAME FOR A24; COL TABLESPACE_NAME FOR A24; COL SEGMENT_OWNER FOR A12;…
学习数据库时,我们只是以学习的态度,考虑如何使用数据库命令语句,并未想过工作中,如果误操作一下,都可能导致无可挽回的损失.当我在工作中真正遇到这些问题时,我开始寻找答案.今天主要以oracle数据库为例,介绍关于表中数据删除的解决办法.(不考虑全库备份和利用归档日志) 删除表中数据有三种方法:·delete(删除一条记录)·drop或truncate删除表格中数据 1.delete误删除的解决方法    原理:利用oracle提供的闪回方法,如果在删除数据后还没做大量的操作(只要保证被删除数据的…
如果不慎把表drop掉了,并非一定要跑路,也许下面的文字能打救你. 比如现在有个testtb表,里面有一百万数据: SQL> select count(*) from testtb; COUNT(*) ---------- 1000000 然后删除掉这个表: SQL> drop table testtb; 表已删除. 看看recyclebin的状态,祈祷它是on,否则就不要往下看了,直接买船票跑路更好. SQL> show parameter recyclebin; NAME TYPE…
1.rowid是一个伪列,是用来确保表中行的唯一性,它并不能指示出行的物理位置,但可以用来定位行. 2.rowid是存储在索引中的一组既定的值(当行确定后).我们可以像表中普通的列一样将它选出来. 3.利用rowid是访问表中一行的最快方式. 4.rowid需要10个字节来存储,显示为18位的字符串. rowid的组成结构为: data object number(6位字符串) relative file number(3位字符串) block number(6位字符串) row number(…
从一月至今,我总共归纳了三种创建千万级大表的方案,它们是: 下面是这三种方案的对比表格: # 名称 地址 主要机制 速度 1 在Oracle中十分钟内创建一张千万级别的表 https://www.cnblogs.com/xiandedanteng/p/12169527.html connect by+Insert into select 由于插入量是线性增长的,导致速度在前三种方案里最慢 2 25分钟创建一千六百万大表全记录 https://www.cnblogs.com/xiandedante…
select * from pan ;   --有数据 drop table pan;        --删除表 select * from pan ;   --表或视图不存在 flashback table pan to before drop; select * from pan ;   --有数据(说明数据回来了) 参考:http://www.cnblogs.com/xd502djj/archive/2010/09/19/1831346.html…
转载自http://blog.csdn.net/cuker919/article/details/8514253 select segment_name, bytes as 大小 from user_segments where segment_type = 'TABLE' and segment_name in ('VIEW_JLZDH_MP_DL_DAY_01','VIEW_JLZDH_MP_DL_DAY_02','VIEW_JLZDH_MP_DL_DAY_03', 'VIEW_JLZDH_…
一.常用的视图 1.会话相关视图 View Description V$PROCESS Contains information about the currently active processes V$SESSION Lists session information for each current session V$SESS_IO Contains I/O statistics for each user session V$SESSION_LONGOPS Displays the…
有两种含义的表大小.一种是分配给一个表的物理空间数量,而不管空间是否被使用.可以这样查询获得字节数: select segment_name, bytes from user_segments where segment_type = 'TABLE'; 或者   Select Segment_Name,Sum(bytes)/1024/1024 From User_Extents Group By Segment_Name 另一种表实际使用的空间.这样查询: analyze table emp c…
把table2表的数据插入到table1中 insert   into   table1   select   *   from   table2…
创建表:create table t1(key1 type default 0,key2 type not null) 删除表:drop table t1; 删除表数据:truncate table t1; 增加列:alter table t1 add f3 type; 删除列:alter table t1drop column f3; 修改列类型:alter table t1 modify f3 new_type; 增加/删除唯一性:alter table t1 add/drop unique…
1.使用ROWNUM伪列查询 1.1.查询十条数据(rownum<=n) SELECT ROWNUM,A.* FROM v_sjjx_unit_info A WHERE ROWNUM<=10 1.2.查询实体十条数据(between...and...) SELECT * FROM v_sjjx_xsjbsjxx WHERE ROWNUM BETWEEN 0 AND 10 1.3.查询第二到第十条数据 SELECT * FROM (SELECT b.*,ROWNUM r FROM v_sjjx_…
--选择部门中30的雇员SELECT * from emp where DEPTNO=30;--列出所有办事员的姓名.部门.编号--采用内连接方式,也就是等值链接,也是最常用的链接SELECT ename,empno,dname from emp e INNER JOINdept d on e.deptno=d.deptno where job='CLERK';--找出佣金高于薪金的雇员select * from emp where comm>sal;--找出佣金高于薪金60%的雇员select…
在此次情况中,业务顾问就给我提供了一张客户公司客户化的Form,然后让找出界面上的数据是怎样生成的. 首先我们从EBS form 界面上找到了界面的数据来源于一张表ks_so_line_margin_all A:-------------------------------- 然后找出与这张表相关的数据库对象: SELECT * FROM dba_dependencies t WHERE t.referenced_name = 'KS_SO_LINE_MARGIN_ALL'; 查询结果中包含了一…
-------------------- -- 这里是查询 数字型字段值 /*declare CURSOR cur_query IS select table_name, column_name, data_type from user_tab_columns; a number; sql_hard varchar2(2000); vv number; begin for rec1 in cur_query loop a:=0; if rec1.data_type ='NUMBER' THEN…
使用sys as sysdba 进入到sqlplus的控制界面 sqlplus / as sysdba 执行相关的命令,自动生成一个脚本文件 spool d:/a.sql select 'flashback table '||owner||'.'||original_name||' to before drop'|| ';' from dba_recyclebin; spool off 执行完这些命令以后会生成一个 a.sql的文件,对文件进行修改后保存,只保留我们需要执行的sql语句 执行 @…
Select object_name From user_objects a left join all_triggers b on a.object_Name = b.trigger_name where a.object_type='TRIGGER' and b.table_name = 'XF_VIPBONUSADD' group by object_name 进行表关联查询 进行触发器名称分组…
BEGIN FOR L_RECORD IN (select RECORD_ID,CURR_PERIOD,PERIOD_START_DATE, (sysdate- PERIOD_START_DATE) diffTime,(P.PERIOD_END_DAY-P.PERIOD_BEGIN_DAY) periodDiffDay from CPS_PATIENT_PATH_RECORD t1 inner join cps_treat_period p on p.Period_Id=t1.Curr_Peri…