Oracle笔记-优化策略与工具
第 10 章 优化策略与工具 10.1 标识问题 10.2 我的方法 10.3 绑定变量与分析(再次)[@more@] 第 10 章 优化策略与工具 10.1 标识问题 10.2 我的方法 10.3 绑定变量与分析(再次) 不使用绑定变量将增加语句分析,除了消耗CPU时间外,还会增加字典高速缓存上的闩锁。 显示会话等待的事件:V$SESSION_EVENT.具体事件名和含义可以参考Oracle Reference Manual的附录Oracle Wait Events. CURSOR_SHARING CURSOR_SHARING参数缺省为EXACT,若指定为FORCE,则优化器可能将语句中所有的常数转换为绑定变量,虽
Oracle数据库及应用程序优化
1.引言 随着信息化时代的到来,人们开始广泛地使用数据库技术对大量而复杂的信息进行科学高效的管理。在数据库领域中的各种应用软件大量涌现,有Visual Foxpro,Power Builder等等,但其中ORACLE是这个领域中最优秀也是最流行的大型数据库应用软件。本文就在ORACAL中如何优化数据库及其应用程序进行了研究。[@more@] 1.引言 随着信息化时代的到来,人们开始广泛地使用数据库技术对大量而复杂的信息进行科学高效的管理。在数据库领域中的各种应用软件大量涌现,有Visual Foxpro,Power Builder等等,但其中ORACLE是这个领域中最优秀
PL/SQL循序渐进全面学习教程--课程十三 使用组合数据类型* 游标操纵数据
课程十三 使用组合数据类型* 游标操纵数据 本课重点: 1、创建用户自定义的PLSQL记录 2、利用%ROWTYPE属性来创建记录 3、创建PLSQL表 4、描述记录、表、记录的表之间的区别[@more@]课程十三 使用组合数据类型* 游标操纵数据 本课重点: 1、创建用户自定义的PLSQL记录 2、利用%ROWTYPE属性来创建记录 3、创建PLSQL表 4、描述记录、表、记录的表之间的区别 注意:以下实例中标点均为英文半角 一、合成数据类型 1、类型分为PLSQL记录和PLSQL表 2、包含内部组件 3、可重用 二、PLSQL
PL/SQL循序渐进全面学习教程--课程十二 编写控制结构语句
课程十二 编写控制结构语句 本课重点: 1、结构控制的的用途和类型 2、IF 结构 3、构造和标识不同的循环 4、使用逻辑表 5、控制流和嵌套[@more@]课程十二 编写控制结构语句 本课重点: 1、结构控制的的用途和类型 2、IF 结构 3、构造和标识不同的循环 4、使用逻辑表 5、控制流和嵌套 注意:以下实例中标点均为英文半角 一、控制执行流 可以是分支和循环:IF THEN END IF IF condition THEN statements; [ELSIF condition THEN statements;] [ELSE statem
PL/SQL循序渐进全面学习教程--课程十一 与ORACLE SERVER交互
课程十一 与ORACLE SERVER交互 本课重点: 1、在PLSQL中成功的写SELECT语句 2、动态声明PLSQL变量类型与SIZE 3、在PLSQL中写DML语句 4、在PLSQL中控制事务 5、确定DML操作的结果[@more@]课程十一 与ORACLE SERVER交互 本课重点: 1、在PLSQL中成功的写SELECT语句 2、动态声明PLSQL变量类型与SIZE 3、在PLSQL中写DML语句 4、在PLSQL中控制事务 5、确定DML操作的结果 注意:以下实例中标点均为英文半角 一、PLSQL中的SQL语句: SELECT、DML、COMMIT、ROLLBACK、SAVEPOINT、CU
PL/SQL循序渐进全面学习教程--课程十 写执行语句
课程十 写执行语句 本课重点: 1、了解PLSQL执行区间的重要性 2、写执行语句 3、描述嵌套块的规则 4、执行且测试PLSQL块 5、使用代码惯例[@more@] 课程十 写执行语句 本课重点: 1、了解PLSQL执行区间的重要性 2、写执行语句 3、描述嵌套块的规则 4、执行且测试PLSQL块 5、使用代码惯例 注意:以下实例中标点均为英文半角 一、PLSQL 块的语法规则: 1、语句可以跨跃几行。 2、词汇单元可以包括:分隔符、标识符、文字、和注释内容。 3、分隔符: +-*/=<>
PL/SQL循序渐进全面学习教程--课程九 声明变量
课程九 声明变量 本课重点: 1、了解基本的PLSQL块和区域 2、描述变量在PLSQL中的重要性 3、区别PLSQL与非PLSQL变量 4、声明变量 5、执行PLSQL块[@more@] 课程九 声明变量 本课重点: 1、了解基本的PLSQL块和区域 2、描述变量在PLSQL中的重要性 3、区别PLSQL与非PLSQL变量 4、声明变量 5、执行PLSQL块 注意:以下实例中标点均为英文半角 一、概述: 1、PLSQL 块结构: DECLARE --- 可选 变量声明定义 BEGIN ---- 必选 SQL 和PLSQL 语句 EXCEPTION ---- 可
PL/SQL循序渐进全面学习教程--课程八 用户访问控制
课程八 用户访问控制 本课重点: 1、创建用户 2、创建角色来进行安全设置 3、使用GRANT或REVOKE 来控制权限[@more@]课程八 用户访问控制 本课重点: 1、创建用户 2、创建角色来进行安全设置 3、使用GRANT或REVOKE 来控制权限 注意:以下实例中标点均为英文半角 一、概述: ORACLE通过用户名和密码进行权限控制。 数据库安全:系统安全和数据安全 系统权限:使用户可以访问数据库 对象权限:操纵数据库中的对象 SCHEMA:各种对象的集合 二、系统权限: 1、超过80个权限
PL/SQL循序渐进全面学习教程--课程六 运行时应用变量
课程六 运行时应用变量 本课重点: 1、创建一个SELECT语句,提示USER在运行时先对变量赋值。 2、自动定义一系列变量,在SELECT运行时进行提取。 3、在SQL PLUS中用ACCEPT定义变量[@more@] 课程六 运行时应用变量 本课重点: 1、创建一个SELECT语句,提示USER在运行时先对变量赋值。 2、自动定义一系列变量,在SELECT运行时进行提取。 3、在SQL PLUS中用ACCEPT定义变量 注意:以下实例中标点均为英文半角 一、概述: 变量可以在运行时应用,变量可以出现在
PL/SQL循序渐进全面学习教程--课程七 其他数据库对象
课程七 其他数据库对象 SEQUENCE 创建实例: SQL> CREATE SEQUENCE s_dept_id 2 INCREMENT BY 1 3 START WITH 51 4 MAXVALUE 9999999 5 NOCACHE 6 NOCYCLE; Sequence created.[@more@] 课程七 其他数据库对象 SEQUENCE 创建实例: SQL> CREATE SEQUENCE s_dept_id 2 INCREMENT BY 1 3 START WITH 51 4 MAXVALUE 9999999 5 NOCACHE 6 NOCYCLE; Sequence created. 1、NEXTVAL和CURRVAL的用法
PL/SQL循序渐进全面学习教程--课程五 子查询
课程五 子查询 本课重点: 1、在条件未知的情况下采用嵌套子查询 2、用子查询做数据处理 3、子查询排序[@more@]课程五 子查询 本课重点: 1、在条件未知的情况下采用嵌套子查询 2、用子查询做数据处理 3、子查询排序 注意:以下实例中标点均为英文半角 一、概述: 子查询是一种SELECT句式中的高级特性,就是一个SELECT语句作为另一个语句的一个段。我们可以利用子查询来在WHERE字段中引用另一个查询来攻取值以补充其无法事先预知的子结果。 子查询可以用在WHERE子句,HAING子句,SEL
PL/SQL循序渐进全面学习教程--课程四 组函数
课程四 组函数 本课重点: 1、了解可用的组函数 2、说明每个组函数的使用方法 3、使用GROUP BY 4、通过HAVING来限制返回组[@more@]课程四 组函数 本课重点: 1、了解可用的组函数 2、说明每个组函数的使用方法 3、使用GROUP BY 4、通过HAVING来限制返回组 注意:以下实例中标点均为英文半角 一、概念: 组函数是指按每组返回结果的函数。 组函数可以出现在SELECT和HAVING 字段中。 GROUP BY把SELECT 的结果集分成几个小组。 HAVING 来限制返回组,对RESULT SET而言。 二、组函
PL/SQL循序渐进全面学习教程--课程三 从多个表中提取数据
课程三 从多个表中提取数据 本课重点: 1、SELECT FROM 多个表,使用等连接或非等连接 2、使用外连接OUTER JOIN 3、使用自连接[@more@] 课程三 从多个表中提取数据 本课重点: 1、SELECT FROM 多个表,使用等连接或非等连接 2、使用外连接OUTER JOIN 3、使用自连接 注意:以下实例中标点均为英文半角 一、连接的概念: 是指一个从多个表中的数据进行的查询。连接一般使用表的主键和外键。 连接类型: 等连接、不等连接、外连接、自连接 二、Cartesian product : 指的是当JO
PL/SQL循序渐进全面学习教程--课程二 PL/SQL 查询行函数
课程 二 PL/SQL 查询行函数 本课重点: 1、掌握各种在PL/SQL中可用的ROW函数 2、使用这些函数的基本概念 3、SELECT语句中使用函数 4、使用转换函数 [@more@]课程 二 PL/SQL 查询行函数 本课重点: 1、掌握各种在PL/SQL中可用的ROW函数 2、使用这些函数的基本概念 3、SELECT语句中使用函数 4、使用转换函数 注意:以下实例中标点均为英文半角 一、FUNCTION的作用: 进行数据计算,修改独立的数据,处理一组记录的输出,不同日期显示格式,进行数据
PL/SQL循序渐进全面学习教程--课程一 PL/SQL 基本查询与排序
课程 一 PL/SQL 基本查询与排序 本课重点: 1、写SELECT语句进行数据库查询 2、进行数学运算 3、处理空值 4、使用别名ALIASES 5、连接列 6、在SQL PLUS中编辑缓冲,修改SQL SCRIPTS 7、ORDER BY进行排序输出。 8、使用WHERE 字段。[@more@]课程 一 PL/SQL 基本查询与排序 本课重点: 1、写SELECT语句进行数据库查询 2、进行数学运算 3、处理空值 4、使用别名ALIASES 5、连接列 6、在SQL PLUS中编辑缓冲,修改SQL SCRIP
password file的作用及说明(转帖)
在数据库没有启动之前,数据库内建用户是无法通过数据库来验证身份的口令文件中存放sysdba/sysoper用户的用户名及口令允许用户通过口令文件验证,在数据库未启动之前登陆从而启动数据库如果没有口令文件,在数据库未启动之前就只能通过操作系统认证.[@more@]在数据库没有启动之前,数据库内建用户是无法通过数据库来验证身份的口令文件中存放sysdba/sysoper用户的用户名及口令允许用户通过口令文件验证,在数据库未启动之前登陆从而启动数据库如果没有口令文件,在数据库未启动之前就只能通过操作系统认证.使用Rman,很多时候需要在nomoun
SQL*PLUS命令的使用大全 (转载)
Oracle的sql*plus是与oracle进行交互的客户端工具。在sql*plus中,可以运行sql*plus命令与sql*plus语句。 我们通常所说的DML、DDL、DCL语句都是sql*plus语句,它们执行完后,都可以保存在一个被称为sql buffer的内存区域中,并且只能保存一条最近执行的sql语句,我们可以对保存在sql buffer中的sql 语句进行修改,然后再次执行,sql*plus一般都与数据库打交道。 除了sql*plus语句,在sql*plus中执行的其它语句我们称之为sql*plus命令。它们执行完后,不保存在sql buffer的内存区域中,它们一般用来对输出的结果进行格式化显示,以便于制作
ora-12154问题的解决(转载)
现象:使用图形化的net configuration assistant进行配置和测试都能通过,就是无法使用sql plus进行连接,总是提示ora-12154。分析:因为测试能够通过,可以肯定问题出现在客户端。应该是tnsname.ora出现了问题。[@more@]现象:使用图形化的net configuration assistant进行配置和测试都能通过,就是无法使用sql plus进行连接,总是提示ora-12154。分析:因为测试能够通过,可以肯定问题出现在客户端。应该是tnsname.ora出现了问题。解决:1、利用配置工具进行了修改,无法解决问题。2、利用服务器端的tnsname.ora进行覆盖,无法解决问题。
ORA-27101错误解决方法及详细分析
ORA-27101 Shared Memory Realm Does Not Exist 在出现上述错误信息时,一般还伴有错误信息:ORA-01034: ORACLE not available。原因是在同一个服务器上,使用了不同的ORACLE_HOME。该问题常常是在ORACLE8.1.7服务器版上出现的。[@more@]ORA-27101 Shared Memory Realm Does Not Exist 在出现上述错误信息时,一般还伴有错误信息:ORA-01034: ORACLE not available。原因是在同一个服务器上,使用了不同的ORACLE_HOME。该问题常常是在ORACLE8.1.7服务器版上出现的。首先检查文件initSID.ora和listener.ora等,看ORACLE_SID和ORACLE_HOME设
ora-01034错误解决方法及详细分析(转载)
前言 每一个DBA在进行数据库管理的过程中不可避免的要遇到形形色色的错误(ORA-xxxx)。有些错误由于频繁出现、原因复杂而被DBA们戏称之为"经典的错误"。其中ORA-3113 "end of fileon communication channel" 就是这样的一个. 我们可以简单的把这个错误理解为Oracle客户端进程和数据库后台进程连接中断。不过,导致这个错误的原因实际上有很多种,对数据库设置不当、任何能导致数据库后台进程崩溃的行 为都可能产生这个错误.这个错误的出现还经常伴随着其它错误,比如说: [@more@] 前言 每一个DBA在进行