存档

文章标签 ‘oracle’

SAVEPOINT和ROLLBACK TO SAVEPOINT语法

2010年5月25日 admin 没有评论

SAVEPOINT和ROLLBACK TO SAVEPOINT语法:

SAVEPOINT identifier

ROLLBACK [WORK] TO SAVEPOINT identifier

RELEASE SAVEPOINT identifier

InnoDB支持SQL语句SAVEPOINT, ROLLBACK TO SAVEPOINT, RELEASE SAVEPOINT和自选的用于ROLLBACK的WORK关键词。

SAVEPOINT语句用于设置一个事务保存点,带一个标识符名称。 如果当前事务有一个同样名称的保存点,则旧的保存点被删除,新的保存点被设置。

阅读全文…

相关日志

分类: Oracle 标签: ,

ORACLE中SAVEPOINT使用解析

2010年5月25日 admin 没有评论

Savepoints 在实际编程中用得比较广,学会它能让你在PL/SQL编程上获得很大提高。下面简单介绍一下Oracle中SavePoint的使用。
你可以在事务上下文中声明称为savepoint的中间标记。Savepoint将一个长事务分隔为较小的部分。
使用savepoint,你可以在长事务中任何点任意标记你的操作。然后你可以选择回滚在事务中当前点之前、声明的 savepoint之后执行的操作。比如,你可以在一长段复杂的更新中使用savepoint,如果犯了个错,你不需要重新提交所有语句。
阅读全文…

相关日志

分类: Oracle 标签: ,

360度全方位解读Oracle回滚段

2010年5月25日 admin 没有评论

最近开发中接触到Oracle回滚段的概念,对其不是很了解,查阅资料后记录下这篇文章。

1. 回滚段的作用

回滚段用于对数据库修改时, 保存原有的数据, 以便稍后可以通过使用ROLLBACK来恢复到修改前的数据; 另外, 回滚段可以为数据库中的所有进程提供读一致性. 因此, 回滚段设置的合理与否, 直接影响到数据库的性能, 在更新密集的OLTP应用中,更是如此.

2. 回滚段的类型

回滚段可分为系统回滚段和非系统回滚段, 其中非系统回滚段又分为PUBLIC回滚段和PRIVATE回滚段.

系统回滚段用于处理涉及系统的CATALOG的事物(比如大多数的DDL), 它位于SYSTEM表空间, 由于只有SYSTEM表空间可以随时保持可用, 因此, 不要把SYSTEM回滚段放在其他的表空间中.

*** 原则1: 系统回滚段应放在SYSTEM表空间中, 并且应该永远保持ONLINE状态.

PUBLIC回滚段对于数据库的所有实例(INSTANCE)都是可用的, 除非将其显式设置为OFFLINE.

PRIVATE回滚段是指对于数据库的某个实例是私有的, 为了使用PRIVATE回滚段, 某个实例应当在其INITsid.ORA的ROLLBACK_SEGMENTS中标明所有要使用的PRIVATE回滚段, 或通过使用ALTER ROLLBACK SEGMENT XXX ONLINE来使用某一个回滚段.

*** 建议1: 在单实例系统中,建议将所有回滚段设为PUBLIC.

*** 建议2: 在多实例系统中(如OPS), 建议将每个实例的PRIVATE回滚段放置到访问比较快的本地设备上.

阅读全文…

相关日志

分类: Oracle 标签: ,

简单3招提高Oracle数据库性能

2010年5月15日 admin 没有评论

数据库优化的讨论可以说是一个永恒的主题。资深的Oracle优化人员通常会要求提出Oracle数据库性能问题的人对数据库做一个statspack,贴出数据库配置等等。还有的人认为要抓出执行最慢的语句来进行优化。

但实际情况是,提出疑问的人很可能根本不懂执行计划,更不要说statspack了。而我认为,数据库优化,应该首先从大的方面考虑:网络、服务器硬件配置、操作系统配置、Oracle服务器配置、数据结构组织、然后才是具体的调整。

