错误原因:在Oracle新建了一个表,名为“QueryHistory",用来保存用户的查询记录,这时,再用"Select * from QueryHistory"来查询,报 "ORA-00942: 表或视图不存在..." 错误分析:利用Google搜索,找到了原因: oracle是大小写敏感的,如果定义表名称或列名称的时候没有用引号引起来的话 oracle会把他们全部转换为大写,这时就会出现错误了.
在过程,包,函数,触发器中调用Oracle相关动态性能视图时,需要授予适当的权限,否则会收到表和视图不存在的错误提示。即使你可以单独查询这些视图。...因为动态性能视图依赖于底层表,无法直接对其授予权限。下面就是这个现象相关的例子。...1、过程调用动态视图无法成功编译的示例 SQL> select * from v$version where rownum<2; BANNER ----------------------------...-00942: table or view does not exist 2、分析与解决 --根据上面提示的错误信息,咋一看就是表和视图不存在 --而实际上动态性能视图是一个同义词,并非真正的视图,下面尝试使用...sys帐户对其赋予权限到所需用户 --收到了ORA-02030错误信息,也就是说只能对固定的表和视图进行权限赋予 SQL> conn / as sysdba Connected.
DDL:对表或者表的属性进行了改变 create:创建表创建用户创建视图 创建表 create table student(id int,score int) ; student后面与括号之间可以有空格可以没有...,但是表还是存在的。...SQL> truncate table st1; truncate table st1 * 第 1 行出现错误: ORA-00942: 表或视图不存在 alter:增加删除修改字段...-00942: 表或视图不存在 SQL> select * from dba_roles_privs where grantee=uper('liuyifei'); select * from dba_roles_privs...where grantee=uper('liuyifei') * 第 1 行出现错误: ORA-00942: 表或视图不存在 SQL> show user; USER
[现象]: Sys账户给bisal账户的t_emp表创建public同义词,bisal用户可以访问t_emp_syn,但scott账户无法查询,select ... t_emp_syn提示表或视图不存在...SQL> select * from t_emp_syn; select * from t_emp_syn * ERROR at line 1: ORA-00942: table... or view does not exist [原因]: Scott没有bisal.t_emp表的访问权限,因此提示表或视图不存在。...[解决]: 使用bisal,执行grant select on t_emp to scott; 使用scott,可以执行t_emp_syn。...,则需要有用户B该表(也就是基表)的访问权限。
为了限制开发人员在测试库随意变更结构,我们在测试库中为开发人员创建了专用账号,这个账号内只包含系统真正属主数据库用户表的同义词,授予了select/insert/update/delete权限,无法执行...但是,最近有个需求,需要用这个专用账号删除分区表的某个分区,执行的时候,提示这个错误, ORA-00942: table or view does not exist ORA-00942这个错误,包含了两层含义...,一个是这张表/视图真的不存在,另一个就是为了保护,这张表/视图存在,但是你没权限。...分区表的同义词,代表的是分区表对象,但是分区表的每个分区其实也是个对象,我们通过user_objects视图就可以看出来,每个分区名称,都是实实在在的对象,但是每个分区,并没有对应的同义词, SQL>...,提示ORA-00942,并不是为了保护,用“schema.table_name”删除分区,则是具备DROP ANY TABLE权限删除真实对象的操作,成功是正常的。
1、ORA-00942表或视图不存在 原因: 1、没有创建成功相应的数据库表,导致查询出错 2、在设置登陆参数(Oracle用户)不一致,比如使用的是Oracle自带的scott用户,然而我们却将登陆参数设置成自己创建的账户...,导致程序向自己创建的Oracle账户里插入数据,最终导致插入失败!’...点击console窗口右上角的灰色×,看看是不是还有程序在运行 2、可能是同时运行了PLSQL Developer,关闭即可 3、java.lang.ClassNotFoundException...原因:没有导入相应的Jar包,导入即可
这些后台操作统称为递归sql 比如create table这样一条简单的DDL命令 Oracle数据库在后台,实际上要把这个命令转换为 对于obj$,tab$,col$等底层表的插入操作....通过跟踪文件,我们可以找到问题的所在 以下是格式化(tkprof)后的输出: Oracle把错误信息首先呈现出来 我们看到ORA-00942错误是由于SDO_GEOM_METADATA_TABLE...表/视图不存在所致 问题由此可以定位 对于这一类的错误,定位问题以后解决的方法就要依据具体问题原因而定了。...-604 and ORA-942 Reported During DROP USER CASCA 4.实际处理 MDSYS.SDO_GEOM_METADATA_TABLE为Spatial对象 如果未使用...sql_trace可以跟踪数据库的很多后台操作 有利于我们发现问题的所在 很多时候,我们想要研究Oracle的内部活动或后台操作 也可以通过sql_trace跟踪 sql_trace/10046 是
第一期就从基本的初始化参数讲起,一篇一个参数,会尽可能的具体. 如无特殊说明数据库版本为11.2.0.4 ---- NLS_LANGUAGE ?...此参数指定数据库的默认语言 参数类型:字符串 语法: NLS_LANGUAGE = language 取值范围:所有有效的语言 默认值: NLS_LANG中得出 通过alter session修改,或者在参数文件中修改...的值,america为NLS_TERRITORY的值,al32utf8为字符集 注意:客户端NLS_LANG参数会在建立连接的时候覆盖NLS_LANGUAGE参数 NLS_LANG影响下列会话信息: 服务器...message的语言 ORA-00942: table or view does not exist ORA-00942:表和视图不存在 天/月名称的语言以及缩写 AM, PM, AD, and BC....同等意思的缩写(AM,PM只是american的表示方法) order by的默认排序方法 (如order by 未指定,group by 采用 binary sort .)
针对系统动态性能视图,数据库启动时,Oracle动态创建了x表,在此基础之上,创建gv和v视图,Oracle创建了gv_和v_视图,然后创建了gv和v的公共同义词,而真正的v视图访问的限制是通过软件机制实现的..., xbisal(表) -> vbisal(视图) -> v 但实际执行vbisal得到的是vbisal(视图),不是vbisal(同义词),因此,针对普通用户自定义的视图,不能通过v_视图将v P.S...eygle的书中介绍了Oracle对于对象名的解析顺序, (1) Oracle首先查看在发出命令的用户模式中是否存在表或视图。 (2) 如果表或视图不存在,Oracle会看私有同义词是否存在。...(3) 如果私有同义词存在,将使用这个同义词所引用的对象。 (4) 如果私有同义词不存在,看同名的公共同义词是否存在。 (5) 如果公共同义词存在,将使用这个同义词所引用的对象。...(6) 如果公共同义词不存在,返回信息"ORA-00942 table or view does not exit"。 朋友提出第二个问题,为什么能创建出两个相同名称的对象v$bisal?
针对系统动态性能视图,数据库启动时,Oracle动态创建了x$表,在此基础之上,创建gv$和v$视图,Oracle创建了gv_$和v_$视图,然后创建了gv$和v$的公共同义词,而真正的v$视图访问的限制是通过软件机制实现的...针对普通用户自定义的视图,我们稍微改造下最开始的SQL, 1. x$bisal表包含id和a字段。 1. vbisal视图是基于xbisal表,包含id和a字段。...eygle的书中介绍了Oracle对于对象名的解析顺序, (1) Oracle首先查看在发出命令的用户模式中是否存在表或视图。 (2) 如果表或视图不存在,Oracle会看私有同义词是否存在。...(3) 如果私有同义词存在,将使用这个同义词所引用的对象。 (4) 如果私有同义词不存在,看同名的公共同义词是否存在。 (5) 如果公共同义词存在,将使用这个同义词所引用的对象。...(6) 如果公共同义词不存在,返回信息"ORA-00942 table or view does not exit"。 朋友提出第二个问题,为什么能创建出两个相同名称的对象v$bisal?
实验 我们从实验看下,检索这张表,小写表名,但是不带引号,是可以找到的, SQL> select * from testa; no rows selected 但是当使用引号括起来的小写表名,就会提示...testB * ERROR at line 1: ORA-00942: table or view does not exist 只在使用引号括起来的小写表名时,才会找到这张表...通过user_tables视图,就可以看到这个表名的真实存储,除了testb是小写,其他都是大写,因此要是用引号,就需要注意大小写敏感, SQL> select table_name from user_tables...、字段名的大小写敏感,但是不推荐,毕竟每次使用都要带着引号,使用起来麻烦,而且很容易混淆,例如有些厂商写的配置表名和字段都用的小写,导致程序中一旦没用引号括起来的小写名,就会提示ORA-00942的错误...,当然,凡事两面看,使用引号大小写敏感的,某些情况下可以保护数据结构被篡改,例如一些重要的配置表,可以使用引号小写表名,一般人写SQL不会找到他。
CDB$ROOT 层面直接聚合查询多个 PDB 中同一张表的数据。...首先按照想象,在 CDB$ROOT 中直接使用 SYS 用户查询,会报 ORA-00942 错误。 这要求我们首先创建一个 Common User。并赋予其足够的权限。...其次要求用 Common User 分别连接所有需要聚合查询的 PDB,在其中创建一个与表名字相同的视图。...然后还需要在 Common User 中创建一个相同名字的空表,否则查询仍然会报 ORA-00942 错误。 只需要创建一个名字相同的表,已经可以聚合查询 count(*)了。...从报错中透露的 P000 进程,可知 Oracle 在实现此过程中使用了并行查询,不同的并行子进程在不同的 PDB 中查询相关表,最后在 CDB 级别中的汇总显示。
1.知识点:能够对比以下的录屏进行阅读 视图,序列,索引,同义词 SQL> --视图:虚表 SQL> --视图的长处:简化复杂查询。限制数据訪问(银行用的多)。提供数据的相互独立。...相同的数据能够有不同的显示方式 SQL> --第一个视图: 员工号 姓名 月薪 年薪 SQL> create view view1 2 as 3 select empno,ename,sal...SQL> create table testseq 2 (tid number,tname varchar2(20));表已创建。...select count(*) from hr.EMPLOYEES;select count(*) from hr.EMPLOYEES *第 1 行出现错误: ORA...-00942: 表或视图不存在 SQL> / COUNT(*)
过滤和排序 SQL> --查询10号部门的员工 SQL> select * 2 from emp 3 where deptno=10; EMPNO ENAME...1300 10 SQL> --字符串大小写敏感 SQL> --查询名叫KING的员工...SQL> select * 2 from mep 3 / from mep * 第 2 行出现错误: ORA-00942: 表或视图不存在 SQL... 2 from emp 3* where ename='King' SQL> / 未选定行 SQL> --日期格式敏感 SQL> --查询入职日期是17-11月-81的员工
今天小麦苗给大家分享的是数据泵导出导入物化视图(ORA-39083)。 数据泵导出导入物化视图(ORA-39083) 有网友问,物化视图是否能单独进行导出和导入呢?...1.4 故障处理总结 1、使用数据泵进行导出和导入时,基于schema和数据库级别可以导出和导入物化视图。...2、使用数据泵单独导出和导入物化视图(include=materialized_view)时,会报ORA-39083和ORA-00942错误。 3、在新建一个物化视图时,会同步新建一个同名的表。...所以,使用数据泵单独导出和导入物化视图(include=materialized_view)时,需要加上这些同名的表。...5、若只导出物化视图的创建语句,则可以使用如下SQL: expdp system/lhr dumpfile=mview4.dmp schemas=lhr include=TABLE:\"IN \(\'TEST_MV_LHR
以往我们说数据字典分为两类,数据字典表和动态性能视图,数据字典表按照层级可以分为DBA_XXX,ALL_XXX,USER_XXX这三个层级,在12c里面这个地方又有了变化,那就是有了更高级的CDB_XXX...这个层级的数据字典表。...的数据字典表。...SQL> select *from cdb_SCHEDULER_JOB_RUN_DETAILS where status='FAILED'; ERROR: ORA-00942: table or view...如果想把这个问题刨一刨,其实也能发现一些信息,本身在CDB的数据字典上还是存在着一些小问题,我想这些数据字典可能使用的不是特别频繁,可能这个问题被遗漏了,所以在一个成熟的架构上做改动,那是迫不得已,而在改动上面希望做到无缝切换
ORA-00942: table or view does not exist 根据错误的信息,出错的地方是在第一个存储过程proc1 这个存储过程的内容就很丰富了,里面会调用动态sql创建view,创建临时表...因为有些pl/sql块不能随便执行,不能随便创建view,table等,所以通过explain plan能够快速的校验出哪些表可能存在问题或者无法访问等等。 如果存在,那么很快就会解析生成执行计划。...-00942: table or view does not exist 这样就会很明显的发现错误之处在于ttttt不可访问或者不存在。...明白了这点,问题的检查会很有条理,可以略过一些复杂的pl/sql过滤条件细节,一般from之后的表名都不会是动态的。可以很方便地进行校验。 但是让人奇怪的是检查了一圈,没有发现问题。...这种问题可能比较隐晦,出了问题确实不好查找,可以使用绝对路径来完成,绝对路径可以根据shell变量来灵活的配置指定。
SQL> select * from t1; select * from t1 * 第 1 行出现错误: ORA-00942: 表或视图不存在 SQL> create table...,分自动和手动 -UNDO_TABLESPACE 当前正在被使用的undo表 -UNDO_RETENTION 规定多长时间内,数据不能被覆盖。...900 表示在900秒内,undo上的数据不能被覆盖。 UNDOTBS1 是当前正在使用的undo表空间。...Undo表空间的大小: 我们在创建一个undo表空间的使用,就指定了它的大小,这个大小一旦创建是不可变更的。...那么就需要参考历史记录 关于如何设置undo表空间的大小可以参见: 【技术分享】如何确定或调整undo表空间的大小 关于如何设置undo表空间的存放时间可以参见: undo_retention:确定最优的撤销保留时间
oracle12c 安装 使用可以看看这篇文章。...,windows10文件存放不一样了,oracle12也是最新的,找了半天,什么everything搜索也没有找到\bin目录,修改注册表也就算了。 ---- 首先应该登陆 SQL plus....本地用户是指在插拔数据库(PDB)中的用户,和12c之前的版本没有什么区别。公用用户只存在于可插拔环境中,在传统的数据库环境中不存在这种应用。怎么理解公用用户呢?...可以简单的把它当做容器(CDB)用户,可以在各个通用与所有可插拔数据库(PDB)中使用。...SQL 错误: ORA-00942: 表或视图不存在 00942. 00000 - "table or view does not exist" *Cause: *Action: 准备尝试一下如下语句
具有创建对象权限并创建了对象的用户称为拥有某个模式 注意:创建数据库对象(视图,表等)的任一用户都拥有一个以该用户名称开头的模式,且被视为模式用户 二、创建及修改用户 条件:需要具有创建用户的权限...权限: 系统权限: 允许用户执行特定的数据库动作,如创建表、创建索引、连接实例等 对象权限: 允许用户操纵一些特定的对象,如读取视图,可更新某些列、执行存储过程等 1.系统权限 超过一百多种有效的权限...对象的拥有者拥有所有权限 对象的拥有者可以向外分配权限 ORACLE一共有种对象权限 对象权限 表 视图 序列 过程 修改(alter) √ √ 删除(delete) √ √ 执行(...对于表和视图可以指定特定的列来授权。...--用户robinson的update 权限被revoke,曾级联赋予john的权限也被收回, --如下提示表、视图不存在,user_col_privs_recd中无记录 SQL> CONN john
领取专属 10元无门槛券
手把手带您无忧上云