♣ 题目部分 在Oracle中,如何定时清理INACTIVE状态的会话?...♣ 答案部分 一般情况下,少量的INACTVIE会话对数据库并没有什么影响,但是,如果由于程序设计等某些原因导致数据库出现大量的会话长时间处于INACTIVE状态,那么将会导致大量的系统资源被消耗,造成会话数超过系统...此时就需要清理那些长时间处于INACTIVE状态的会话。...COMMENTS => '删除--每60分钟检查一次'); END; / & 说明: 有关如何定时清理INACTIVE状态的会话的更多内容可以参考我的...BLOG:http://blog.itpub.net/26736162/viewspace-2154547/ 本文选自《Oracle程序员面试笔试宝典》,作者:小麦苗
比如:想在A服务器之间从B服务器某表中取得数据,更新到A服务器某表中。 这样就可以使用dblink来操作,在查询A库表名加“@dblink”就行了,这个dblink是属于A库。...创建 -- Create database link create public database link UTMS_TEST_81 connect to UTMS identified by...SELECT instance_name,host_name,version FROM v$instance@UTMS_TEST_81; 验证 验证从dblink服务器将用户密码更新到A服务器用户密码中
♣ 题目部分 在Oracle中,怎么杀掉特定的数据库会话?...所以,在执行命令KILL SESSION的时候,可以在后边加上IMMEDIATE,这样在没有事务的情况下,相关会话就会立即被删除而不会变为KILLED的状态(V$SESSION视图中不存在),当有事务存在的情况下...,会先进行回滚相关的事务,然后释放会话所占有的资源。...在Windows上还可以采用Oracle提供的orakill杀掉一个线程(其实就是一个Oracle进程)。在Linux上,可以直接利用kill -9杀掉数据库进程对应的OS进程。...本文选自《Oracle程序员面试笔试宝典》,作者:小麦苗
♣ 题目部分 在Oracle中,如何查到会话正在执行的SQL语句?...通过SQL_ID这个字段,可以获取到某个会话正在执行的SQL语句。...SQL_ID VARCHAR2(13) 正在执行的SQL语句ID SQL_CHILD_NUMBER NUMBER 正在执行的SQL语句的子游标的ID,从0开始 SQL_EXEC_START DATE 该会话开始执行该...本文选自《Oracle程序员面试笔试宝典》,作者:小麦苗
在说明db_link之前,首先介绍一下global_name。 global_name也就是数据库的全局数据库名,可已使用select * from global_name;查询: ?...从这里可以查看到global_db_name的值。...这个与创建数据库连接有关。 俩台不同的数据库服务器,从一台数据库服务器的一个用户读取另一台数据库服务器下的某个用户的数据,这个时候可以使用dblink。...其实dblink和数据库中的view差不多,建dblink的时候需要知道待读取数据库的ip地址,ssid以及数据库用户名和密码。...如果创建全局dblink,必须使用systm或sys用户,在database前加public。
♣ 题目部分 在Oracle中,如何查看某一个会话是否被其它会话阻塞?...由上图可知,1070会话被2号实例上的970会话阻塞。 BLOCKING_SESSION_STATUS VARCHAR2(11) 标识当前会话是否被阻塞。...VALID表示当前会话被阻塞,可以通过BLOCKING_INSTANCE和 BLOCKING_SESSION列查找到阻塞会话;“NO HOLDER”表示没有被阻塞;“NOT IN WAIT”表示当前会话未等待...BLOCKING_SESSION NUMBER 当BLOCKING_SESSION_STATUS的值为VALID时,该列表示阻塞会话的SID。...本文选自《Oracle程序员面试笔试宝典》,作者:小麦苗 ? ---------------优质麦课------------ ? 详细内容可以添加麦老师微信或QQ私聊。 ?
♣ 题目部分 在Oracle中,什么是会话游标?会话游标和共享游标的区别有哪些?会话游标分为哪几类?...在目标SQL的执行过程中,会话游标起承上启下的作用。...由于在缓存会话游标的哈希表的对应Hash Bucket中,Oracle会存储目标SQL对应的父游标的库缓存对象句柄地址,所以,Oracle可以通过会话游标找到对应的父游标,进而就可以找到对应子游标中目标...在Oracle 10g中默认为20(注意:在官方文档中记录的该值默认为0是有误的),11g中默认为50。...① 在Oracle 11gR2中,一个会话游标能够被缓存在PGA中的必要条件是该会话游标所对应的SQL解析和执行的次数要超过3次。
♣ 题目部分 在Oracle中,跟踪会话执行语句的方法有哪几种? ♣ 答案部分 因为TRACE的目标范围不同,所以导致必须使用不同的方法。若作用于数据库全局的,则改初始化参数。...① SQL_TRACE参数设置:非常传统的方法 SQL_TRACE可以作为初始化参数在全局启用,也可以通过命令行方式在具体会话启用。...需要注意的是,在全局启用SQL_TRACE会产生大量trace文件,很容易耗尽磁盘空间,这通常会导致比较严重的性能问题,所以在生产环境中要谨慎使用,并且及时关闭。...在大多数时候使用SQL_TRACE跟踪的都是当前会话的进程。通过跟踪当前进程可以发现当前操作的后台数据库递归活动,这在研究数据库新特性时尤其有效,在研究SQL执行,发现后台错误等方面也非常有用。...可在模块级别、动作级别、客户端级别、数据库级别、会话级别进行跟踪,Oracle官方支持。
♣ 题目部分 在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中遍历对应的库缓存对象句柄链表
♣ 题目部分 在Oracle中,如何预估即将创建索引的大小? ♣ 答案部分 如果当前表大小是1TB,那么在某一列上创建索引的话索引大概占用多大的空间?...对于这个问题,Oracle提供了2种可以预估将要创建的索引大小的办法: ① 利用系统包DBMS_SPACE.CREATE_INDEX_COST直接得到。...利用DBMS_SPACE.CREATE_TABLE_COST可以获得将要创建的表的大小。...第二种办法:Oracle 11g新特性:NOTE RAISED WHEN EXPLAIN PLAN FOR CREATE INDEX 这是一个非常实用的小特性,在Oracle 11gR2中使用EXPLAIN...& 说明: 有关如何预估即将创建索引的大小可以参考我的BLOG:http://blog.itpub.net/26736162/viewspace-1381160/ 本文选自《Oracle程序员面试笔试宝典
♣ 题目部分 在Oracle中,什么是Oracle Directory?...♣ 答案部分 Oracle Directory(目录)可以让用户在Oracle数据库中灵活地对文件进行读写操作,极大地提高了Oracle的易用性和可扩展性。...READ,WRITE,EXECUTE ON DIRECTORY EXP_DIR_LHR TO LHR; GRANT ALL ON DIRECTORY EXP_DIR_LHR TO LHR; 需要注意的是,在创建...Directory数据库对象时对应的路径不存在也不会报错,Oracle数据库并不会到操作系统上检验路径的存在性,只有在使用时才会校验,因此在创建Directory时谨记对应的路径的真实存在性,否则可能会报...Directory的更多内容介绍可以参考我的BLOG:http://blog.itpub.net/26736162/viewspace-2148694/ 本文选自《Oracle程序员面试笔试宝典》,作者
问题 【DB笔试面试863】在Oracle中,如何让Oracle DB、监听和oem开机启动?...答案 Oracle提供了伴随操作系统自动重启的功能,在Windows中,可以修改“我的电脑-->管理-->服务-->OracleService$ORACLE_SID”,或直接使用Win+R键打开运行窗口...Y 文件/etc/oratab由root.sh脚本创建,在用DBCA创建实例时也会更新这个文件。...的位置:Oracle 11g的dbstart在第80行,dbshut文件中在第50行。...start dbconsole" 若环境中没有创建EM,则可以不用添加ORACLE_UNQNAME,和emctl这2行,最后就可以重启OS做测试工作了。
今天小麦苗给大家分享的是在Oracle中,如何定时清理INACTIVE状态的会话? 在Oracle中,如何定时清理INACTIVE状态的会话?...一般情况下,少量的INACTVIE会话对数据库并没有什么影响,但是,如果由于程序设计等某些原因导致数据库出现大量的会话长时间处于INACTIVE状态,那么将会导致大量的系统资源被消耗,造成会话数超过系统...此时就需要清理那些长时间处于INACTIVE状态的会话。...推荐使用这种方法来释放INACTIVE状态的会话。...START_DATE => SYSDATE, COMMENTS => '删除--每60分钟检查一次'); END; / DB
这是Oracle OCP课件给出的创建CDB的过程: ? 使用DBCA或SQL*Plus创建新CDB所需的步骤相同。...1、创建参数文件并启动到NOMOUNT阶段 启动实例之前,使用常用参数准备init.ora参数文件:DB_NAME、CONTROL_FILES(如果不使用OMF)以及DB_BLOCK_SIZE...=20 vi $ORACLE_HOME/dbs/initLHRCDB3.ora DB_NAME=LHRCDB3 DB_BLOCK_SIZE=8192 DB_CREATE_FILE_DEST ='/u01...在本例中,/oracle/dbs和/oracle/seed目录必须存在。...手工建库只是在特殊场景中才会用到。 本文结束。
Q 题目如下所示: 在Oracle中,什么是延迟段创建(Deferred Segment Creation)?...A 答案如下所示: 在Oracle 11.2中,当创建一个空表或者空分区时,为了加快创建速度,Oracle并不会立即分配初始段和空间,实际的表段(Table Segement)被延迟到第一行数据插入时创建...CREATION为IMMEDIATE的情况下,Oracle为T_TEST_2建立了段,在SEGEMENT CREATION为DEFERRED的情况下,Oracle没有为表T_TEST_3建立段,当向没有分配段的空表中插入信息时...在数据库服务器版本为Oracle 11.2.0.1中,当采用exp(无论版本为多少)导出数据时,需要先判断数据库中是否含有空表。...& 说明: 有关Oracle的延迟段创建的更多内容可以参考我的BLOG:http://blog.itpub.net/26736162/viewspace-2143238/ DB笔试面试历史连接 http
♣ 题目部分 在Oracle中,Oracle的DBLINK是什么?...其实,DBLINK和数据库中的VIEW差不多,创建DBLINK的时候需要知道待读取数据库的IP地址、ORACLE_SID以及数据库用户名和密码。...DBLINK一般有两种方式,第一种方式是在本地数据库tnsnames.ora文件中配置了要远程访问的数据库的TNS,例如这里配置了TNS_BJLHR,然后创建公共DBLINK: CREATE PUBLIC...FROM SCOTT.TB_TEST@DBL_BJLHR; 创建DBLINK的第二种方式,是在本地数据库tnsnames.ora文件中没有配置要访问的远程数据库的时候,而直接将相关的内容写到DBLINK...Dblink的更多内容介绍可以参考我的BLOG:http://blog.itpub.net/26736162/viewspace-2148696/ 本文选自《Oracle程序员面试笔试宝典》,作者:李华荣
♣ 题目部分 在Oracle中,如何让普通用户可以杀掉自己用户的会话?...首先,可以创建一个查询自己会话信息的视图,将该视图创建公共同义词,然后创建一个存储过程,该存储过程实现杀掉会话的需要,最后将该存储过程的执行权限赋权给PUBLIC即可解决这个问题。...USERNAME = USER; CREATE OR REPLACE PUBLIC SYNONYM SYN_MYOWNERSESSION_LHR FOR SYS.VW_MYOWNERSESSION_LHR; 创建存储过程用于杀掉会话...& 说明: 有关KILL SESSION的更多内容可以参考我的BLOG:http://blog.itpub.net/26736162/viewspace-2121019和http://blog.itpub.net.../26736162/viewspace-2121020 本文选自《Oracle程序员面试笔试宝典》,作者:小麦苗
创建CDB数据库的几种方式 在Oracle 19c中,若要创建CDB容器数据库环境,可以使用如下几种办法: 1、DBCA静默创建CDB 2、DBCA图形化界面创建CDB 3、手动创建CDB,即使用create...database来创建CDB 4、duplicate a CDB 5、Using DBCA to Duplicate a CDB 在OCP的课件中,Oracle给我们提供了如下图的几种方式: ?...Prepare for db operation 8% complete Copying database files 31% complete Creating and starting Oracle...笔试面试852】在Oracle中,什么是静默建库?...11g开始:$ORACLE_BASE/cfgtoollogs/dbca 10g:$ORACLE_HOME/cfgtoollogs/dbca 从该日志中可以找到DBCA静默建库的详细过程,值得我们深入分析
Oracle在创建表时和其他的数据库有点不一样,MySQL中可以使用“auto_increment”即可。但是Oracle有点麻烦,需要使用序列和触发器达到目的。...具体步骤如下: 一、创建数据表 create table employee( Id int , DeptNo number, EmpNo number, Ename varchar2(16), Job...varchar2(32), Sal float, HireDate date, constraint pk_employee primary key(EmpNo) ); 二、创建员工表自动增长序列 create...employee_autoinc minvalue 1 maxvalue 9999999999999999999999999999 start with 1 increment by 1 nocache; 三、创建触发器将序列中的值赋给插入
♣ 题目部分 在Oracle中,直方图使用示例。...SYS@orclasm > 由于列SAL唯一值的个数没有超过254,所以Oracle自动收集频率直方图。...NUM_BUCKETS表示桶数,一共有11个Buckets,所以在DBA_TAB_HISTOGRAMS中,ENDPOINT_VALUE列记录的就是这11个不同的DISTINCT值。...如果需要删除直方图信息,在Oracle 10g中可以通过设置“METHOD_OPT=>'FOR COLUMNS SAL SIZE 1'”,但这却得再次收集表的统计信息,十分不合理,所以,在Oracle...本文选自《Oracle程序员面试笔试宝典》,作者:小麦苗
领取专属 10元无门槛券
手把手带您无忧上云