实际上网络、硬件等往往无法决定更换,应用程序一般也无法修改,因此应该着重从数据库配置、数据结构上来下手,首先让数据库有一个良好的配置,然后再考虑具体优化某些过慢的语句。我在给我的用户系统进行优化的过程中,总结了一些基本的,简单易行的办法来优化数据库,算是我的三板斧,呵呵。

不过请注意,这些不一定普遍使用,甚至有的会有副作用,但是对OLTP系统、基于成本的数据库往往行之有效,不妨试试。(注:附件是Burleson写的用来报告Oracle数据库性能等信息的脚本,本文用到)

一.设置合适的SGA

常常有人抱怨服务器硬件很好,但是Oracle就是很慢。很可能是内存分配不合理造成的。(1)假设内存有512M,这通常是小型应用。建议Oracle的SGA大约240M,其中:共享池(SHARED_POOL_SIZE)可以设置60M到80M,根据实际的用户数、查询等来定。

阅读全文…

相关日志

分类: Oracle 标签: , ,

10步安全修改Oracle表字段类型

2010年5月14日 admin 没有评论

我们大家都知道Oracle修改字段类型的实际应用中是较为常见的,了解其实际的操作步骤还是有一定好处的,下面就是文章的具体内容的介绍。

因为业务需要,修要修改某个字段数据类型有number(5),变为number(5,2)型

要是没有数据的话直接用以下语句即可

1.alter table tb_test modify permile number(5,2);

但是有数据的话 就不能用上面方法了,

阅读全文…

相关日志

分类: Oracle 标签: , , ,

ORACLE基本概念和术语-8

2010年5月13日 admin 没有评论

§2.11 ORACLE系统的SYS和SYSTEM模式

SYS 和SYSTEM 是每个ORACLE 数据库系统缺省安装的两个帐户。SYS 是所有内部数据库表、结构、过程包、等拥有者,此外它还拥有 V$ 和数据字典视图,并创建所有封装的数据库角色(DBA,CONNECT,RESOURCE)。 Sys是一个唯一能访问特定内部数据字典的用户。 System 也是在安装ORACLE 时创建的用户,用于 DBA 任务的管理。

SYS 安装后的缺省口令为 change_on_install; SYSTEM 缺省口令为 manager。 为了安全,可在安装完成后。 用 ALTER USER sys IDENTIFIED BY password; 命令修改这两个特权帐户的口令。

§2.12 ORACLE系统跟踪文件

所有ORACLE 数据库都至少有一个文件用于记录系统信息,错误及主要事件.这个文件叫做ALERTsid.log(这里的sid 为 oracle 的系统标识),存储位置由INITsid.ORA 文件的 BACKGROUND_DUMP_DEST 参数给出。

后台进程和用户进程都可以建立各自的跟踪文件,后台进程跟踪文件位置由BACKGROUND_DUMP_DEST 参数给出, 而用户跟踪文件位置由 USER_DUMP_DEST 参数给出. 如参数文件 initora8.ora 中给出:

阅读全文…

相关日志

分类: Oracle 标签: , ,

ORACLE基本概念和术语-7

2010年5月12日 admin 没有评论

§2.8 Oracle实例

一个Oracle 实例(Instance) 是由SGA,后台进程以及数据文件组成,每个数据库有自己的SGA和独立的Oracle进程集。如图所示:

Oracle 实例和后台进程(instance图)

在分布情况下,为使不同的数据库系统的名字不致混淆,Oracle使用了一个SID(System Identifer)来标识每个Oracle Server的名字,在UNIX环境中以变量Oracle_Sid来区分。

阅读全文…

相关日志

分类: Oracle 标签: , ,

ORACLE基本概念和术语-6

2010年5月12日 admin 没有评论

§2.7 Oracle内存结构

前面提到过Oracle的数据库实例是一组后台进程和内存结构组成。而内存结构是包括:

