同义词 与 Record is locked by another user

本文介绍了在Oracle数据库中遇到的问题:表无法访问提示'ORA-00942:表或视图不存在',原因是缺少同义词。详细讲述了如何查询、创建和删除同义词,并探讨了表被锁定后的影响及如何解除锁,包括使用SQL语句查看锁定信息和杀死会话来解锁。
摘要由CSDN通过智能技术生成

问题一

登录systemHR下的表:system用户下查询【select t.* from test1】弹窗:ORA-00942:表或视图不存在

原因:没有创建同义词

【查询同义词】

SELECT * FROM SYS.ALL_SYNONYMS t WHERE t.owner in ('SYSTEM');
SELECT * FROM SYS.ALL_SYNONYMS t WHERE t.synonym_name in ('TEST1');

【创建同义词】语法结构:CREATE [OR REPLACE] [PUBLIC] SYSNONYM [当前用户.]synonym_nameFOR [其他用户.]object_name;

CREATE OR REPLACE PUBLIC SYNONYM test1 FOR HR.test1;

【同义词删除】同义词删除只能通过同义词拥有者的用户或者具有DBA权限的用户才能删除。

语法结构:DROP [PUBLIC] SYNONYM [用户.]sysnonym_name;

DROP PUBLIC SYNONYM test1;

问题二

锁表后,有什么影响呢?另外的人再操作此表,对表进行修改就不允许了。与名字一样,把表锁起来,不让其他人操作。

【查看锁表】

Select t2.username,t2.sid,t2.serial#,t2.logon_time from v$locked_object t1,v$session t2 where t1.session_id=t2.sid;

【删除锁】 alter system kill session 'sid, serial#';

alter system kill session '35, 246';

锁表其它信息:

select a.action,p.spid,a.serial#, c.object_name,b.session_id,b.oracle_username,b.os_user_name from v$process p, v$session a,v$locked_object b, all_objects c where p.addr=a.paddr and a.process=b.process and c.object_id=b.object_id;

希望对你有帮助,祝你有一个好心情,加油!

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值