今天在调用Oracle Function遇到一个异常 ?...MSD_PN from t_did where diddid = ID; IF MSD_PN IS NOT NULL THEN RESULT := 'ERROR:' || ID || '在系統中不存在...MSD_PN from t_did where diddid = ID; IF MSD_PN IS NOT NULL THEN RESULT := 'ERROR:' || ID || '在系統中不存在
srvctl stop instance -d racdb -i racdb2 -o immediate 2 关闭crs crsctl stop crs 这个命令只会关闭当前节点的crs 实际操作时使用Oracle...用户并在全路径下执行时报错,权限不足。...sqlplus / as sysdba startup 另一种方式是srvctl start instance -d racdb -i racdb2 -o immediate 查看cluster资源状态 [oracle
熊军(老熊) 云和恩墨西区总经理 Oracle ACED,ACOUG核心会员 在11g里面,随着ASM、RAC、Data Guard(包括Active Data Guard)的成熟,使用RAC+ASM+...这篇文章谈谈如何管理Oracle 11g Data Guard环境中的归档日志。 归档日志是重要的,备份恢复需要它,而Data Guard也需要它。...在早期版本的Data Guard环境中,常常面临着归档日志管理问题,,但11g做了很多改进,使得我们使用和维护更加方便。...然后执行下在的测试代码: ? 这段代码产生的日志量大约在690MB左右: ? 多次执行上述代码,发现FRA(快速恢复区)的空间使用率基本上在80%左右。...然后一直使用alter system switch logfile命令,每执行一次,Oracle会删除一个归档日志,到最后快速恢复区的空间利用率到接近于50%。 ?
♣ 题目部分 在Oracle中,什么是执行计划? ♣ 答案部分 执行计划指示Oracle如何获取和过滤数据、产生最终结果集,这是影响SQL语句执行性能的关键因素。...在深入了解执行计划之前,首先需要知道执行计划是在什么时候产生的,以及如何让SQL引擎为语句生成执行计划。 在Oracle中,任何一条语句在解析过程中都会生成一个唯一的数值标识,即SQL_ID。...而同一条语句,在解析过程中,可能会因为执行环境的改变(例如某些优化参数被改变)而生成多个版本的游标,不同的游标会有不同的执行计划。...每个游标都会按顺序赋予一个序列号,即CHILD_NUMBER,一条语句生成的第一个游标的CHILD_NUMBER为0;相应的,Oracle会为每个执行计划生成一个HASH值以作区分。...而多个不同版本的游标,其执行计划可能会相同,也可能不同。 本文选自《Oracle程序员面试笔试宝典》,作者:李华荣。
Oracle 11g即时客户端在windows下的配置 by:授客 instantclient-basic-nt-11.2.0.3.0.zip客户端压缩包为例 步骤 1....设定环境变量,将解压后的程序所在目录(此例中为D:\Program Files\instantclient-basic-nt-11.2.0.3.0\instantclient_11_2)添加到PATH中...在系统变量(System variables)中,找到Path,编辑(Edit) ? ? 注意:不是清除原来的Path的值,而是添加到后面,其他Oracle目录之前。 ? ?...,然后在菜单工具-首选项中填写如下内容 Oracle主目录名:D:\Program Files\instantclient-basic-nt-1.2.0.3.0\instantclient_11_2...hr/oracle@MYDB 备注: 在执行查询数据时如有中文字符,可能会出现乱码,解决办法如下: 字符集分为服务器端字符集和客户端字符集。
♣ 题目部分 在Oracle中,Oracle 10g和11g告警日志文件的位置在哪里? ♣ 答案部分 作为一名DBA,必须知道告警日志是什么,在何处。实时的监控数据库的告警日志是必须进行的工作。...无论是Oracle 10g还是11g,其告警日志的位置都可以由参数BACKGROUND_DUMP_DEST来查询,只不过在Oracle 11g中位置有所变化。...在Oracle 10g中,告警日志一般在$ORACLE_BASE/admin/$ORACLE_SID/bdump目录下: SYS@lhrdb> SHOW PARAMETER BACKGROUND_DUMP_DEST.../admin/lhrdb/bdump 在Oracle 11g中,告警日志一般在$ORACLE_BASE/diag/rdbms/$DBNAME/$ORACLE_SID/trace目录下: SYS@lhrdb...②视图V$DIAG_ALERT_EXT对应的基表里存储了告警日志的内容,可以根据该视图将告警日志的内容存储在历史表中。③利用SHELL脚本定时将告警日志进行备份,防止告警日志过大而影响系统性能。
♣ 题目部分 阅读如下的执行计划,给出SQL的执行顺序。...CLUSTER |* 13 | INDEX UNIQUE SCAN ------------------------------------------- ♣ 答案部分 分析:采用最右最上最先执行的原则看层次关系...,在同一级如果某个动作没有子ID,那么就最先执行,首先,6、7、9、13最右,所以,6,7最先执行做HASH JOIN,为6,7,5。...所以,该图的执行顺序是6,7,5,9,8,4,11,13,12,10,3,2,1,0。 本文选自《Oracle程序员面试笔试宝典》,作者:李华荣。
在实际情况中,我们可以让浏览器自动获取特定 cookie,并借助 js 立即执行函数,将对应的语言包 object 暴露出去,此时业务代码中引用的地方就可以自动获取到对应的语言,进而展示: 你看,这种方案是不是超级简单...下面我们来看看其中涉及到的一个重要知识点:立即执行函数。 ---- 什么是立即执行函数? 首先,它是一个匿名函数; 其次,它在声明后会被立即执行; 最后,使用圆括号加以调用。...我们把上面用到的代码简化一下: 在 js 中,function 这个关键字,既可以当做语句,也可以当做表达式,上面立即执行函数的写法,其实就是把 function 当作表达式了。...在本文的国际化例子中,我们在方法体中 return 了语言包 object,并不关心函数的返回值,所以可以随意使用任意写法: 那么问题来了,立即执行函数有啥用武之地?...所以我们完全可以让立即函数返回一个函数,举个例子: 看一下执行结果,就很好理解了: 所以,你可以尽情把高阶函数的能力带到立即执行函数中。
♣ 题目部分 在Oracle中, RAC 10g和11g在启动方面有什么差别?...♣ 答案部分 从集群的启动角度来讲,Oracle 10g、11gR1版本的集群是通过/etc/inittab文件中的以下3行代码来启动的。...再来看看Oracle 11gR2版本集群的/etc/inittab文件。...根据Oracle 10g、11gR1和11gR2版本的集群管理软件的启动脚本之间的不同,能看到从Oracle 11gR2版本开始,GI启动脚本变成了一个,而且脚本的长度也大大地减少。...00:00:00 /bin/sh /etc/init.d/init.ohasd run 本文选自《Oracle程序员面试笔试宝典》,作者:小麦苗
前言 在Oracle 11gR2环境中,假如用户同时被授予了connect和resource角色后,即可登录数据库创建对象。...但是在Oracle 12c中,如果用户只是被授予了这两个角色,可以创建对象,但是无法插入数据。...实验 下面做一个小实验: Oracle 11g环境: (1)创建表空间 CREATE TABLESPACE test DATAFILE '/u01/app/oracle/oradata/bond/test01...Connected to: Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production With the Partitioning...原因分析 对比11g和12c的角色权限及用户权限可知,当用户被授予connect和resource权限后,11g默认会授予用户UNLIMITED TABLESPACE权限,而12c并没有默认授予该权限
Oracle 11g RAC安装时,在第一个节点执行root.sh时遭遇了CRS-0184/PRCR-1070,Google了很多帖子也没有找到解决办法。呜呜,还是静下心来看日志!!.../crsctl query crs activeversion Oracle Clusterware active version on the cluster is [11.2.0.1.0] #执行...installation... cvuqdisk-1.0.7-1 #这里有个提示,需要安装cvuqdisk-1.0.7-1包 Configure Oracle...Grid Infrastructure for a Cluster ... failed Updating inventory properties for clusterware Starting Oracle
问题背景:在第一个 Python 项目中,需要等待记录被插入 Oracle 表中,一旦记录存在,就调用 Python 函数。目前使用 cx_Oracle 库,采用一种无限循环的方式来查询表。...如果不想要每秒都向数据库发送查询,是否有其他方法来等待记录并执行操作?解决方案:1....使用 Oracle Advanced Queue:Oracle Advanced Queue 是一种队列服务,允许在应用程序之间传递消息。可以使用它来实现等待记录并执行操作的功能。...使用触发器:触发器是一种在数据库中自动执行操作的机制。可以使用触发器来在记录插入到表时调用 Python 函数。...使用消息队列:消息队列是一种在应用程序之间传递消息的机制。可以使用消息队列来实现等待记录并执行操作的功能。需要创建消息队列并将其配置为在记录插入到表时发送消息。
♣ 题目部分 在Oracle中,执行TRUNCATE后有哪些恢复方法? ♣ 答案部分 在求职数据库相关的岗位的时候,经常会被问到一个问题:在开发或维护过程中误操作TRUNCATE了一张表,如何恢复?...这个时候应该由简到难地回答,可以按照如下的步骤进行回答: ① 是否有测试库,测试库的表数据和当前数据是否一致,若一致,则可以考虑从测试库把表数据导入到被删除的库中。...② 是否有exp或expdp逻辑备份,若有,则可以导入到被删除的库中。 ③ 是否有RMAN备份,若有,则可以将数据恢复到其它地方,然后将数据库exp出来,最后导入到被删除的库中。...& 说明: 有关TRUNCATE比较完整的内容可以参考我的BLOG:http://blog.itpub.net/26736162/viewspace-2082965/ 本文选自《Oracle程序员面试笔试宝典
在编写 org 的时候,发现 Python 的内容并不能很好的执行,而且生成的图片也不能正常显示,所以查询了一下资料,发现如果是 python 的话,需要按下面的形势处理: #+BEGIN_SRC python...,如果是想把 Python 生成的图片显示在 org 文档里的话,就要选择 file ,如果是想显示执行的结果的话,就使用 output 。...:python 是用来指定解释器的,在 Mac 环境下,执行的时候,总是提示找不到 pandas 但是如果直接使用 python test.py 的话是能正常显示结果,可能是因为默认查找的 python2...:session 是特殊情况,有些时候需要调用方法中的 return 使用 session 的话能直接使用,可以不必再单独返回了。...org 文档中,输入 <pyt_ 输入 tab 键就可以自动补全成可用内容了。
11g DB的地址:https://hub.docker.com/r/lhrbest/oracle_11g_ee_lhr_11.2.0.4 ?...start sqlplus / as sysdba startup exit # 启动EM emctl start dbconsole 执行过程: [root@docker36 ~]# docker...Oracle Enterprise Manager 11g Database Control Release 11.2.0.4.0 Copyright (c) 1996, 2013 Oracle.../sysman/log [oracle@lhrora11204 ~]$ emctl status dbconsole Oracle Enterprise Manager 11g Database Control...ora_pmon_LHR11G root 3882 3856 0 09:28 pts/3 00:00:00 grep pmon 3.5 外部客户端连接容器内的数据库 我们可以在容器外部通过
♣ 题目部分 在Oracle中,SQL语句的执行过程有哪些? ♣ 答案部分 Oracle数据库里SQL语句的执行过程可以如下图所示: ?...在查询转换过程中,Oracle会根据一些规则来决定是否对目标SQL执行查询转换,这些规则在Oracle不同的版本里不尽相同。...在Oracle 9i中,查询转换是独立于优化器的,它与优化器的类型无关,但是从Oracle 10g开始,Oracle会对某些类型的查询转换(比如子查询展开、复杂视图合并等)分别计算经过查询转换后的等价改写...只有当等价改写后SQL的成本值小于未经过查询转换的原始SQL的成本值时,Oracle才会对目标SQL执行查询转换。在执行完查询转换后,原目标SQL可能就被Oracle改写了,当然也有可能没有改写。...(5)在得到了目标SQL的执行计划后,接下来Oracle就会根据执行计划去实际执行该SQL,并将执行结果返回给用户。 本文选自《Oracle程序员面试笔试宝典》,作者:李华荣。
♣ 题目部分 在Oracle中,如何得到真实的执行计划?...♣ 答案部分 在Oracle数据库中判断得到的执行计划是否准确,就是看目标SQL是否被真正执行过,真正执行过的SQL所对应的执行计划就是准确的,反之则有可能不准,因此,通过10046事件及如下的几种方式得到的执行计划是最准确的...SQL语句的(例如所有DML语句),但是,由于该命令所显示的执行计划来源于调用EXPLAIN PLAN命令,所以,其得到的执行计划依然可能不准确(特别是在使用了绑定变量的情况下)。...有些DBA在收集统计信息时,没有使用NO_INVALIDATE=>FALSE选项,所以,即使收集了统计信息,执行计划也不会立即改变。...& 说明: 有关真实的执行计划的更多内容可以参考我的BLOG:http://blog.itpub.net/26736162/viewspace-2152884/ 本文选自《Oracle程序员面试笔试宝典
♣ 题目部分 在Oracle中,如何获取SQL历史执行计划?...♣ 答案部分 历史执行计划只能从AWR中获取,如果AWR没有记录的话,那么就无法获取历史执行计划了,获取历史执行计划的命令如下所示: SELECT * FROM TABLE(DBMS_XPLAN.DISPLAY_AWR...下面的例子可以直接从AWR中获取SQL_ID为“bsa0wjtftg3uw”的执行计划,可以看到历史有2种执行计划,一个是全表扫描,一个是索引范围扫描: SYS@RAC2LHR1> SELECT * FROM...本文选自《Oracle程序员面试笔试宝典》,作者:李华荣。
同事说某套Oracle中有一张94G容量的表需要清空,用delete删除的,但是一直卡着。...这个能理解,因为delete是DML操作,事务控制的,在删除的时候,会写入redo、undo等日志,为了能做回滚,或者异常恢复,删除的数据越多,消耗的资源越高,等待时间越久,因此不建议对大量数据的删除使用...delete,应该用批量操作,分多个事务执行,分散资源消耗。...delete,module显示是dbeaver,这正是刚刚同事执行出现hang且未做提交的SQL, delete from test where 1=1; 确认可删除会话,执行如下SQL, alter...而且和RO等待以及truncate执行慢相关的bug还是不少的, 在查资料的过程中,truncate竟然跑完了,14:56-15:15,大约20分钟。
Oracle中,当需要建立一个自增字段时,需要用到sequence。...sequence也可以在mysql中使用,但是有些差别,日后再补充,先把oracle中sequence的基本使用总结一下,方便日后查阅。
领取专属 10元无门槛券
手把手带您无忧上云