-----Oracle相关特性
文章平均质量分 70
清风智语
十年以上数据库领域一线实战经验,涵盖高可用,灾备中心设计,备份恢复,数据库开发,数据挖掘,数据库设计,性能优化等;其产品服务领域包括Oracle,MySQL,SQLserver,MongoDB等。曾先后服务于晨星资讯,dbadirect,香港易高科技等金融,证券软件行业;并提供企业级数据库性能优化,运维管理相关培训,先后提供培训服务的对象有速尔快递,同洲电子,民太安保险,康拓普,广州电信研究院,中行浙江分行等。
展开
-
Oracle健康监控及健康检查(Health Monitor)
Oralce健康监控及健康检查Oracle数据库包括一个名为Health Monitor的框架,用于运行诊断检查数据库的各种组件。Oracle健康监视器检查各种组件数据库,包括文件,内存,事务完整性,元数据和进程使用。在检查器运行后,它生成一个包含有关检查器发现的信息的报告,包括优先事项(低,高或关键),调查结果及其后果的描述,和关于执行的基本统计......原创 2017-07-03 17:55:03 · 7773 阅读 · 0 评论 -
使用Toad生成Oracle Scheduler Job DDL
最近需要在不同的数据库之前迁移Oracle scheduler job,首先想到的办法是通过datapump来直接到导出Oracle scheduler job,然后使用dump file来生成ddl文件。使用这个方法可以成功完成导出并生成sqlfile。但是在目标数据库执行时收到ORA-24150 ORA-06512 during executed sql script错误。即使是在源数据库删除原创 2013-12-09 11:29:32 · 7279 阅读 · 0 评论 -
Oracle 审计失败的用户登陆(Oracle audit)
对于在线交易系统,且Oracle用户在使用缺省的profile的情形下,多用户共享相同的数据库用户及密码,任意用户输入错误密码累计达到10次以上,其帐户会被自动锁定使得交易被迫临时终止将产生不小的损失。故有必要对那些失败的帐户登陆进行分析以预估是否存在恶意攻击等。Oracle提供了审计功能用于审计那些失败的Oracle用户登陆来进行风险评估。本文即是描述如何开启审计失败的用户登陆。本文不涉及审计的原创 2013-10-23 17:26:28 · 11841 阅读 · 0 评论 -
使用触发器记录oracle用户登陆信息
Oracle 提供了强大的审计功能,可以针对用户级,系统级范围,以及标准审计,细粒度审计等多种方式来审计各种数据库层面上的操作。然很多中小型数据库需要记录用户的登陆登出信息,而又不希望牺牲太多的性能。基于这种情形,使用基于数据库级别的触发器可以简单的实现这个需求。 1、实现代码--创建表用于存储登陆或登出的统计信息CREATE TABLE stats$user_log( user_原创 2013-10-28 11:17:30 · 8342 阅读 · 0 评论 -
基于 dbms_redefinition 在线重定义表
Oracle 支持在线重定义表,也就是说我们可以在修改表结构(DDL)的同时进行相关的DQL、DML操作,使得前端的DML根本感觉不到表结构实际上已经发生了变化,对于用户而言是完全透明的。当然在线重定义期间,前端性能会稍微有所下降。Oracle提供的重定义包dbms_redefinition即是用与完成此操作。其实质是Oracle使用了智能物化视图及物化视图日志的方式。在对象结构重组期间,表现为一原创 2013-09-17 09:55:48 · 8710 阅读 · 2 评论 -
使用nid命令修改 db name 及 dbid
工作中不可避免地碰到需要修改dbname以及dbid的情形,如将数据库恢复到同一台机器的情形是其中之一。但dbname以及dbid是用于标识数据库的重要标志之一,尤其是dbid,具有唯一性,因此对其修改应慎重处理。本文描述了修改dbname以及dbid的步骤并给出示例。 1、修改dbid及dbname的影响 a、修改dbid 等同于创建一个新的数据库,不同的是数据已经存在于数据文件。这是由原创 2013-05-03 09:24:45 · 7422 阅读 · 0 评论 -
Oracle SGA 自动管理特性(sga_target参数)
最近有网友对Oracle SGA内存自动管理特性不是很清楚,可能是由于当时翻译的 Oracle 10g SGA 的自动化管理 比较生涩,下面依旧是针对这个问题给出在Oracle 10g环境中描述,并给出示例以便更好的理解。 1、相关参数描述a、参数SHARED_POOL_SIZE SHARED_POOL_SIZE = integer [K | M | G] Default value If原创 2013-04-24 10:03:56 · 13915 阅读 · 0 评论 -
参数job_queue_processes与Oracle jobs
Oracle jobs为Oracle开发人员和数据库管理员提供了数据库层面维护的极大便利性。对于Oracle jobs在Oracle 9i之前,是由dbms_jobs来实现,而到了10g之后,多出了dbms_scheduler方式。两者同样可以添加Oracle job,只不过dbms_scheduler的功能更为强大。在使用Oracle jobs时,我们不得不关注job_queue_process原创 2013-03-20 09:34:06 · 30236 阅读 · 2 评论 -
使用swingbench实现oracle数据库压力测试
即将上线的数据库如何来评估其性能呢,swingbench是除了Benchmark Factory for Databases的不二之选,可以用短小精悍来形容,而且完全免费,也不用成天到晚google注册码,还等什么呢,赶紧来瞧瞧......一、swingbench介绍 是JAVA程序,当前分为两个版本,一个是2.3,一个是2.4,支持windons/linux/unix平台,测试了一下win7原创 2012-11-16 16:53:11 · 19138 阅读 · 0 评论 -
添加非oracle用户到dba, oinstall组
oracle用户所拥有的权限比较大,因此有些时候需要使用非oracle用户来完成相关数据库管理工作。尤其是多个人维护系统或数据库时,有必要为其添加不同的用户,然后将这些用户添加到dba组。同时这些用户也可以根据自己的喜好来设定不同的环境变量。本文描述了在linux下创建新用户以及使用新用户来连接数据库等。#查看当前的oracle用户id及其所属组oracle@SZDB:~> iduid=2原创 2012-11-28 15:50:30 · 8939 阅读 · 6 评论 -
Oracle ROWID
ROWID 是一个类似于rownum的伪列,用于定位数据库中一条记录的一个相对唯一地址值。通常情况下,该值在该行数据插入到数据库表时即被确定且唯一。而对于聚簇表,由于聚簇特性,不同表上的记录由于存储在相同的簇上,因此会拥有相同的ROWID。数据库的大多数操作都是通过ROWID来完成的,而且使用ROWID来进行单记录定位速度是最快的。下面将给出ROWID的相关描述。 一、ROWID的原创 2011-11-03 13:48:40 · 36613 阅读 · 4 评论 -
Oracle Scheduler Chain 的用法
Oracle CHAIN,也就是链,是将一串需要完成的作业连在一起,根据每一个步骤完成的不同结果来确定下面的哪一个动作需要被完成。实际上也就是if .. then ..else。比如,可能有如下的定义,step 1成功执行,执行step 2,如果step 1执行失败,执行step 3,如果step 2或step 3 执行成功,退出整个chain,如果step 2 或step 3执行失败,发送邮件并原创 2013-12-03 15:09:01 · 7120 阅读 · 0 评论 -
参数文件视图(v$paraemter,v$parameter2,v$system_parameter,v$system_parameter2,v$spparameter)
用过Oracle的朋友都知道,现在绝大部分Oracle数据库使用的是基于服务器的参数文件。对于查询当前数据库实例级别,system级别,session级别参数的具体设置有些时候很容易混淆。本文主要介绍了Oracle数据库参数使用的相关视图(V$PARAMETER,V$PARAMETER2,V$SYSTEM_PARAMETER,V$SYSTEM_PARAMETER2,V$SPPARAMETER),以原创 2013-12-17 15:48:42 · 5551 阅读 · 0 评论 -
查看及管理Oracle patch
Oracle patch也即是Oracle补丁。Oracle补丁又包含好几个种类,小的补丁简直是难以数计,难免让人眼花缭乱。尽管如此,Oracle patch还是有序可循的。而且Oracle提供的opatchg工具非常很方便的用于安装oracle patch,以及查看当前系统已经安装的patch。本文列出了patch的几种类型,以及主要描述通过opatch工具查看当前数据库的patch应用的情况。原创 2014-01-21 11:41:51 · 8384 阅读 · 0 评论 -
Oracle字符集与字符类型存储空间占用
数据库的全球化特性是数据库发展的必然结果,位于不同地区、不同国家、不用语言而使用同一数据库越来越普遍。对于不同国家或地区数据库通常会使用不同的字符集,而全球性企业也会选择使用统一编码的数据库字符集。Oracle数据库统一字符集为AL32UTF8,可以参考:Oracle 全球化特性与字符集。对于不同的字符集容易出现转换乱码,同时不同字符集也影响存储空间的占用。 如本文下面的描述。原创 2016-05-15 11:42:38 · 9411 阅读 · 0 评论 -
Oracle 全球化特性与字符集
Oracle数据库提供对全球化数据库的支持,消除不同文字、语言环境、历法货币等所带来的差异、使得更容易、更方便来使用数据库本文详细讨论了字符集的概念以及如何设定字符集。原创 2010-11-23 18:06:00 · 11599 阅读 · 0 评论 -
配置Oracle Gateway 12连接到SQL server 2014
最近的工作中需要基于Oracle连接到SQLserver2014,我们可以通过配置Gateway的方式来实现这个功能。这个Gateway的实质是透过dblink来实现的。即把SQLserver模拟成一个远端的Oracle实例,这个实例由Gateway来负责进行接收,转发等等。本文简要描述其配置过程。原创 2016-01-18 16:07:17 · 7716 阅读 · 1 评论 -
Oracle大表清理truncate .. reuse storage
最近需要清理一张大表,要求不能影响性能。在MySQL里边我们可以通过借助coreutils以及硬链接的方式来最小化I/O,Oracle也可以通过分批次回收空间来最小化I/O,到底如何,下面我们拭目以待。原创 2015-10-21 16:09:44 · 10030 阅读 · 0 评论 -
手动清理Oracle审计记录
Oracle 数据库审计功能非常强大,通常包括标准审计(包括用户级审计和系统级审计)和细粒度审计。尽管如此,一不小心就容易造成性能问题。同时会把系统表空间给撑爆。下面的内容描述的是如何将审计从系统表空间剥离以及清理Oracle审计记录,供大家参考。原创 2015-10-21 10:24:00 · 12308 阅读 · 1 评论 -
禁用与卸载Oracle AWR特性
AWR需要禁用?这么好的东东。缺省的情况下,AWR是可以使用的,需要耗用一定的sysaux表空间。但涉及到有关AWR相关的调试包(需要license)会访问AWR视图或者awr异常又不想更新patch,甚至没有patch可用的情况下,我们可以禁用AWR以及卸载AWR,本文演示了如果禁用AWR功能以及卸载awr相关的数据字典。1、禁用AWR的目的If most of the space in the原创 2014-09-12 11:30:55 · 4688 阅读 · 0 评论 -
Oracle 分区索引
分区索引(或索引分区)主要是针对分区表而言的。随着数据量的不断增长,普通的堆表需要转换到分区表,其索引呢,则对应的转换到分区索引。分区索引的好处是显而易见的。就是简单地把一个索引分成多个片断,在获取所需数据时,只需要访问更小的索引片断(块)即可实现。同时把分区放在不同的表空间可以提高分区的可用性和可靠性。本文主要描述了分区索引的相关特性并给出演示示例。1、分区索引的相关概念a、分区索引的几种方式:原创 2014-07-08 12:12:06 · 6617 阅读 · 1 评论 -
使用DBMS_REDEFINITION在线切换普通表到分区表
随着数据库数据量的不断增长,有些表需要由普通的堆表转换为分区表的模式。有几种不同的方法来对此进行操作,诸如导出表数据,然后创建分区表再导入数据到分区表;使用EXCHANGE PARTITION方式来转换为分区表以及使用DBMS_REDEFINITION来在线重定义分区表。本文描述的是使用DBMS_REDEFINITION来实现,下面是具体的操作示例。有关具体的dbms_redefinition在线原创 2014-06-11 11:50:41 · 4902 阅读 · 1 评论 -
使用导出导入(datapump)方式将普通表切换为分区表
随着数据库数据量的不断增长,有些表需要由普通的堆表转换为分区表的模式。有几种不同的方法来对此进行操作,诸如导出表数据,然后创建分区表再导入数据到分区表;使用EXCHANGE PARTITION方式来转换为分区表以及使用DBMS_REDEFINITION来在线重定义分区表。本文描述的是使用导出导入方式来实现,下面是具体的操作示例。 有关具体的dbms_redefinition在线重定义表的原创 2014-06-25 15:40:32 · 4364 阅读 · 0 评论 -
使用exchange方式切换普通表到分区表
随着数据库数据量的不断增长,有些表需要由普通的堆表转换为分区表的模式。有几种不同的方法来对此进行操作,诸如导出表数据,然后创建分区表再导入数据到分区表;使用EXCHANGE PARTITION方式来转换为分区表以及使用DBMS_REDEFINITION来在线重定义分区表。本文描述的是使用EXCHANGE PARTITION方式来实现,下面是具体的操作示例。有关具体的dbms_redefinitio原创 2014-06-24 17:55:35 · 6001 阅读 · 0 评论 -
使用dbms_backup_restore包修改dbname及dbid
修改dbname以及dbid通常在使用RMAN还原到异机之后需要更改dbname以及dbid的情形。对于这个修改我们可以借助于命令行下的nid工具来完成。同时也可以直接调用API来实现。本文即是通过dbms_backup_restore方式来修改dbname及dbid,供大家参考。 有关使用nid方式修改dbname及dbid,请参考:使用nid命令修改 db name 及 dbid 1原创 2014-03-29 20:53:18 · 4472 阅读 · 0 评论 -
Oracle 常用性能视图一览表(10g)
Oracle 提供了大量的性能视图用于考查数据库运行的健壮与稳定性。本文列出了Oracle 10g版本常用性能视图,是一个性能视图一览表,建议收藏……原创 2011-07-28 21:38:03 · 6451 阅读 · 0 评论 -
簇表及簇表管理(Index clustered tables)
簇表是Oracle中一种可选、的存储表数据的方法。使用簇表可以减少磁盘I/O,改善访问簇表的联结所带来的资源开销,本文讲述了簇表的原理、创建以及管理簇表等。原创 2010-10-07 17:04:00 · 8829 阅读 · 1 评论 -
ORACLE_SID、DB_NAME、INSTANCE_NAME、DB_DOMIAN、GLOBAL_NAME
ORACLE_SID、DB_NAME、INSTANCE_NAME、DB_DOMIAN、GLOBAL_NAMES是Oracle中几个重要的参数,而且也比较容易混淆。原创 2010-09-30 20:00:00 · 8700 阅读 · 1 评论 -
Oracle 角色、配置文件
本文详细介绍了Oracle创建角色、配置文件等。一、角色 1.角色 权限的集合,可以分配给一个用户或其他角色,但角色不能授予自己,也不能循环授予 角色的优点 可以先创建角色,向该角色赋予一系列权限,然后再将该角色授予多个用户或角色 增加或删除角色中的某一权限,被授予该角色的所有用户或角色自动地获得新增权限或删除旧的权限 可以为角色设置密码 2.创建修改角色 CREATE ROLE role_name [NOT IDENTI原创 2010-06-23 12:38:00 · 12945 阅读 · 0 评论 -
Oracle 用户、对象权限、系统权限
本文详细介绍了Oracle用户的创建,对象权限,系统权限的授予,回收等。一、用户与模式 用户:对数据库的访问,需要以适当用户身份通过验证,并具有相关权限来完成一系列动作 SYS用户,缺省始终创建,且未被锁定,拥有数据字典及其关联的所有对象 SYSTEM用户,缺省始终创建,且未被锁定,可以访问数据库内的所有对象 模式(schema):是某个用户拥有所有对象的集合。具有创建对象权限并创建了对象的用户称为拥有某个模式 注意:创建数据库对原创 2010-06-23 11:48:00 · 54938 阅读 · 2 评论 -
Oracle 常用目录结构(10g)
--==============================-- Oracle 常用目录结构(10g)--============================== 大多数情况下,了解Oracle常用目录结构,将大大提高数据库管理与维护的工作效率,本文介绍了Oracle 10g 的常用目录。 关于Linux下Oralce 的安装,请参照:原创 2010-05-29 15:49:00 · 14050 阅读 · 2 评论 -
Oracle 常见故障及日常规划
对任何数据库系统而言,对显而易见的故障,应当避免发生本文列出了Oracle常见的故障并给出了解决方案,同时列出了一些日常规划。原创 2010-07-15 21:21:00 · 8763 阅读 · 0 评论 -
Oracle 数据字典和数据字典视图
本文介绍了Oracle数据字典和数据字典视图。原创 2010-07-03 22:43:00 · 11511 阅读 · 0 评论 -
使用OEM,SQL*Plus,iSQL*Plus 管理Oracle实例
--==========================================--使用OEM,SQL*Plus,iSQL*Plus 管理Oracle实例--==========================================/*一、管理组件 Oracle 10g数据库管理包含三个组件,本文主要介绍Database Control,SQL*Plus原创 2010-04-26 11:55:00 · 9489 阅读 · 2 评论 -
Oracle 10g SGA 的自动化管理
--==============================--Oracle 10g SGA 的自动化管理--==============================/* 在SGA中每一个单独的组件究竟需要多少内存呢?在Oracle 10g 中可以自动化管理大多数SGA参数。 一、什么是SGA 简言之,系统全局区(SGA)仅仅是在Oracle实例启动翻译 2010-04-27 16:02:00 · 16456 阅读 · 5 评论 -
Oralce 10g 使用DBCA创建数据库
--===================================--使用DBCA创建数据库--=================================== Oracle提供了DBCA来创建数据库,对于初学者来说使用DBCA创建数据库简化了很多工作和设置,直接在交互界面即可实现所有的功能。然而对于实际的生产数据库来说,使用DBCA来创建不切实际,建议按实际需求规划原创 2010-04-12 20:31:00 · 19740 阅读 · 1 评论 -
Oralce OMF 功能详解
OMF,全称是Oracle_Managed Files,即Oracle文件管理,使用OMF可以简化管理员的管理工作,不用指定文件的名字、大小、路径,其名字,大小,路径由oracle 自动分配。在删除不再使用的日志、数据、控制文件时,OMF也可以自动删除其对应的OS文件。 OMF支持下列文件的自动管理: 表空间 日志文件(联机) 控制文件前提条件原创 2010-04-12 20:14:00 · 10434 阅读 · 4 评论 -
启用用户进程跟踪
本文描述如何启用用户进程跟踪。原创 2010-10-07 17:42:00 · 5941 阅读 · 1 评论 -
Oracle 分区表
随着表的不断增大,对于新纪录的增加、查找、删除等(DML)的维护也更加困难。对于数据库中的超大型表,可通过把它的数据分成若干个小表,从而简化数据库的管理活动。对于每一个简化后的小表,我们称为一个单个的分区。原创 2010-10-07 17:51:00 · 28542 阅读 · 4 评论 -
Oracle 外部表
外部表,是指不存在于数据库中的表。通过向Oracle提供描述外部表的元数据,我们可以把一个操作系统文件当成一个只读的数据库表,就像这些数据存储在一个普通数据库表中一样来进行访问……原创 2010-12-15 20:07:00 · 14619 阅读 · 1 评论