l 系统全局区(System Global Area)

l 程序全局区(Program Global Area)

§2.7.1 系统全局区

Oracle 系统用于存放系统信息的一块存储区域,用户进程和Oracle后台进程都可以使用SGA。在SGA中含有许多组件(不同的部分)。

阅读全文…

相关日志

分类: Oracle 标签: , ,

ORACLE基本概念和术语-5

2010年5月11日 admin 没有评论

§2.6 Oracle数据库进程

一般情况,当数据库启动完成后(Instance 启动成功)就至少有六个后台进程在活动,这些进程根据数据库的需要而分工不同。他们分别是:

1)数据库写入器(DBWR)

数据库写入器(Database Writer)的任务是将修改后的(在内存)数据块写回数据库文件中。在某些操作系统中,Oracle可以有两个BDWR进程。

2)校验点(CKPT)

是一个可选进程。在系统运行中当出现查找数据请求时,系统从数据库中找出这些数据并存入内存区,这样用户就可以对这些内存区数据进行修改等。当需要对被修改的数据写回数据文件时就产生重做日志的交替写(Switch),这时就出现校验点。系统要把内存中灰数据(修改过)块中的信息写回磁盘的数据文件中,此外系统还将重做日志通知控制文件。DBA可以改变参数文件中CHECKPOINT_PROCESS TRUE来使能( 使有效或无效)该进程。

阅读全文…

相关日志

分类: Oracle 标签: , ,

ORACLE基本概念和术语-4

2010年5月10日 admin 没有评论

§2.4 重做日志和重做日志工作模式

重做日志、日志文件及重做日工作模式是Oracle系统中很重要的概念,管理员要完全理解它们的原理和使用方法。下面只给简单的概念,有关的管理在另外章节给出。

§2.4.1 重做日志

Oracle 所作的一切操作都记录在日志文件中,Oracle系统在工作当中并不是每作一条记录的修改就立即存盘(写入数据文件),而是只作修改记录,联机重做日志就保存所有这些改变的信息。当所有的修改最后写入数据文件时,所有的修改仍记录在联机重做日志中,这将有利于对这些事务记录进行恢复操作。但如果不是联机重做日志,则只能恢复部分近期的操作。

§2.4.2 重做日志工作模式

Oracle可以在两种模式之一来工作:

阅读全文…

相关日志

分类: Oracle 标签: , ,

ORACLE基本概念和术语-3

2010年5月9日 admin 没有评论

§2.3 Oracle数据库文件

ORACLE 数据库是一个复杂的数据库操作系统,由一系列部件组成,主要有:1)初始化参数文件、2)数据文件、3)控制文件、4)日志文件等。

§2.3.1 初始化参数文件

初始化参数文件(initialization parameter file) INITsid.ORA,是 ORALE RDBMS 主要的配置点,它是配置参数和数值的集合。每一个参数值都控制或修改数据库和实例的某个方面。 早期的版本把参数都写在 initsid.ora 文件中,但在ORACLE8 之后,多数参数已不在该文件中出现,需修改这些参数时只能在SQL>下用 SET SESSION 或 SET SYSTEM 来进行。 查看系统参数可用。例如:

SQL>select * from v$parameter;

阅读全文…

相关日志

分类: Oracle 标签: , ,

ORACLE基本概念和术语-2

2010年5月8日 admin 没有评论

§2.2 Oracle数据库结构

Oracle数据库结构是Oracle数据库系统的主要部分,它是一些可以看得见的软件,包括:

l Oracle 数据字典

l 表空间与数据文件

l Oracle实例(Instance)

§2.2.1 Oracle 数据字典

Oracle数据库的重要部分是数据字典。它存放有Oracle数据库所用的有关信息,对用户来说是一组只读的表。数据字典内容包括:

阅读全文…

相关日志

分类: Oracle 标签: , ,
Easy AdSense by Unreal