经常会碰到开发人员给出这样的SQL脚本,如下所示,其中表名、字段名,都带了双引号,
为了限制开发人员在测试库随意变更结构,我们在测试库中为开发人员创建了专用账号,这个账号内只包含系统真正属主数据库用户表的同义词,授予了select/insert/update/delete权限,无法执行create table/alter table等操作。
select * from USR_JXZX_DSJKF_MODEL.SJZX_STZDJS_temp
http://www.eygle.com/case/sql_trace_2.htm
在过程,包,函数,触发器中调用Oracle相关动态性能视图时,需要授予适当的权限,否则会收到表和视图不存在的错误提示。即使你可以单独查询这些视图。因为动态性能视图依赖于底层表,无法直接对其授予权限。下面就是这个现象相关的例子。
在Oracle 11g中,可以把SQL或PL/SQL错误信息自动记录到当前用户下的一个表中,而且不会自动删除,默认的表名为SPERRORLOG,也可以指定自己的表名替换默认表名。
第一期就从基本的初始化参数讲起,一篇一个参数,会尽可能的具体. 如无特殊说明数据库版本为11.2.0.4
张乐奕 云和恩墨副总经理,Oracle ACE总监,ACOUG 联合创始人 在最新版本的 Oracle Database 12.1.0.2 中,新特性提供了 PDB Containers 子句,用以从 CDB$ROOT 层面直接聚合查询多个 PDB 中同一张表的数据。在新特性文档中该段如下描述: 但是实现起来并非看上去如此简单。 现有测试环境如下:当前 CDB 中有 2 个 PDB,分别是 PDB1 和 PDB2;每个 PDB 中都有一个相同名字的 Local User,为 KAMUS;每个 KA
Oracle 9i执行Stackpack(10g是AWR),当前是一个普通账户,没有DBA权限。
最近偶尔会收到一个报警,提示一个Scheduler Job运行失败了。这是一个12c的环境,启用了容器选件,所以一个CDB会含有多个PDB。 如果你要说这个CDB,PDB的区别和联系,那我就
create user liuyifei identified by 4852396;
今天有个同事问我一个问题,他说运行shell脚本的时候抛出了ORA 错误,但是对于错误的原因没有思路,想让我帮他看看。 我查看了下,脚本的结构比较清晰。 脚本是有一个shell脚本,一个sql文件组成,shell脚本作为基本的流程控制,sql文件中是pl/sql脚本。 大体明白了shell脚本的部分,没有做过多的追究,就开始了解pl/sql脚本的内容了。 首先在pl/sql中声明了大量的procedure,类似shell中的function,大概有10多个procedure 然后在最后使用一个类似main函
错误原因:在Oracle新建了一个表,名为“QueryHistory",用来保存用户的查询记录,这时,再用"Select * from QueryHistory"来查询,报 "ORA-00942: 表或视图不存在 " 错误分析:利用Google搜索,找到了原因: oracle是大小写敏感的,如果定义表名称或列名称的时候没有用引号引起来的话 oracle会把他们全部转换为大写,这时就会出现错误了. 解决方法: 将语句改为"Select * from "QueryHistory" 或是语句全部大写
1、ORA-00942表或视图不存在 原因: 1、没有创建成功相应的数据库表,导致查询出错 2、在设置登陆参数(Oracle用户)不一致,比如使用的是Oracle自带的scott用户,然而我们却
我们这里简单的以ORA - 942 table or view does not exist为例
Sys账户给bisal账户的t_emp表创建public同义词,bisal用户可以访问t_emp_syn,但scott账户无法查询,select ... t_emp_syn提示表或视图不存在。
有网友问,物化视图是否能单独进行导出和导入呢?因为导出不报错,但是导入的时候报错了,报错信息如下所示:
在之前讨论过 关于oracle中session跟踪的总结,可以参见链接 http://blog.itpub.net/23718752/viewspace-1150568/ 基本的session跟踪方法都做了讨论,但是在实际应用中场景可能要复杂一些,比如我们可以对指定的session开诊断事件,如果session中运行的某个环节出现问题,可以根据诊断事件得到比较明细的递归sql来逐步查看排除,知道问题的根源。 但是如果不确定session的情况,因为每次连接进来的session都是不固定的,这样就很难开诊断事
在这篇小文中,我和大家分享一下PayPal数据库的隐含参数,注意,本文参考资料来自网络OOW公开文档,只是我也是首次注意到这些设置。 在图中架构,可以看到PayPal使用了大量的Exadata一体机,
开发人员说新建了一个package,在编译的过程中出现了一些错误。提示为PL/SQL:ORA-00942: table or view does not exists。这是一个很明显的错误,即要么是表不存在,要么是由于没有权限就会出现该错误提示。根据这个提示,在增加相应的权限后,再次编译收到了ORA-04028: cannot generate diana for object这个错误提示。下面是具体的描述。
同义词是其它对象(例如表、实体、存储过程、函数、包、序列)的别名。同义词也可以是另一个同义词的别名。同义词的优点主要体现在以下几个方面:
本文介绍一下,在DG环境中,若主库做了闪回数据库的操作后,备库如何通过flashback操作,继续和主库保持同步,而不用重新搭建DG。
在学习Oracle的时候,必然会接触到sql解析的过程。这个过程大体是这样的步骤。 1.对sql的文法检查,查看是否有文法错误,比如from,select拼写错误等。 2.在数据字典里校验sql涉及的对象是否存在。 3.将对象进行名称转换,比如同义词转义成对应的对象。比如select * from t t是一个同义词指向hr.test 4.检查语句的用户是否具有访问对象的权限 5.生成执行计划 6.将游标产生执行计划,sql文本装载入library cache所在的heap中。 这个过程看起来比较容易理解,
EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO
用户A包含表TBL,如果用户A将TBL的访问权限给用户B(grant select any table to B),则在用户B中要想引用用户A的表,不使用同义词,则需要用select * from A.TBL;
--初始化操作, 创建两个用户一个,testo,一个test. 在testo上创建表,test上创建物化视图。 SQL> create user testo identified by testo; User created. SQL> create user test identified by test; User created. SQL> grant connect,resource to testo,test; Grant succeeded. SQL> grant create materia
近来重装了计算机(双系统windows10+ubuntu16),顺带着也把software升级一下,结果安装最新的oracle12c,出现了一系列问题,我不喜欢折腾,曾经L说过我,喜欢啥折腾,浪费时间,金钱可以解决的,就让自己轻松一下,这次安装oracle12c后,登录名和口令怎么也不对,有折腾了一上午。 oracle12c 安装 使用可以看看这篇文章。 Oracle 12c Windows安装、介绍及简单使用(图文) oracle12c,感觉变化了好多,首先记得打开一下oracle服务,在计算机,
在PL/SQL开发过程中,使用SQL或PL/SQL可以实现大部分的需求,但是,在某些特殊的情况下,在PL/SQL中使用标准的SQL语句或DML语句不能实现自己的需求,例如需要动态建表或执行某个不确定的操作的时候,就需要动态执行,还有DDL语句及系统控制语句都不能在PL/SQL中直接使用,这就需要使用动态SQL来实现。因此,在Oracle数据库开发PL/SQL块中,可以把SQL分为静态SQL和动态SQL。所谓静态SQL指的是在PL/SQL块中使用的SQL语句在编译时是明确的,执行的是确定对象。动态SQL是指在PL/SQL块编译时SQL语句是不确定的,如根据用户输入的参数的不同而执行不同的操作。编译程序对动态语句部分不进行处理,只是在程序运行时动态地创建语句、对语句进行语法分析并执行该语句。动态SQL允许在SQL客户模块或嵌入式宿主程序的执行过程中执行动态生成的SQL语句,动态SQL语句在程序编译时尚未确定。其中,有些部分需要在程序的执行过程中临时生成的SQL语句,SQL标准引入动态SQL的原因是由于静态SQL不能提供足够的编程灵活性。
有一次在某微信群里,有人提问以下两条操作还能恢复吗?而且是在没有开归档。紧接着又有人提问数据库是否开了闪回?
Quartz SchedulerFactoryBean异常–Spring自动装配惹的祸
对于经常在SQL*Plus 下工作的大师们而言,总是时不时查询SQL*Plus的帮助命令。着实太多了,记不住。SQL*Plus下直接提供了help命令来帮助描述所有命令的用法。嘎嘎,再也不用查SQL*Plus reference了。对于Oracle 10g缺省情况下,SQL*Plus的help手册并没有被安装,需要手动安装。Oracle 10/11g下采用相同的安装方式,下面来描述一下help的安装与使用。
"(1) 假设xbisal,他的基表是xbisal,create view vbisal as select * from xbisal;(3) 创建视图v_bisal,他是基于vbisal视图创建的,create view v_bisal as select * from vbisal;(4) 创建公共同义词vbisal,他表示的是v_bisal视图,create public synonym vbisal for v_bisal;"
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/115815.html原文链接:https://javaforall.cn
模拟jingyu2用户下有一张表T_jingyu2;jingyu3用户下有一张表T_jingyu3;
如果抛出一个问题,你是如何理解MySQL解析器的,它和Oracle解析器有什么差别?相信大多数同学都会比较迷茫,因为这个问题很难验证,要不是看源码,要不就是查看书上是怎么说的,其实这两种方法对我们去理解这个问题来说不是很合适,如果能够通过实践来做下理解就好了。
昨天的文章《v$和v_$的一些玄机》,有朋友提出了一些异议,如下相同名称的两个对象v
针对Oracle数据库不同实例之间的数据访问,我们可以直接通过dblink访问,如果oracle数据库想访问MySQL/sqlserver等数据库的数据,我们可以通过配置oracle透明网关实现异构数据库dblink访问。
可见rollback操作和当前数据库 归档模式并没有关系,只和commit操作有关,一旦commit就无法回滚。
Oracle的STS(SQL Tuning Set)是一个种用于保存需要优化的SQL和相关信息的数据库对象。这里介绍一下它的使用方法。
原本dataguard中日志应用和数据库只读查询是一个互斥的关系,两者不能并存。如果需要应用日志,则数据库只能在Mount状态下 使用recover managed standby database disconnect from session来不断地从后台进行日志应用。 如果想查看备库中的数据情况,则只能使用recover managed standby database cancel来取消日志应用,然后把数据库启动到read only 状态下。这种情况从道理上也讲也是有理有据,但是终归还是感觉不够方便
从 Oracle 无法直接访问 Mysql 数据库,需要配置透明网关后通过 DBLink 实现访问。
墨墨导读:某客户单位数据库出现异常,大致现象是:数据库状态是open的,但是其中一个数据文件无法访问,本文分享排查原因与解决问题的整个过程。
本文介绍一下,在DG环境中,主库使用rman做不完全恢复后,备库如何通过flashback操作,继续和主库保持同步,而不用重新搭建DG。
Oracle的COMMENT语句可以给一个列、表、视图或快照添加一个最多2K字节的注释。注释被存储在数据字典中,并且可以通过数据字典视图DBA_COL_COMMENTS(列的注释)和DBA_TAB_COMMENTS(表的注释)查看COMMENTS列。COMMENT语句的语法:
Last Updated: Saturday, 2004-12-04 10:28 Eygle
在之前写过记一次数据同步需求的改进(一) (r7笔记第2天)之后,就开始着手对这个需求进行实践。 所谓实践出真知,在实际做的时候才发现可能计划的再好,做的时候还真不是那么回事。 在之前的邮件中已经确认目标库是一个统计分析库,首先拿到这个环境,先调查一番,发现了一个奇怪的现象。 查看这个库的归档情况的时候发现这个库每天的凌晨开始要切换20多次日志。 Redo Switch times per hour STATDB1
昨天接到一个开发的需求,内容看起来非常简单。 申请数据库192.168.1.118:1522:TEST下用户APP_TE_FLOW_128赋予对表testore_log的查询权限。。。 貌似这个语句也就几秒钟就可以搞定,直接赋予对象权限,或者角色都可以, 类似grant select on test.testore_log to APP_TE_FLOW_128; 但是这个看似简单的案例,我想用两篇日志来总结,因为里面有许多的内容量,中间的过程也是异常曲折,而且最开始的推论很可能是错误的,然后还可以上升到业务
盖总(eygle)在刚结束的甲骨文大会的演讲中,通过一个简单的UPDATE语句,为我们展示了什么叫由点及面的优化,什么叫由点及面的知识覆盖度,不在于这个案具体如何操作,更应关注或更值得我们借鉴的是这种学习态度和方法思路,大师是如何炼成的?我想这个案例可以带给我们一些启迪。
在使用Oracel Datapump API时碰到ORA-31623(a job is not attached to this session via the specified handle)错误,从故障描述来 看提示 job并没有成功附加到当前session指定的handle。该package的导入导出一直正常运行究竟是什么原因导致的呢?我们拭目以待......
领取专属 10元无门槛券
手把手带您无忧上云