
Oracle开发与管理
文章平均质量分 81
梅森上校
十多年软件行业从业经验,热爱技术,精于项目管理和研发团队建设。闲暇至于,喜欢欣赏音乐,看看电影;摆弄摆弄茶道,让身心得以调整和休息。
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
事物处理与并发控制(1)
目标:l Oracle中的事务处理是什么l 怎样控制Oracle中的事务处理l Oracle怎样在数据库中实现并发控制,让多个用户同时访问和修改相同的数据表 1 什么是事务事务就是在数据库上完成的一个操作。要么全部执行并且存储需要的操作,要么全部撤销已经进行的操作,使得数据库恢复到没有改变之前的状态。 2 事务处原创 2007-04-29 00:29:00 · 2633 阅读 · 0 评论 -
数据库日志文件出错的恢复一例
数据库故障一例的解决2008年3月28日星期五今天启动数据库时,发现数据库只能加载到MOUNT状态,通过查询v$database视图发现数据库是在MOUNT状态下,尝试使用alter database open;打开数据库,结果报出以下错误信息 SQL*Plus: Release 10.原创 2008-03-28 23:01:00 · 1018 阅读 · 0 评论 -
在Oracle 10g中使用闪回技术
闪回技术和恢复 闪回技术概述 在Oracle10g中,可以在行、表和数据库级别使用闪回技术,具体分类如下:1、 行级闪回可以使用行闪回技术撤销对个别行的错误更改。有三种行级闪回技术,他们全都依赖于存储在撤销表空间中的撤销数据。(1) 闪回查询:允许根据时间点或SCN查看旧的行数据。可以查看更旧的数据,并且,如果需要可以检索它并撤销错误的更改。(2)原创 2008-05-11 00:52:00 · 1107 阅读 · 0 评论 -
oracle10g初始化参数说明
oracle10g初始化参数说明 参数名: O7_DICTIONARY_ACCESSIBILITY 类别:安全性和审计说明: 主要用于从 Oracle7 移植到 Oracle8i。如果该值为 TRUE, SYSTEM 权限 (如 SELECT ANY TABLE) 将不限制对 SYS 方案中各对象的访问 (Oracle7 行为)。如果该值为FALSE, 只有被授予了 SELE原创 2008-05-14 14:32:00 · 1388 阅读 · 0 评论 -
Oracle10g EM使用时“Host Credentials”的问题
很多同学在使用Oracle10g数据库的EM(Enterprise Manager)时,发现有时候需要进行主机身份验证,即需要输入用户名和密码,当你输入了SYS用户的名称和密码或者其它用户的名称和密码时,还是不能够通过验证,这是怎么回事?例如:在进行数据加载时的操作:530) this.style.width=530;" border=0> Load Data from Use原创 2008-10-21 00:10:00 · 1907 阅读 · 0 评论 -
深度理解Oracle10g中UNDO_RETENTION参数的使用
每一中数据库都需要有一种管理回滚或者撤销数据的方法。当一个DML发生以后,在用户还没有提交(COMMIT)改变,用户不希望这种改变继续保持,需要撤销所做的修改,将数据回退到没有发生改变以前,这时就需要使用一种被称为撤销记录的数据。 使用撤销记录,我们可以:1、 当使用ROLLBACK语句时回滚事务,撤销DML操作改变的数据2、 恢复数据库3、 提供读取的一致性4原创 2008-10-09 20:36:00 · 35468 阅读 · 2 评论 -
Oracle数据库REMOTE_LOGIN_PASSWORDFILE参数的设置
关于Oracle数据库REMOTE_LOGIN_PASSWORDFILE参数的设置 Oracle的实用程序orapwd命令可以用来创建口令文件,该命令的参数有3个: C:/>orapwdUsage: orapwd file= password= entries= force= where file - name of password fi原创 2008-10-09 20:30:00 · 5422 阅读 · 1 评论 -
RMAN备份一个小故障的处理
RMAN备份一个小故障的处理在使用RMAN进行全库备份时发现错误:RMAN> backup database format=d:/orabak/20081008_fullbk.bak tag=seagal; 启动 backup 于 08-10月-08使用通道 ORA_DISK_1通道 ORA_DISK_1: 启动全部数据文件备份集通道 O原创 2008-10-09 20:31:00 · 1295 阅读 · 0 评论 -
Oracle数据库中的特权和角色概念解析
(1)特权:特权是执行一种特殊类型的SQL语句或存取另一用户的对象的权力。有两类特权:系统特权和对象特权。 系统特权:是执行一处特殊动作或者在对象类型上执行一种特殊动作的权利。ORACLE有60多种不同系统特权,每一种系统允许用户执行一种特殊的数据库操作或一类数据库操作. 系统特权可授权给用户或角色,一般,系统特权全管理人员和应用开发人员,终端用户不需要这些相关功能.授权给一用户的系转载 2008-10-09 20:33:00 · 1432 阅读 · 0 评论 -
如何快速找回数据库表中误删除的数据
如果Oracle10g数据库中误删除了一个表中的记录,例如删除了一个非常重要的雇员信息,并且该事务已经提交了,如何快速找回误删除的数据呢? 这种情况下可以利用Oracle10g数据库的闪回功能实现找回丢失的数据。具体的说就是行闪回。行级闪回是指获取先前某个时间点或某个SCN值时表的行数据。行级闪回有两种方式,一是闪回到某个时间点,二是闪回到某个SCN号。 实验如下:首先以S原创 2008-10-10 19:19:00 · 4928 阅读 · 0 评论 -
在Oracle10g中如何删除归档日志
<br />今天一个朋友问我在Oracle10g中如何删除归档日志,就这个问题作如下回答:<br /> <br />Oracle中归档日志不能通过操作系统(OS)级命令直接删除,因为归档日志的一些信息在控制文件中是有记录的,而且如果使用OS级命令直接删除以后,控制文件中的信息是不会改变的,还有,就是相关系统视图中的信息也不会发生改变。Oracle系统仍然会认为归档日志是存在的。<br />那怎么正确的删除归档日志呢?<br /> <br />可以使用下面的几种方法:<br /> <br />可以使用RMAN原创 2011-02-12 00:36:00 · 2827 阅读 · 0 评论 -
Oracle 10g FRA区域没有可用空间导致数据库故障一例分析
FRA满了,导致在线联机日志无法归档 今天早晨启动数据库,发现数据库没有打开,检查数据库的状态:SQL> select open_mode from v$database; OPEN_MODE----------MOUNTED SQL> select open_mode from v$database;原创 2012-01-31 21:19:20 · 1499 阅读 · 0 评论 -
Flashback Table的一个案例
SQL> conn sys/sysadmin@keymen as sysdba;已连接。SQL> create table mytest as select * from hr.departments;表已创建。SQL> select count(*) from mytest; COUNT(*)---------- 27SQL> select cur原创 2012-01-31 21:20:49 · 727 阅读 · 0 评论 -
Oracle 10g中使用闪回技术
在Oracle10g中,可以在行、表和数据库级别使用闪回技术,具体分类如下: 1、 行级闪回 可以使用行闪回技术撤销对个别行的错误更改。有三种行级闪回技术,他们全都依赖于存储在撤销表空间中的撤销数据。 (1) 闪回查询:允许根据时间点或SCN(System Change Number)查看旧的行数据。可以查看更旧的数据,并且,如果需要可以检索它并撤销错误的更改。(2) 闪回版原创 2012-01-31 21:32:03 · 1206 阅读 · 0 评论 -
Oracle10G Physical Standby Database笔记
试验环境primary server: windows2000 server + oracle 10.0.1.0.2 ORACLE_SID:dgtest ORACLE_HOME: D:\oracle\product\10.1.0\db_1standby server: windows XP pro + oracle 10.0.1.0.2ORACLE_SID:dgtest原创 2012-01-31 21:32:54 · 1018 阅读 · 0 评论 -
使用TKPROF性能分析工具
什么是回滚和撤销事务使用回滚段来记录变化前的数据或者撤销信息。假如执行下述的命令:UPDATE EMP SET SAL=SAL*1.5 WHERE EMPNO=7782;这个语句怎样被执行?1、 检查EMPNO=7782记录在Buffer Cache中是否存在,如果不存在则读取到Buffer Cache中2、 在回滚表空间的相应回滚段事务表上原创 2012-01-31 21:34:48 · 782 阅读 · 0 评论 -
控制文件损坏或者丢失的Oracle 10g数据库恢复控制文件一例
如果控制文件丢失或者损坏了,如何解决这个问题?查看参数文件中的设置:SQL> show parameter CONTROL_FILES ;NAME TYPE VALUE------------------------------------ ----------- --------------------原创 2012-01-31 21:03:45 · 3235 阅读 · 0 评论 -
Oracle数据库10g中使用闪回数据库操作
Oracle数据库10g中使用闪回数据库操作使用FLASHBACK DATABASE可以恢复数据库到先前的某个时间点或者某个SCN号。在Oracle10g以前的版本中,要实现数据库恢复到过去某个时间点或者SCN号,只能够通过数据库的不完全恢复实现。从Oracle 10g开始,可以使用FLASHBACK DATABASE实现。使用FLASHBACK DATABASE要比执行数据库原创 2012-01-31 21:04:34 · 707 阅读 · 0 评论 -
Oracle10g新特性:闪回恢复区(Flash recovery area)
Oracle10g新特性:闪回恢复区(Flash recovery area) Oracle9i开始提供闪回查询,以便能在需要的时候查到过去某个时刻的一致性数据,这是通过Undo实现的。这个功能有很大的限制,就是相关事务的undo不能被覆盖,否则就无力回天了。oracle10g大大的增强了闪回查询的功能,并且提供了将整个数据库回退到过去某个时刻的能力,这是通过引入一种新的flashback原创 2012-01-31 21:05:34 · 731 阅读 · 0 评论 -
Oracle 10g EM管理器故障一例剖析
在使用Oracle 10g数据库的过程中,如何修改了计算机名称或者Oracle的配置以后,Oracle Enterprise Manager管理器会出现故障,导致Database Control那一项服务不能正常启动,这会造成很大的麻烦,下文讲述了EM的重新配置方法。Microsoft Windows 2000 [Version 5.00.2195](C) 版权所有 1985-2000 M原创 2012-01-31 21:22:44 · 1051 阅读 · 0 评论 -
Oracle 10g中使用RMAN进行备份恢复的几个实验手记
***********************************************************************************实验一: 对于非归档模式的数据库处于OPEN状态使用RMAN备份,系统出错 如果对于非归档模式的数据库处于MOUNT状态使用RMAN备份,系统会出错吗?不会,可以实施备份。**************原创 2012-01-31 21:24:33 · 1651 阅读 · 0 评论 -
ORACLE常用SQL优化hint语句
在SQL语句优化过程中,我们经常会用到hint,现总结一下在SQL优化过程中常见Oracle HINT的用法:1. /*+ALL_ROWS*/表明对语句块选择基于开销的优化方法,并获得最佳吞吐量,使资源消耗最小化.例如:SELECT /*+ALL+_ROWS*/ EMP_NO,EMP_NAM,DAT_IN FROM BSEMPMS WHERE EMP_NO=’SCOTT’;2.原创 2012-01-31 21:25:50 · 955 阅读 · 0 评论 -
Oracle Database 10g中配置statspack的方法
首先进行一些基本的设置1.SQL*PLUS中输入SQL> connect sys/sys as sysdba; SQL> alter system set job_queue_processes = 6; --自动执行数据收集时该参数需要大于0System alteredSQL> alter system set timed_statistics = true; Sys原创 2012-01-31 21:27:35 · 963 阅读 · 0 评论 -
Oracle Database 10g 快速闪回区配置与管理
何为闪回恢复区按照Oracle官方文档的解释:Flash Recovery AreaThe flash recovery area is an Oracle-managed directory, file system, or Automatic Storage Management disk group that provides a centralized disk locatio原创 2012-01-31 21:30:18 · 3399 阅读 · 0 评论 -
什么是Oracle10g中的虚拟专用数据库(VPD)
什么是VPD所谓虚拟专用数据库(VPD)指的是,通过在数据库里进行配置,从而让不同的用户只能查看某个表里的部分数据。VPD分为以下两个级别:行级别:在该级别下,可以控制某些用户只能查看到某些行数据。例如对于销售数据表来说,每一名销售人员仅仅能检索自己的销售数据,而不能检索其他用户的销售数据。 列级别:在该级别下,可以控制某些用户不能检索某些列的数据。例如HR用户下的EMPLOYEE原创 2012-01-31 21:35:58 · 2557 阅读 · 0 评论 -
图解:千万级记录的海量数据表使用Hints优化----从3分钟优化到几十毫秒
下面分析一个案例,千万级记录的海量数据表使用Hints优化----从3分钟优化到40ms。为了说明这个过程,我构造y原创 2014-06-28 23:44:34 · 2507 阅读 · 0 评论 -
Oracle 10g 中的ROWID详解
Oracle 10g 中的ROWID详解首先使用select * from v$version; 查询Oracle数据库当前的版本SQL> select * from v$version;BANNER----------------------------------------------------------------Oracle Database 10g En原创 2014-06-15 20:40:35 · 985 阅读 · 0 评论 -
Oracle 10g SQL分页查询语句和效率分析
在使用Oracle数据库的分页查询语句基本上可以按照本文给出的格式来进行套用。原创 2014-06-16 00:15:43 · 1584 阅读 · 0 评论 -
Oracle SQL优化必要的全表扫描思路分析
大多数情况下,我们需要避免SQL在查询时进行全表扫描(FTS),但是对于必须需要进行全表扫描的情况,也可以进行一些优化处理。即使全表扫描是检索所需数据的唯一可行方法,仍然有多种方法来提升查询性能。优化扫描的技术包括:1、 通过让表变小来减少扫描所需的逻辑块读取的数量2、 通过提高数据库IO的效率降低扫描所需要的物理块读取的数量3、 通过缓存或抽样降低扫描开销4、 通过使翻译 2014-06-22 02:15:39 · 1793 阅读 · 0 评论 -
Oracle SQL 表访问路径分析
Oracle 的SQL优化器在形成执行计划时需要做的一个重要选择是如何从数据库查询出需要的数据。对于SQL语句存取的任何表中的任何行,可能存在许多存取路径(存取方法),通过它们可以定位和查询出需要的数据。优化器选择其中自认为是最优化的路径。原创 2014-06-22 12:43:46 · 2011 阅读 · 0 评论 -
几种索引扫描方式的比较
索引唯一性扫描(INDEX UNIQUE SCAN)(针对unique index的扫描)比索引范围扫描(INDEX UNIQUE SCAN)需要的逻辑读至少少1,这是因为索引唯一行扫描明确只有最多一行数据返回,而索引范围扫描则可能有多行数据返回,得到第一行数据之后还会向下至少再扫一个叶子节点。索引全扫描(INDEX FULL SCAN):索引全扫描不需要扫描该索引的所有分支块,Oracle在原创 2014-06-22 14:28:35 · 3221 阅读 · 0 评论 -
图解Oracle 表连接优化之嵌套循环连接(Nested loops join)
当一条SQL语句引用多张表连接时,Oracle的查询优化器(Optimizer)不仅原创 2014-06-22 23:30:10 · 19816 阅读 · 4 评论 -
Oracle 12c 用户密码过期设置的一些问题
Oracle 12c 用户密码过期设置的一些问题查看dba_profiles视图的结构,如下:SQL> desc dba_profiles; 名称 是否为空? 类型 ----------- -------- ----------------------------- PROFILE NOT NULL VARCHAR2(128) RESOUR...原创 2018-09-15 19:06:20 · 3391 阅读 · 0 评论 -
解读Oracle执行计划(二)
解读Oracle执行计划(二)一些典型的执行计划:AND-EQUAL(Index merge)AND-EQUAL这种方式需要查询条件里面包括所有索引列,然后取得每个索引中得到的rowid列表,然后对这些列表做merge join,过滤出相同的rowid后再去表中获取数据或者直接从索引中获得数据。and-equal有一些限制,比如它只对单列索引有效,只对非唯一索引有效,使用到的索引不能超过5个...原创 2018-09-18 21:42:09 · 5936 阅读 · 0 评论 -
解读 Oracle12c 执行计划——HASH JOIN
解读 Oracle12c 执行计划——HASH JOIN Oracle官方文档中的解释如下:Hash Joins - Hash joins are used for joining large data sets. The optimizer uses the smaller of the two tables or data sources to build a hash table...原创 2018-09-24 02:03:56 · 3366 阅读 · 0 评论 -
Oracle SQL优化—— 从执行计划和统计信息比较分页查询效率
Oracle SQL优化—— 从执行计划和统计信息比较分页查询效率 先看一张执行计划和统计信息的比较图(下图)这是针对于同一张数据表TAB_TEST_1采用不同的分页查询SQL执行后,获得的执行计划和统计数据,从中可以看出什么问题吗? 显然,左边的执行计划无论是Rows、Bytes、Cost(%CPU),都远远大于右边的执行计划,并且根本就不是一个数量级。再观察统计数据...原创 2018-09-24 11:58:28 · 1426 阅读 · 0 评论 -
Oracle SQL引擎的体系结构
查询优化器是SQL引擎的构成组件之一。它的用途是及时提供高效的查询计划。查询优化器可以分解为逻辑优化器和物理优化器。Oracle SQL引擎的体系结构如图所示:以上是SQL引擎的关键组件。解析器:它的用途是向查询优化器传递SQL语句解析后的形式。 逻辑优化器:在逻辑优化阶段,查询优化器通过应用不同的查询转换技术产生新的语义相等的SQL语句。逻辑优化器的目的是选择出查询转换的最佳组...原创 2018-09-24 15:22:10 · 951 阅读 · 0 评论 -
Oracle 12中启用Plustrace角色和设置
在Oracle 12c中启用Plustrace角色和设置 首先进入到Oracle的安装目录下:\app\SDSC\virtual\product\12.2.0\dbhome_1\rdbms\admin找到文件:utlxplan.sql以SYS用户身份,登录数据库系统,执行脚本:@?\app\SDSC\virtual\product\12.2.0\dbhome_1\rdbm...原创 2018-09-19 12:40:44 · 790 阅读 · 1 评论 -
Oracle 中的SQL概要和自动调整优化器(Automatic Tuning Optimizer)
Oracle 中的SQL概要和自动调整优化器(Automatic Tuning Optimizer)从Oracle 10g起,可以将SQL调优的工作委派给一个被称为自动调整优化器(Automatic Tuning Optimizer)的查询优化器扩展来做。它和查询优化器同属于一个组件而且无法在第一时间得到高效的执行计划。查询优化器被强制必须以最快的速度产生执行计划,典型的在秒级以内。而自动调整...原创 2018-09-24 20:34:44 · 1251 阅读 · 0 评论 -
Oracle 数据库中V$、GV$、X$、V_$、GV_$之间的关系说明
Oracle 数据库中V$、GV$、X$、V_$、GV_$之间的关系说明GV$:全局视图,针对多个实例环境。V$:针对某个实例的视图。X$:是GV$视图的数据来源,Oracle内部表。 GV_$:是GV$的同义词。V_$:是V$的同义词。我们可以使用V$FIXED_VIEW_DEFINITION视图查询到V$视图和GV$视图的定义。在$ORACLE_HOME/rdbms...原创 2018-09-24 21:11:55 · 111937 阅读 · 0 评论