在Oracle库上几种特殊情况的SQL语句

在Oracle日常维护中,难免会碰到一些特殊情况,这里分享一些例子。

A:表的数据误删了,怎么办?

--1、查看数据表的数据,然后进行删除

select * from score;
delete from score;

--2、查询一小时以前score表的数据

select * from score as of timestamp sysdate-1/24;

--3、执行oracle闪回功能,恢复数据
insert into score select * from score as of timestamp sysdate-1/24;


B:数据表误删了,怎么办?

--1、drop表情况
drop table score;

--2、数据库误删除表之后恢复:记得删除了哪些表名。 
flashback table score to before drop;


C:oracle如何导入多条数据?

--数据库中已有表
insert into scott.emp(empno,ename,hiredate)
       (select empno+100,ename,hiredate from scott.emp where empno>=6999);


--数据库中没有表
create table scott.test
 as(
    select distinct empno,ename,hiredate from scott.emp where empno>=7000
 );

D:如何查询当前数据库中锁,以及解锁?

--查锁
SELECT /*+ rule */ s.username,
decode(l.type,'TM','TABLE LOCK',
'TX','ROW LOCK',
NULL) LOCK_LEVEL,
o.owner,o.object_name,o.object_type,
s.sid,s.serial#,s.terminal,s.machine,s.program,s.osuser
FROM v$session s,v$lock l,dba_objects o
WHERE l.sid = s.sid
AND l.id1 = o.object_id(+)
AND s.username is NOT NULL;

--解锁(如果解不了。直接倒os下kill进程kill -9 spid)
alter system kill session 'sid,serial'; 


E:ORA-28000:账户被锁定,如何解决

--ORA-28000:账户被锁定 因为密码输入错误多次用户自动被锁定.
--解决办法:
alter user user_name account unlock; 


注意:以上操作需要具有管理员权限方可操作。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值