♣ 题目部分 在Oracle中,什么是结果集缓存? ♣ 答案部分 结果集缓存(Result Cache)是Oracle 11g的新特性,用于存储经常使用的SQL语句和函数的查询结果。...所以,Result Cache只对那些在平时几乎没有任何DML操作的只读表比较有用,可以减轻I/O的压力。 在实际情况中,结果集缓存仅在少数的情况下是有效的。...在以下情况中,结果集不会被缓存: ① 查询使用非确定性的函数、序列和临时表的结果集不会被缓存。 ② 查询违反了读一致性时结果集将不会被缓存。 ③ 引用数据字典视图的查询的结果集不会被缓存。...AUTO表示优化程序将根据重复的执行操作确定将哪些结果存储在高速缓存中。...l STATUS函数:返回值若为DISABLED则表示没有开启结果集缓存;若为ENABLED则表示已经开启并且可以使用结果集缓存;若为BYPASS则表示已经开启结果集缓存但不可以使用结果集缓存,此时可以通过执行
♣ 题目部分 在Oracle中,直方图使用示例。...NUM_BUCKETS表示桶数,一共有11个Buckets,所以在DBA_TAB_HISTOGRAMS中,ENDPOINT_VALUE列记录的就是这11个不同的DISTINCT值。...=1时候使用了索引扫描,而SAL=5000时候,已经使用全表扫描了,说明直方图起了作用。...,而在现实很多时候,列的唯一值是超过254的,那么只能使用高度平衡直方图了。...如果需要删除直方图信息,在Oracle 10g中可以通过设置“METHOD_OPT=>'FOR COLUMNS SAL SIZE 1'”,但这却得再次收集表的统计信息,十分不合理,所以,在Oracle
前提知识 先来了解一下有哪些DB 和 db对应的作用 这里主要会使用到msg_x.db, wccontact_new2.db, group_new.db Msg_1|2|3|4.db …… 这些是把聊天信息分割后生成的文件...本次需要使用到的工具:lldb,DB Browser for SQLite, wechat 注意: 如果有小伙伴的mac book 一会儿运行了lldb之后出现error: attach failed...sqlite3_key | br set -n sqlite3_key | br s -n sqlite3_key br s -n 的意思就是在sqlite3_key的地方下断点 | 分割多种写法 然后在...continue 一下 5.点击登陆,并在我们的手机上进行确认登陆 6.这个时候断点就生效了,程序会保持在刚才那个登陆确认的页面上,然后我们在lldb上就能够看到显示的汇编指令,可以看到最后一行是把...rcx 寄存器中的值 赋值给了rsi 7.我们通过lldb 读取 rsi寄存器中的内容 memory read –s 1 -f x -c 32 $rsi 8.我们把得到的结果复制到ultraedit
♣ 题目部分 在Oracle中,如何监控索引的使用状况?...♣ 答案部分 在开发应用程序时,可能会建立很多索引,那么这些索引的使用到底怎么样,是否有些索引一直都没有用到过,在这种情况下就需要对这些索引进行监控,以便确定它们的使用情况,并为是否可以清除它们给出依据...可以从视图DBA_HIST_SQL_PLAN中获取到数据库中所有索引的扫描次数情况,然后根据扫描次数和开发人员沟通是否需要保留索引。...OUTER JOIN TMP2 B ON (A.INDEX_OWNER = B.INDEX_OWNER AND A.INDEX_NAME = B.INDEX_NAME); 假设有如下的运行结果...从图中可以看到有一个3.6G大的索引在13号到22号从没使用过,接下来,可以继续查询该索引是否是联合索引,创建是否合理,分析为何不走该索引,从而判断是否可以删除索引。
♣ 题目部分 在Oracle中,为什么索引没有被使用? ♣ 答案部分 “为什么索引没有被使用”是一个涉及面较广的问题。有多种原因会导致索引不能被使用。...还有很多其它原因会导致不能使用索引,这个问题在MOS(MOS即My Oracle Support)“文档1549181.1为何在查询中索引未被使用”中有非常详细的解释,作者已经将相关内容发布到BLOG(...n 索引是否应该被使用? 二、索引本身的问题 n 索引的索引列是否在WHERE条件中(Predicate List)? n 索引列是否用在连接谓词中(Join Predicates)?...n 在总体成本中,表扫描的成本是否占大部分? n 访问空索引并不意味着比访问有值的索引高效? n 参数设置是否正确? 四、其它问题 n 是否存在远程表(Remote Table)?...n 索引列是否使用了前置通配符(%)? n 索引列是否使用了非等值连接符? n 是否在WHERE子句中对索引列进行了IS NULL值判断? n 是否查询转换失败导致不能选择索引?
server_uuid" mysql -uroot -plhr -h192.168.1.35 -P33067 -e "select @@hostname,@@server_id,@@server_uuid" 结果...START GROUP_REPLICATION; -- 查看MGR组信息 SELECT * FROM performance_schema.replication_group_members; 执行结果...7.2、函数实现多主和单主切换 函数切换:从MySQL 8.0.13开始,可以使用函数进行在线修改MGR模式。...• 微信公众号:DB宝,作者:小麦苗 • 作者博客地址:http://blog.itpub.net/26736162/ • 作者微信:db_bao ★DB宝分享的IT资料:https://mp.weixin.qq.com.../s/Iwsy-zkzwgs8nYkcMz29ag ★DB宝笔试面试详解:https://mp.weixin.qq.com/s/Vm5PqNcDcITkOr9cQg6T7w
♣ 题目部分 在Oracle中,SPM的使用有哪些步骤?...YES SQL_4f19d3cf57be7303 SQL_PLAN_4y6fmtxbvwws38b725570 YES NO --通过BASELINES查询的结果...因为只有标记为ENABLE和ACCEPT的plan才可以被使用。 下面示例将我们的第一个走全表扫描的执行计划标记为fixed。标记为fixed的执行计划会被优先使用。...例如,如果有10个基线计划,其中的三个计划被标记为FIXED,则优化程序将仅使用这三个计划中的最佳计划,而忽略其它所有计划。...如果在修复的SQL计划基线中添加了新计划,则在手动将这些新计划声明为FIXED之前,无法使用这些新计划。
目录 一、创建3台MySQL环境 二、修改MySQL参数 三、重启MySQL环境 四、安装MGR插件(所有节点执行) 五、设置复制账号(所有节点执行) 六、启动MGR单主模式 6.1、启动MGR,在主库...、单主切多主模式 7.3.2、多主切单主模式 八、测试同步 九、MGR新增节点 9.1、创建新MySQL节点 9.2、新节点安装MGR插件 9.3、新节点设置复制账号 9.4、在原...server_uuid" mysql -uroot -plhr -h192.168.1.35 -P33067 -e "select @@hostname,@@server_id,@@server_uuid" 结果...START GROUP_REPLICATION; -- 查看MGR组信息 SELECT * FROM performance_schema.replication_group_members; 执行结果...7.2、函数实现多主和单主切换 函数切换:从MySQL 8.0.13开始,可以使用函数进行在线修改MGR模式。
在其他的关系型数据库中,都有rownum这类型的内置函数来提供查询结果的行号,但是MySQL没有,阿福也一直觉得奇怪。 虽然没有这玩意,但是需求还是要完成的,所以只能用其他的途径来实现了。...阿福在测试的时候发现,该变量接执行结果后还是保留的,却不知道数据库重启之后该变量是否保留。 未经允许不得转载:RffanLAB|Rffan实验室 » MySQL 在查询结果中记录行号
♣ 题目部分 在Oracle中,如何使用STA来生成SQL Profile? ♣ 答案部分 利用STA对语句进行优化后,STA会对语句进行分析,采用最优的优化策略,并给出优化后的查询计划。...这个时候就可以利用Sql Profile,将优化策略存储在Profile中,Oracle在构建这条语句的查询计划时,就不会使用已有相关统计数据,而使用Profile的策略,生成新的查询计划。...OBJECT_ID"=100) ------------------------------------------------------------------------------- 这里可以看到,在优化建议中给出了新的查询计划...这里要特别提到的是category这个参数,你可以通过设置这个参数,制定特定会话使用这个profile。在10g中,每个会话都有一个新参数SQLTUNE_CATEGORY,他的默认值是DEFAULT。...并且在查询计划中还有一些附加信息,表明这个语句是采用了“SYS_SQLPROF_0154e728ad3f0000”这个Profile,而不是根据对象上面的统计数据来生成的查询计划。
♣ 题目部分 在Oracle中,模糊查询可以使用索引吗?...② 模糊查询形如“WHERE COL_NAME LIKE '%ABC';”不能使用索引,但是可以通过REVERSE函数来创建函数索引才能使用到索引。...如果字符串ABC在原字符串中位置不固定,那么可以通过改写SQL进行优化。改写的方法主要是通过先使用子查询查询出需要的字段,然后在外层嵌套,这样就可以使用到索引了。...'AA%') filter(REVERSE(SUBSTR("TABLE_NAME",1,LENGTH("TABLE_NAME")-4)) LIKE 'AA%') --如果字符串ABC在原字符串中位置不固定...--------------------------------------------------------- 131 recursive calls 2 db
问题 在Oracle中,响应文件在什么位置?...答案 可以在root用户下执行以下命令,获取所有的响应文件的位置: find -name *.rsp / 1、创建数据库的响应文件:$ORACLE_HOME/assistants/dbca/dbca.rsp...11.2.0/dbhome_1/assistants/netca/netca.rsp 3、安装数据库软件的响应文件: ①安装完成之后:$ORACLE_HOME/inventory/response/db_install.rsp...例如:/u01/app/oracle/product/11.2.0/dbhome_1/inventory/response/db_install.rsp ②安装之前:解压后的文件夹/response.../db_install.rsp ③18c安装之前:$ORACLE_HOME/install/response/db_install.rsp 4、安装GRID软件的响应文件: ①安装完成之后
除了第三方缓存以外,我们通常也需要在java中构建内部使用的缓存。那么怎么才能构建一个高效的缓存呢? 本文将会一步步的进行揭秘。...使用HashMap 缓存通常的用法就是构建一个内存中使用的Map,在做一个长时间的操作比如计算之前,先在Map中查询一下计算的结果是否存在,如果不存在的话再执行计算操作。...虽然这样的设计能够保证程序的正确执行,但是每次只允许一个线程执行calculate操作,其他调用calculate方法的线程将会被阻塞,在多线程的执行环境中这会严重影响速度。...,但是当有两个线程同时在进行同一个计算的时候,仍然不能保证缓存重用,这时候两个线程都会分别调用计算方法,从而导致重复计算。...FutureTask表示一个计算过程,我们可以通过调用FutureTask的get方法来获取执行的结果,如果该执行正在进行中,则会等待。 下面我们使用FutureTask来进行改写。
♣ 题目部分 在Oracle中,LogMiner是什么?其有哪些用途?请简述LogMiner的使用过程。...所以该视图显示字典文件信息 l V$LOGMNR_PARAMETERS:显示LOGMINER的参数 l V$LOGMNR_LOGS:显示用于分析的日志列表信息 l V$LOGMNR_CONTENTS:LOGMINER结果...确保在创建Flat File文件的过程中,不能有DDL操作被执行。...同时在使用START_LOGMNR开始分析时,需要指定DICT_FROM_REDO_LOGS的参数。...③ 使用Online Catalog(联机日志) 为了使LogMiner直接使用数据库当前使用的字典,在开始LogMiner时可以指定将联机目录作为字典源: 1SQL> EXECUTE DBMS_LOGMNR.START_LOGMNR
问题 【DB笔试面试863】在Oracle中,如何让Oracle DB、监听和oem开机启动?...答案 Oracle提供了伴随操作系统自动重启的功能,在Windows中,可以修改“我的电脑-->管理-->服务-->OracleService$ORACLE_SID”,或直接使用Win+R键打开运行窗口...80行,dbshut文件中在第50行。...建立启动脚本 使用root用户创建脚本: [root@oracle ~]#vim /etc/rc.d/init.d/oracle #!...需要注意的是,在CentOS7中,/etc/rc.d/rc.local的权限被降低了,所以需要执行如下命令赋予其可执行权限: chmod +x /etc/rc.d/rc.local 对于这2种方法,需要注意的几个问题
♣ 题目部分 在Oracle中,什么是OLR?...因此,Oracle在11gR2版本中推出了另一种注册表OLR(Oracle Local Registry,Oracle本地注册表)。...OLR不与集群中的其它节点共享。OLR存储了集群启动初期ohasd(Oracle High Availability Service)使用的重要环境,如Oracle集群件的版本、配置等。...Oracle在一个名为/etc/oracle/olr.loc(Linux或AIX)或者/var/opt/oracle/olr.loc(Solaris系统)的文本文件中存储了OLR配置文件的位置。...l ocrcheck 对OCR/OLR执行快速健康检查,并输出空间使用统计信息。 l ocrdump 将OCR/OLR的内容转储到一个操作系统文件。
CentOS 7 的内核一般都是3.10的,而CentOS 6.X 的内核一般都是2.6,在2.6的内核下,Docker运行会比较卡,所以一般会选择升级到3.10版本。...二、在CentOS 7上安装Docker常用命令 1、卸载掉旧版本的 Docker: yum remove -y docker docker-client docker-client-latest docker-common...| 2.9 MB 00:00:02 base/7/x86_64/primary_db...connect to mirrors.aliyuncs.com:80; Connection refused" Trying other mirror. base/7/x86_64/primary_db...connect to mirrors.aliyuncs.com:80; Connection refused" Trying other mirror. (7/7): base/7/x86_64/primary_db
♣ 题目部分 在Oracle中,什么OSWatcher工具?...这些组件都包含在一个tar安装文件中(截止目前20170726,最新版本为oswbb801.tar,大约5M)。.../startOSWbb.sh 10 2 后面参数表示10秒采集一次数据,只保留最后采集2个小时的数据在归档文件中。...② 参数2:指定采集的数据文件在归档路径保留多少个小时。 ③ 参数3:可选参数,打包压缩工具,在完成收集后OSW将使用其来打包压缩归档文件。...使用上面方式启动OSWbb,会被输出信息一直刷屏,所以,基本上很少使用这种方式,一般使用nohup启动,这样可以让OSW能够在后台持续运行并在当前会话终止后不会被挂断,如下所示: 1nohup .
♣ 题目部分 在Oracle中,什么是XTTS?...在企业越来越大的数据量、相对停机时间要求日益减少的情况下,利用XTTS可以完成使用增量备份方式实现跨平台的数据迁移。XTTS能够减少停机时间、可以进行增量备份,并且能实现跨平台的数据迁移。...在“去IOE”(即IBM、Oracle、EMC,其中,IBM代表硬件以及整体解决方案服务商;Oracle代表数据库;EMC代表数据存储。...有关XTTS的使用在MOS文档“11G - Reduce Transportable Tablespace Downtime using Cross Platform Incremental Backup
♣ 题目部分 在Oracle中,简述Oracle中的游标。 ♣ 答案部分 在介绍游标之前先介绍一下Oracle数据库中库缓存(Library Cache)的作用及其组成结构。...当同样的SQL语句和PL/SQL语句再次被执行的时候就可以直接利用已经缓存在库缓存中的那些相关对象而无须再次从头开始解析,这样就提高了这些SQL语句和PL/SQL语句在重复执行时的执行效率。...库缓存(Library Cache)在SGA中的位置如下图所示: ?...可以使用视图V$DB_OBJECT_CACHE(基表为X$KGLOB)来查询当前缓存在库缓存中的所有对象。...当Oracle要执行目标SQL“select * from lhr.emp”时,首先会对该SQL的SQL文本进行哈希运算,然后根据得到的哈希值找到相关的Hash Bucket,在Hash Bucket中遍历对应的库缓存对象句柄链表
领取专属 10元无门槛券
手把手带您无忧上云