ORACLE
fenghai110119
这个作者很懒,什么都没留下…
展开
-
如何将Oracle数据库中删除的数据恢复?
当使用delete语句删除数据后想要恢复被删除数据时,可使用select * from 表名 as of timestamp to_timestamp('2012-01-01 00:00:00', 'yyyy-mm-dd hh24:mi:ss');'2012-01-01 00:00:00'是要恢复到的时间节点。注意:1,闪回查询无法恢复到表结构改变之前,因为闪回查询使用的是当前的数据字典。2, 受到undo_retention参数的影响,对于undo_retention之前的数据,Flashbac原创 2021-05-25 17:13:24 · 61 阅读 · 0 评论 -
ORACLE SQL优化的一些优化点
在遇到小数据量时一般的SQL语句都能够满足需求,当遇到大数据量时sql执行的效率就很重要了。那么如何让sql的执行效率更高?以下是一些基本的优化方法:1,选择最有效率的表名顺序(只在基于规则的优化器中有效): Oracle的解析器按照从右到左的顺序处理FROM子句中的表名,FROM子句中写在最后的表将被最先处理,在FROM子句中包含多个表的情况下,你必须选择记录条数最少的表作为基础表。如果有3个以上的表连接查询, 那就需要选择交叉表作为基础表, 交叉表是指那个被其他表所引用的表。2,WHER.原创 2021-05-25 17:09:40 · 39 阅读 · 0 评论 -
oracle 11G备份不导出空表,解决方案
11G中有个新特性,当表无数据时,不分配segment,以节省空间,导出备份时空表不导出如果在备份数据库时必须导出空表,就需要这样处理:按以下步骤执行:1、用以下这句查找空表select 'alter table '||table_name||' allocate extent;' from user_tables where num_rows=02、执行1中的语句得到以下语句得到如下样例语句alter table REPLACEREL allocate extent;alter table原创 2021-05-25 17:01:08 · 305 阅读 · 1 评论 -
oracle数据库模糊匹配的时候,用like,如果有下划线,需要转义
比如:select * from suser where name like 'AB_%'应该写成这样select * from suser where name like 'AB\_%' escape '\'原创 2021-05-25 17:30:05 · 289 阅读 · 0 评论