首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

【DB笔试面试576】Oracle,简述Oracle游标。

♣ 题目部分 Oracle,简述Oracle游标。 ♣ 答案部分 介绍游标之前先介绍一下Oracle数据库库缓存(Library Cache)作用及其组成结构。...当同样SQL语句和PL/SQL语句再次被执行时候就可以直接利用已经缓存在库缓存那些相关对象而无须再次从头开始解析,这样就提高了这些SQL语句和PL/SQL语句重复执行时执行效率。...库缓存(Library Cache)SGA位置如下图所示: ?...当Oracle要执行目标SQL“select * from lhr.emp”时,首先会对该SQLSQL文本进行哈希运算,然后根据得到哈希值找到相关Hash Bucket,Hash Bucket遍历对应库缓存对象句柄链表...各个Data Heap之间是独立,没有关联关系,Oracle会在Heap 0属性“Data Blocks Pointer”存储指向这些Data Heap指针,这样Oracle通过访问Heap 0

1.3K20
您找到你想要的搜索结果了吗?
是的
没有找到

【DB笔试面试520】OracleOracleDBLINK是什么?

♣ 题目部分 OracleOracleDBLINK是什么?...♣ 答案部分 当用户要跨本地数据库访问另外一个数据库表数据时,本地数据库必须创建了远程数据库DBLINK,通过DBLINK可以像访问本地数据库一样访问远程数据库表数据。...其实,DBLINK和数据库VIEW差不多,创建DBLINK时候需要知道待读取数据库IP地址、ORACLE_SID以及数据库用户名和密码。.../密码,然后本地数据库通过DBLINK访问远程数据库“TNS_BJLHR”SCOTT.TB_TEST表,SQL语句如下所示: SELECT * FROM SCOTT.TB_TEST@DBL_BJLHR...; 创建DBLINK第二种方式,是本地数据库tnsnames.ora文件没有配置要访问远程数据库时候,而直接将相关内容写到DBLINK配置,如下所示: CREATE DATABASE LINK

1.7K20

postgresmysql_fdw 扩展使用

mysql_fdw 作用: 用来PG快速访问MySQL数据。...postgresql-accessing-mysql-as-a-data-source-using-mysql_fdw/ 实验版本: CentOS 7.5 Postgrsql 11.5 编译安装版 SQL 5.7 rpm版 演示环境,MySQL 和 PG部署同一台机器上...1、MySQL账号授权  192.168.2.4 这个 MySQL服务器上创建相关账号和授权 (测试时候权限放比较大,实际生产上要严格控制权限) create user dts@'%' identified...make USE_PGXS=1 make USE_PGXS=1 install chown postgres.postgres /usr/local/pgsql-11.5/lib/mysql_fdw.so...   # 我这里用root账号编译,需要改下最终pg文件夹下 .so 文件权限 然后,修改pg配置文件, 加入 mysql_fdw这个功能 shared_preload_libraries =

1.1K20

Oracle,如何提高DML语句效率?

题目部分 Oracle,如何提高DML语句效率? 答案部分 若是批量处理海量数据的话通常都是很复杂及缓慢,方法也很多,但是通常概念是:分批删除,逐次提交。...避免更新过程涉及到索引维护。④ 批量更新,每更新一些记录后及时进行提交动作,避免大量占用回滚段和临时表空间。⑤ 可以创建一个临时表空间用来应对这些更新动作。⑥ 加大排序缓冲区。...⑨ 建表参数非常重要,对于更新非常频繁表,建议加大PCTFREE值,以保证数据块中有足够空间用于UPDATE。...= 1000) THEN 9      COMMIT;10      V_COUNTER := 0;11    END IF;12  END LOOP;13  COMMIT;14END;⑪ 当需要更新表是单个或者被更新字段不需要关联其它表带过来数据...如果WHERE条件字段加上索引,那么更新效率就更高。但若需要关联表更新字段时,UPDATE效率就非常差。此时可以采用MERGE且非关联形式高效完成表对表UPDATE操作。

16220

【DB笔试面试519】Oracle,什么是Oracle Directory?

