♣ 题目部分 在Oracle中,V$SYSSTAT中的CLASS列分别代表什么?...♣ 答案部分 V$SYSSTAT列代表统计类别,其值为1代表事例活动;值为2代表Redo buffer活动;值为4代表锁;值为8代表数据缓冲活动;值为16代表OS活动;值为32代表并行活动;值为64代表表访问...本文选自《Oracle程序员面试笔试宝典》,作者:小麦苗
♣ 题目部分 在Oracle中,行链接和行迁移有什么区别?...♣ 答案部分 当一行的数据过长而不能存储在单个数据块中时,可能发生两种事情:行链接(Row Chaining)或行迁移(Row Migration)。...① 行链接(Row Chaining):当第一次插入行时,由于行太长而不能容纳在一个数据块中时,就会发生行链接。在这种情况下,Oracle会使用与该块链接的一个或多个数据块来容纳该行的数据。...② 行迁移(Row Migration):当一个行上的更新操作导致当前的数据增加以致于不能再容纳在当前块,这个时候就需要进行行迁移,在这种情况下,Oracle将会迁移整行数据到一个新的数据块中。...& 说明: 有关行迁移和行链接更多的内容可以参考我的BLOG:http://blog.itpub.net/26736162/viewspace-2139126/ 本文选自《Oracle程序员面试笔试宝典
♣ 题目部分 在Oracle中,什么是多列统计信息(Extended Statistics)?...♣ 答案部分 Oracle优化器对于基数值的估算是否准确关系到能否生成最优的执行计划,而基数值估算的准确性又取决于SQL中各个对象的统计信息是否完整、是否能真实反映出对象的数据分布情况。...为了能够让优化器做出准确的判断,从而生成准确的执行计划,Oracle在11g数据库中引入了收集多列统计信息。...可见在收集了直方图后的Cardinality值比没有直方图的情况虽然更接近真实值,但还是有不少差距,下面收集多列统计信息。...本例T_ES_20170601_LHR表里的C1、C2两个字段就具有一定的相关性,例如C1=1的字段只和C2='AA'的字段组合成一行,C1=1的字段不会和除了C2='AA'以外的值组合成一行,这就是C1
题目部分 在Oracle中,如何将一个数据库添加到CRS中?...,将数据库加入CRS中后就可以通过srvctl来管理数据库了。...Clusterware在群集服务器重启后是否自动启动资源。...有效的AUTO_START值为: l always:在服务器重新启动时重新启动资源,而不管服务器停止时资源的状态如何。 l restore:将资源恢复到服务器停止时的状态。...l never:无论服务器何时停止,Oracle Clusterware都不会重新启动资源。 下面的例子演示了如何将一个物理DG添加到CRS中。
题目部分 在Oracle中,V$SESSION视图中有哪些比较实用的列? 答案部分 讲到Oracle的会话,就必须首先对V$SESSION这个视图中的每个列都非常熟悉。...该视图在Oracle 11gR2下包含97列,在Oracle 12cR2下增加了6列,共包含103列。下面作者以表格的形式对这个视图中的重要列做详细说明。...关于该列值的含义,请参阅V$SQLCOMMAND.COMMAND列。如果该列的值为0,那么表示并没有在V$SESSION视图里记录。...对于利用并行从服务器的操作,将这个值解释为一个4字节的值,其低位两字节表示会话号,而高位字节表示查询协调程序的实例ID。...;•SNIPED:会话不活动,在客户机上等待,该状态不再被允许变为ACTIVE。
♣ 题目部分 在Oracle中,虚拟列索引(Virtual Column Indexes)的作用是什么?...♣ 答案部分 在Oracle 11g之前的版本中,如果需要使用表达式或者一些计算公式,那么需要创建数据库视图;如果需要在这个视图上使用索引,那么会在表上创建基于函数的索引。...虚拟列是Oracle 11g新引入的一项技术,虚拟列是一个表达式,在运行时计算,不存储在数据库中,不能更新虚拟列的值。...③ 可以通过视图DBA_TAB_COLS的DATA_DEFAULT列来查询虚拟列的表达式,当创建了虚拟列索引(其实是一种函数索引)后,在视图DBA_IND_EXPRESSIONS中不能查询索引列。...⑪ 在已经创建的表中增加虚拟列时,若没有指定虚拟列的字段类型,则Oracle会根据关键字“GENERATED ALWAYS AS”后面的表达式计算的结果自动设置该字段的数据类型。
通常,在编写代码时,我们会在其中放置一些Debug.Print语句,用来在立即窗口中打印程序运行过程中的一些变量值,了解程序的运行状态。...一般情况下,Debug.Print语句每运行一次,就会将要打印的数据输出到不同的行中,如下图1所示。 ? 图1 那么,我们能不能将这些数据打印在同一行中呢?...将数据打印在同一行中,更方便查看结果,特别是有很多数据要打印时更是如此。 其实很简单,在Debug.Print语句中要打印的变量后面加上一个分号就可以了,如下图2所示。 ?...图2 可以看到,在立即窗口的同一行中输出了结果。这样,在立即窗口显示不下数据时,就不需要我们滚动向下查看数据了。对于数据不少、也不多的情况,可以试试!
♣ 题目部分 在Oracle中,如何将RAC软件转换为单实例软件?...♣ 答案部分 在RAC环境中,只有在集群正常启动的情况下才能创建和启动单实例的数据库,否则报错: [oracle@raclhr-11gR2-N1 ~]$ sqlplus / as sysdba SQL...使用oracle用户重新编译RAC环境: $ cd $ORACLE_HOME/rdbms/lib $ make -f ins_rdbms.mk rac_off $ make -f ins_rdbms.mk...启动数据库 需要注意的是,在执行编译后,集群仍然能正常启动,但是集群中的RAC数据库不能正常启动,会报错: SYS@lhrrac11> startup ORA-01078: failure in processing...本文选自《Oracle程序员面试笔试宝典》,作者:小麦苗
♣ 题目部分 在Oracle中,将一个物理DG转换为逻辑DG有哪些步骤呢? ♣ 答案部分 1....停用备库MRP进程 对于将物理备库切换到逻辑备库,需要在主库构建LogMiner字典及启用补充日志,因此应先停用备库的MRP进程,避免产生额外的Redo Apply。...如果正在使用Broker管理现有的物理备库,应先在Broker中禁用目标数据库。...在主库上运行: create tablespace logmnrtbs datafile '+DATA' size 100m autoextend on next 5m maxsize 2000m; execute...关闭物理备库的2个节点数据库,然后在节点1上执行: ALTER SYSTEM SET CLUSTER_DATABASE=FALSE SCOPE=SPFILE SID='*'; shutdown immediate
♣ 题目部分 在Oracle中,如何列举某个用户下所有表的注释及列的注释?...♣ 答案部分 可以使用DBA_TAB_COMMENTS视图来查询表的注释,使用DBA_COL_COMMENTS视图来查询列的注释。...某个用户下某个表的所有列的注释: SELECT D.OWNER, D.TABLE_NAME,D.COLUMN_NAME, D.COMMENTS FROM DBA_COL_COMMENTS D WHERE...& 说明: 有关Oracle数据字典的更多内容可以参考我的BLOG:http://blog.itpub.net/26736162/viewspace-2153324/ 本文选自《Oracle程序员面试笔试宝典
系列文章《C语言经典100例》持续创作中,欢迎大家的关注和支持。...喜欢的同学记得点赞、转发、收藏哦~ 后续C语言经典100例将会以pdf和代码的形式发放到公众号 欢迎关注:计算广告生态 即时查收 1 题目 编写函数fun() 函数功能:将M行N列的二维数组中的字符数据...,按列的顺序依次放到一个字符串中 例如: 二维数组中的数据为: W W W W S S S S H H H H 则字符串中的内容是:WSHWSHWSH [image.png] 2 思路 第一层循环按照列数进行...,第二层循环按照行数 然后依次提出每一列的字符 3 代码 为了熟悉二维数组的指针表示,部分代码给出了数组表示和指针表示 #include #include #define...M 3 #define N 4 /** 编写函数fun() 函数功能:将M行N列的二维数组中的字符数据,按列的顺序依次放到一个字符串中 例如: 二维数组中的数据为: W W W W S S S
♣ 题目部分 在Oracle中,将一个物理DG转换为逻辑DG有哪些步骤呢? ♣ 答案部分 1....停用备库MRP进程 对于将物理备库切换到逻辑备库,需要在主库构建LogMiner字典及启用补充日志,因此应先停用备库的MRP进程,避免产生额外的Redo Apply。...如果正在使用Broker管理现有的物理备库,应先在Broker中禁用目标数据库。...在主库上运行: create tablespace logmnrtbs datafile '+DATA' size 100m autoextend on next 5m maxsize 2000m; execute...tuin=26507979、http://blog.itpub.net/26736162/viewspace-2158321/ 本文选自《Oracle程序员面试笔试宝典》,作者:小麦苗
♣ 题目部分 在Oracle中,将单实例备份集恢复为rac数据库的步骤有哪些?...♣ 答案部分 将单实例备份集恢复为rac数据库的过程基本上就是先将备份集恢复为单实例的数据库,然后再将数据库转换为RAC库。.../ctl_%d_%T_%s_%p.bak'; release channel c1; release channel c2; } 将单实例备份集恢复为rac数据库常用的命令如下所示: ORACLE_SID.../rdbms/admin/catclust.sql & 说明: 有关将单实例备份集恢复为rac数据库的更多内容可以参考我的BLOG:http://blog.itpub.net/26736162/viewspace...本文选自《Oracle程序员面试笔试宝典》,作者:小麦苗
♣ 题目部分 在Oracle中,将RAC备份集恢复到单实例数据库的步骤有哪些?...♣ 答案部分 将RAC备份集恢复到单实例数据库的过程基本上就是先将备份集恢复为RAC数据库,然后再将数据库转换为单实例的数据库。.../ctl_%d_%T_%s_%p.bak'; release channel c1; release channel c2; } 将RAC备份集恢复到单实例数据库可以分为恢复为ASM存储的单实例和...1、rac恢复到ASM中 ORACLE_SID=lhrdbasm startup nomount; set dbid 2136828548 restore spfile to '/tmp/aabb.ora...database drop logfile group 4 ; drop tablespace undotbs2 including contents and datafiles; 2、RAC恢复到FS中
题目部分 在Oracle中,贵公司的数据库有多大?大一点的表有多大?有多少行?...有多少行?...本文选自《Oracle程序员面试笔试宝典》,作者:小麦苗
♣ 题目部分 在Oracle中,对于一个NUMBER(1)的列,如果查询中的WHERE条件分别是大于3和大于等于4,那么这二者是否等价? ♣ 答案部分 首先对于查询结果而言,二者没有任何区别。...② 在使用索引的时候,由于Oracle索引结构的特点,两者扫描的节点都是从4开始,在执行计划、逻辑读和执行时间等各方面都不存在性能差异。...③ 在使用物化视图的过程中,大于3会同时扫描物化视图和原表,效率较低;而大于等于4会直接扫描物化视图,效率较高。...对于后者,由于查询的条件违反了CHECK约束,因此Oracle在执行计划前面增加了一个FILTER,使得整个查询不需要在执行,因此这个查询不管表中数据有多少,都会在瞬间结束。...而对于大于3这种情况,虽然根据CHECK的约束和列定义,可以推断出这条查询不会返回任何记录,但是Oracle的优化器并没有聪明到根据列的精度来进行分析,因此这个查询会执行全表扫描。
搜索引擎的优势比如Elasticsearch、Splunk和Solr采用全文搜索,核心原理为倒排索引 列式数据库 相对于行式数据库,将数据按照列存储,这样可以大量降低系统的IO(因为相邻的数据类型一样,...唯一性约束 字段在表中可以使唯一的。 NOT NULL约束 表明字段不应为空,必须有取值。...Oracle等多数数据库默认都是该级别 (不重复读) 可重复读 可重复读。在同一个事务内的查询都是事务开始时刻一致的,InnoDB默认级别。...在SQL标准中,该隔离级别消除了不可重复读,但是还存在幻读 串行读: 全串行化的读,每次读都需要获得表级共享锁,读写相互都会阻塞. 20 python如何操作oracle ? 简单操作 插入数据 ?...选择合适的缓存比如redis 将经常使用的数据放入缓存中(内存),提升查询效率。 库级别的优化 主从架构优化读写策略,具体方法请关注系列篇第二节。
♣ 题目部分 在Oracle中,为何SYSTEM用户可以将V$SESSION的查询权限赋权给其他用户而SYS用户却不可以? ♣ 答案部分 答案:现象如下,难道SYSTEM比SYS用户的权限更大吗?...Oracle选择访问对象的顺序原则是先SCHEMA后PUBLIC。所以,对于SYS用户而言,他查询V$SESSION视图其实是查询的系统底层表SYS.V$SESSION。...所以,SYS用户在将该视图赋权给其他用户的时候就会报错。而对于SYSTEM用户而言,他查询V$SESSION视图其实是查询的PUBLIC这个特殊用户下的公共同义词,而公共同义词是可以做赋权操作的。...& 说明: 有关Oracle同义词的更多内容介绍可以参考我的BLOG:http://blog.itpub.net/26736162/viewspace-2154285/ 有关Oracle数据字典的更多内容可以参考我的...BLOG:http://blog.itpub.net/26736162/viewspace-2153324/ 本文选自《Oracle程序员面试笔试宝典》,作者:李华荣。
· 启用数据库的IM列存储 在将表或物化视图填充到IM列存储之前,必须为数据库启用IM列存储。 · 动态增加IM列存储的大小 当IM列存储需要更多内存时,可以动态增加其大小。...注: 填充后,V$IM_SEGMENTS 显示磁盘上对象的实际大小及其在IM列存储中的大小。您可以使用此信息来计算填充对象的压缩率。但是,如果对象在磁盘上压缩,则此查询不会显示正确的压缩率。 3....启用数据库的IM列存储 在将表或物化视图填充到IM列存储之前,必须为数据库启用IM列存储。 先决条件 此任务假定以下内容: · 数据库是打开的。...要启用IM列存储: 1. 在SQL * Plus或SQL Developer中,使用管理权限登录数据库。 2. 将 INMEMORY_SIZE 初始化参数设置为非零值。 最小设置为100M。...例如,以下语句动态地将 INMEMORY_SIZE 设置为 500M: ALTER SYSTEM SET INMEMORY_SIZE = 500M SCOPE=BOTH; 禁用IM列存储 您可以通过将
领取专属 10元无门槛券
手把手带您无忧上云