题目         部分

在Oracle中,什么是DUAL表?


     


         

答案部分          


有关Oracle的DUAL表,需要掌握以下几点内容:

① 系统提供的一个DUMMY表,临时显示结果的表,里边的内容没有特定的意义,就是为了存在而存在。

② DUAL是属于SYS用户的一个表,然后以公共同义词的方式供其他数据库用户使用,这一点可以由以下SQL验证:

1SELECT D.OWNER,D.OBJECT_NAME,D.OBJECT_ID,D.OBJECT_TYPE FROM DBA_OBJECTS D WHERE D.OBJECT_NAME='DUAL';

     

 ③ Oracle对DUAL表的操作做了一些内部处理,尽量保证DUAL表中只返回一条记录。当然这些内部操作是不可见的。

④ 若DUAL表出现问题,则所有相关的基础操作都会受到影响;若DUAL表被删除的话,则数据库将不能启动,报ORA-01775的错误。

⑤ DUAL在数据库OPEN状态下是一行一列的表,但是在MOUNT和NOMOUNT状态下是一行四列的表。

⑥ DUAL的常用方式如下所示:

a. 查看当前连接用户    SELECT USER FROM DUAL;

b. 查看当前日期、时间  SELECT TO_CHAR(SYSDATE,'YYYY-MM-DD HH24:MI:SS') FROM DUAL;

c. 当作计算器用    SELECT 8*9 FROM DUAL;

d. 查看序列值        SELECT MYSEQ.NEXTVAL FROM DUAL;


需要注意的是,如果DUAL被删除的话,那么总体的恢复思路是在数据库OPEN的情况下重建DUAL表,重建的语句如下所示:

1CREATE TABLE SYS.DUAL(DUMMY VARCHAR2(1)) STORAGE(INITIAL 1) TABLESPACE SYSTEM;2INSERT INTO DUAL VALUES('X');3COMMIT;4CREATE OR REPLACE PUBLIC SYNONYM DUAL FOR DUAL;5GRANT SELECT ON DUAL TO PUBLIC WITH GRANT OPTION;6@?/rdbms/admin/utlrp.sql

     

如果是DUAL被删除后重启了数据库,那么就需要设置参数REPLICATION_DEPENDENCY_TRACKING为FALSE才能启动数据库。

& 说明:

有关DUAL表破坏后的恢复可以参考我的BLOG:http://blog.itpub.net/26736162/viewspace-2123291


本文选自《Oracle程序员面试笔试宝典》,作者:小麦苗



---------------优质麦课------------

详细内容可以添加麦老师微信或QQ私聊。



About Me:小麦苗      

● 本文作者:小麦苗,只专注于数据库的技术,更注重技术的运用

● 作者博客地址:http://blog.itpub.net/26736162/abstract/1/

● 本系列题目来源于作者的学习笔记,部分整理自网络,若有侵权或不当之处还请谅解

● 版权所有,欢迎分享本文,转载请保留出处

● QQ:646634621  QQ群:618766405

● 提供OCP、OCM和高可用部分最实用的技能培训

● 题目解答若有不当之处,还望各位朋友批评指正,共同进步

DBA宝典

长按下图识别二维码或微信扫描下图二维码来关注小麦苗的微信公众号:xiaomaimiaolhr,学习最实用的数据库技术。


©著作权归作者所有:来自51CTO博客作者小麦苗DB宝的原创作品,如需转载,请注明出处,否则将追究法律责任

更多相关文章

  1. 【DB笔试面试702】在Oracle中,如何定时清理INACTIVE状态的会话?
  2. 【DB笔试面试689】在Oracle中,如何收集systemdump?如何收集hangana
  3. 【DB笔试面试695】在Oracle中,什么是Oracle RDA(Remote Diagnostic
  4. 【DB笔试面试710】在Oracle中,用哪个参数可以判断一个数据库是否
  5. 【DB笔试面试687】在Oracle中,常用的10046及10053诊断事件的区别
  6. SQLite的13个使用场景
  7. 【DB笔试面试208】在Oracle中,如何快速计算事务的时间与日志量?
  8. 【DB笔试面试737】在Oracle中,将单实例备份集恢复为rac数据库的步
  9. java jdbc数据库五种连接方式

随机推荐

  1. c语言程序的基本单位是什么
  2. c语言规定在一个源程序中main函数的位置
  3. 如何用c语言编写动态烟花
  4. c程序的基本组成单位是什么?
  5. c语言中*是什么意思
  6. C++ 11新特性有哪些
  7. stdafx.h是什么头文件
  8. 可运行的c语言程序的扩展名为什么?
  9. c语言for循环如何打印菱形
  10. .net framework类库的主要功能是什么?