dual表的恢复操作(ORA-00980:同义词转换不再有效错误解决(转) - rachel的日志 - 网易博客
来源:互联网 发布:软件销售团队 编辑:程序博客网 时间:2024/06/05 00:58
今天登陆到测试环境,在做日常操作时需要使用到dual表,但是在使用了一个查询语句时(SELECT to_char(current_timestamp) FROM dual)却提示'ORA-00980: 同义词转换不再有效'错误,于是开始了这次的分析和恢复.
一、查找原因
根据在网上搜索得到的信息判断可能是同义词丢失或者是表被删除,于是进行以下操作以确定问题。
SELECT * FROM Dba_Objects do WHERE do.object_type ='TABLE' AND do.object_name = 'DUAL'
SELECT * FROM Dba_Tables dt WHERE dt.table_name = 'DUAL'
SELECT * FROM Dba_Synonyms ds WHERE ds.table_name = 'DUAL'
根据以上数据字典反馈的信息确定是表被删除(因为dba_synonyms表中有此记录,表明同义词未被删除)导致此错误,决定重建该表。
二、建表操作
由于在正式环境中该表存在,故连接到正式环境查看该表结构
SQL> desc dual;
Name Type Nullable Default Comments
----- ----------- -------- ------- --------
DUMMY VARCHAR2(1) Y
查看建表脚本:
-- Create table
create table SYS.DUAL
(
DUMMY VARCHAR2(1)
)
tablespace SYSTEM
pctfree 10
pctused 40
initrans 1
maxtrans 255
storage
(
initial 104
next 104
minextents 1
maxextents 505
pctincrease 100
);
-- Grant/Revoke object privileges
grant select on SYS.DUAL to PUBLIC;
有了以上内容,可以开始建表了,因为同义词后面将重新创建,所以可以在建表前删除,在操作之前使用sys重新登陆
1、DROP PUBLIC SYNONYM dual; --删除同义词
2、create table dual
(dummy varchar2(1)) --创建表
3、INSERT INTO dual VALUES('X') --插入值
4、create public synonym dual for dual --创建同义词
5、grant select on dual to public with grant option --授权,如果不允许其它人可以将自己的权限传递给其他用户,可以去掉with后面的内容
6、退出,使用普通用户登陆,测试dual表是否能正常使用
select sysdate from dual;
7、若测试正常则代表dual表已经被重新建立,至此,一次对dual表的恢复完成。
- dual表的恢复操作(ORA-00980:同义词转换不再有效错误解决(转) - rachel的日志 - 网易博客
- ORA-00980: 同义词转换不再有效
- PL/SQL:ORA-00980同义词转换不再有效
- Error: PL/SQL: ORA-00980: 同义词转换不再有效
- 同义词转换不再有效
- ORA-00980 同义词转换不再有效(ORA-00980: synonym translation is no longer valid)
- 关于DUAL的“ORA-00980”错误
- Oracle的表(视图/同义词?)Dual是什么?
- oracle数据库恢复方法及ORA-01991错误的解决
- uboot移植文档(一) - xgc94418297的日志 - 网易博客
- Sping MVC http status 400 错误分析 - 陌上花开的日志 - 网易博客
- 归档日志爆满造成的ora-01034 ,ORA-27101错误解决
- [转]ORA-12638错误的解决
- UNDO表空间的ORA-01110错误解决(一)
- UNDO表空间的ORA-01110错误解决(二)
- ORA-04080 错误的解决
- ORA-12537错误的解决
- ORA-06552错误的解决
- multipathd: sdn: readsector0 checker reports path is down 多路径出错问题解决
- PE结构详解---区块表和区块
- 如何招聘一个能干活的程序员
- 针对C#操作Word时提示:外部组件发生异常问题
- IOS测试网络状态
- dual表的恢复操作(ORA-00980:同义词转换不再有效错误解决(转) - rachel的日志 - 网易博客
- oracle wmsys 函数
- 关于 android 中 edittext 特殊字符过滤和字符长度限制的最优方法
- C语言中##的用法
- 读入
- Tomcat部署Web应用方法总结 - yangxueyong的专栏 - 博客频道 - CSDN.NET
- dom4j通过xpath查询xml
- Linux进程休眠和唤醒
- 加密算法