♣ 题目部分 Oracle,什么是Oracle Directory?...♣ 答案部分 Oracle Directory(目录)可以让用户Oracle数据库灵活地对文件进行读写操作,极大地提高了Oracle易用性和可扩展性。...TO LHR; GRANT ALL ON DIRECTORY EXP_DIR_LHR TO LHR; 需要注意是,创建Directory数据库对象时对应路径不存在也不会报错,Oracle数据库并不会到操作系统上检验路径存在性...,只有使用时才会校验,因此创建Directory时谨记对应路径真实存在性,否则可能会报ORA-29913或ORA-29400错误。...Directory更多内容介绍可以参考我BLOG:http://blog.itpub.net/26736162/viewspace-2148694/ 本文选自《Oracle程序员面试笔试宝典》,作者

82520

Postgresql 理解cache postgres意义 与 share buffer 到底设置多大性能最好

POSTGRESQL 数据库CACHE 要接受什么,数据,以及索引,这些信息已8KB块存储磁盘上,需要处理时候,需要将他们读入4KB为存储单元CACHE 。...PG 通过postmaster 为每一个数据库数据访问分配一个基于他下面的子进程,并且这些进程访问 share buffer后,基于LRU算法会让这些数据持续缓冲,当这些数据一定时间不再需要后...我们做一个实验,看看数据在内存中和不再内存查询差别(以下实验传统SATA磁盘系统) 我们灌入5000万数据到PG数据库。通过语句我们可以查出表在内存数据块数量。...通过pg_prewarm 将数据加载进缓存。 可以看到这次查询时间仅仅需要2秒钟 执行计划也没有什么不同。此时这就能证明,数据buffer 和不再buffer巨大区别....pgbench -i --unlogged-tables -s 500 -U postgres -p 5432 -d pgbench 之前写一篇与这个有关文字 PostgreSQL 自己 DB buffer

2.3K50

Oracle,如何定时清理INACTIVE状态会话?

今天小麦苗给大家分享Oracle,如何定时清理INACTIVE状态会话? Oracle,如何定时清理INACTIVE状态会话?...一般情况下,少量INACTVIE会话对数据库并没有什么影响,但是,如果由于程序设计等某些原因导致数据库出现大量会话长时间处于INACTIVE状态,那么将会导致大量系统资源被消耗,造成会话数超过系统...此时就需要清理那些长时间处于INACTIVE状态会话。...直接KILL掉INACTIVE会话。V$SESSION视图中LAST_CALL_ET字段表示用户最后一条语句执行完毕后到sysdate时间,单位为秒。...每次用户执行一个新语句后,该字段复位为0,重新开始记数。可以通过该字段来获得一个连接用户最后一次操作数据库后空闲时间。推荐使用这种方法来释放INACTIVE状态会话。

2.3K20

Oracle 23c 宽表设置

Oracle 23c ,数据库表或视图中允许最大列数已增加到 4096。此功能允许您构建可以单个表存储超过之前 1000 列限制属性应用程序。...某些应用程序(例如机器学习和流式 IoT 应用程序工作负载)可能需要使用包含超过 1000 列非规范化表。 您现在可以单行存储大量属性,这对于某些应用程序来说可以简化应用程序设计和实现。...通过此设置,数据库表或视图中允许最大列数为 1000。这与 Oracle Database 23c 之前版本行为相匹配。...但是,仅当数据库所有表和视图包含 1000 或更少列时,才可以将 MAX_COLUMNS 值从 EXTENDED 更改为 STANDARD。...较旧客户端版本(Oracle Database 23c 之前版本)不支持增加列限制,并且无法访问表或视图中超过 1000 列。 此参数从 Oracle Database 23c 开始可用。

19520

Oracle RAC如何指定JOB运行实例?

♣ 题目部分 RAC如何指定JOB运行实例? ♣ 答案部分 RAC,可以让JOB某个指定实例上运行。...对于DBMS_JOB和DBMS_SCHEDULER来说,它们指定方法不同: (1)DBMS_JOB下,执行SYS.DBMS_JOB.SUBMIT包创建JOB时候,可以指定INSTANCE参数,该参数指定了...RAC环境,采用DBMS_JOB包可以指定JOB运行时候实例。...示例代码如下所示,该例子展示了获取RAC数据库IP地址并记录到临时表T_IPADDRESS_LHR,例子很经典,希望读者可以理解。...该例子和上面的DBMS_JOB例子一样展示了获取集群数据库IP地址并记录到临时表T_IPADDRESS_LHR,例子前3步和上面的例子一样,不再赘述,接下来就是创建SERVICE和JOB_CLASS

29820
领券