Oracle日常管理
文章平均质量分 77
czmmiao
这个作者很懒,什么都没留下…
展开
-
Oracle任务调度之基于时间的任务调度(原创)
Oracle任务调度概述在Oracle中任务调度指某一执行程序在特定的时间被周期性的执行。Oracle把任务调度称为job。而一个基本的job由两方面组成program和schedule。其中program指周期性执行的可执行程序,其中可包括PL\SQL匿名块,存储过程、函数、包以及操作系统的可执行脚本和外部程序等等。schedule指的是,调度program执行的周期。该周期既可...2011-04-14 21:32:06 · 399 阅读 · 0 评论 -
Oracle任务调度之基于事件的任务调度(原创 )
基于事件的Oracle JOB概述Oracle的任务调度不仅可以基于时间进行调度,也可以根据事件来触发。关于Oracle基于时间的调度管理可以参看http://czmmiao.iteye.com/blog/1003505在Oracle的调度管理器里,使用高级队列(Advanced Queue)来触发事件。也就是说,可以通过应用程序向某个队列发送一个事件,从而触发某个任务执行...2011-04-14 23:18:56 · 341 阅读 · 0 评论 -
利用dbms_metadata.get_ddl查看DDL语句(原创)
当我们想要查看某个表或者是表空间的DDL的时候,可以利用dbms_metadata.get_ddl这个包来查看。dbms_metadata包中的get_ddl函数详细参数GET_DDL函数返回创建对象的原数据的DDL语句,详细参数如下-- object_type ---需要返回原数据的DDL语句的对象类型-- name --- 对象名称-- schema ---...2011-04-16 11:20:29 · 1043 阅读 · 0 评论 -
Oracle DBMS_RESOURCE_MANAGER 用法例子
General Note: Resource Manager requires a massive over-demand on CPU before the expected behavior starts to show: Generally speaking a 300% or 400% CPU load...原创 2011-04-18 06:45:28 · 602 阅读 · 0 评论 -
Oracle资源管理1----资源用户组与CPU资源管理详解(原创)
为什么要使用Oracle资源管理器 当数据库服务器资源由操作系统来分配时,你可能会遇到以下问题: 1、过多的资源开销 : 当服务器进程数很多时,操作系统进程和数据库服务进程间的来回切换会导致CPU占用率或内存使用率高。 低效的调度 :操作系统调度数据库服务时占用寄存器,这样做效率很低。 资源分配的不合理 :操作系统平均分配系统资源给活动的进程(对数据库进程来说),不能判断它们的优先...2011-04-18 08:25:54 · 448 阅读 · 0 评论 -
Oracle资源管理2----并行度、活动session和会话空闲时间(原创)
通过资源管理器设置并行度并行度:指定不同的资源用户组里的用户在执行操作时,同一个资源用户组中的所有用户所能指定的最大并行度的总额,笔者理解成同一用户组所能使用的进程数,待验证配置并行度设置并行度的SQL如下dbms_resource_manager.clear_pending_area();dbms_resource_manager.cr...2011-04-18 22:55:40 · 542 阅读 · 0 评论 -
Oracle任务调度的高级选项(原创 )
在Oracle的调度任务概述 在Oracle的调度任务中不仅提供了program,job和schedul三个基本的组件,还提供了很多高级的组件。如job class:用来将任务与资源计划进行关联,对资源请求相似的JOB可放置在相同JOB CLASS中。window:表示在某段时间里启动与之关联的job class中的job或schedule,同时将启动的JOB和window中相关的资...2011-04-19 14:06:54 · 233 阅读 · 0 评论 -
利用emca创建Database Control(原创)
Database Control简介。在Oracle10g开始,Oracle提供了网页形式的管理工具,Database Control。我们可以使用dbca在建库的时候指定安装Database Control。也可以在安装完数据库以后,通过调用emca来创建Database Control。个人认为Database Control的使用一方面方便了DBA对数据库的管理,另一方面由于消耗系统资...2011-05-24 10:54:20 · 164 阅读 · 0 评论 -
Fedora下安装Oracle以及自动化脚本附完全删除方法(原创)
在Fedora14下文字界面安装oracle10gR2软件 一.查看安装环境1.内存和SWAP# grep MemTotal /proc/meminfoMemTotal: 3096372 kB# grep SwapTotal /proc/meminfoSwapTotal: 5119996 kB2.系统架构# uname -mi686...2011-02-28 14:32:28 · 156 阅读 · 0 评论 -
db_block_checking,db_block_checksum,db_lost_write_protect和db_ultra_safe深入研究(原创)
先看看Oracle文档上对db_block_checking参数的说明: DB_BLOCK_CHECKING controls whether Oracle performs block checking for data blocks. When this parameter is set to true, Oracle performs block checking for all dat...2011-06-26 16:16:06 · 276 阅读 · 0 评论 -
FlashBack总结之闪回查询与闪回表(原创)
前言 本文主要介绍利用UNDO表空间的闪回技术,主要包括:闪回表,闪回版本查询,闪回事务查询,闪回查询。这些闪回技术实现从回滚段中读取表中一定时间内操作过的数据,可用来进行数据比对,或者修正意外提交造成的错误数据。由于利用的是UNDO表空间里记录的数据被改变前的值,因此数据在UNDO空间中保留多久就尤为重要,其中与之关系最紧密的是 UNDO_RETENTION参数。关于UNDO_RE...2011-03-23 20:41:11 · 260 阅读 · 0 评论 -
FlashBack总结之闪回数据库与闪回删除(原创)
闪回数据库的特性Flashback Database 功能非常类似与RMAN的不完全恢复, 它可以把整个数据库回退到过去的某个时点的状态, 这个功能依赖于Flashback log 日志,而且比RMAN更快速、高效。 因此Flashback Database 可以看作是不完全恢复的替代技术。 但它也有某些限制:1. Flashback Database 不能解决Medi...2011-03-24 22:46:57 · 309 阅读 · 0 评论 -
悄无声息的修改Oracle用户密码(原创)
在生产环境下,笔者曾经遇到需要需要某用户密码但却不知道该用户密码的情况。由于时间紧迫,采用了以下方法进入该用户的schema,笔者在这里以hr用户为例进行演示,hr用户的密码为hr$sqlplus / as sysdba;通过DBA_USERS 查看加密的密码。SQL> select username,password from dba_users where usern...2011-10-27 09:55:44 · 78 阅读 · 0 评论 -
归档日志被删除导致Rman备份失败的解决方式(原创)
由于笔者的生产环境下使用了DSG的数据同步工具,像Veritas,DSG这样的备份软件由于归档日志的异常导致归档日志备份失败大例子屡见不鲜,这里笔者提供个思路,也希望大家如果有更好的解决方式可以和笔者交流。1. $rman2. connect target /3. crosscheck archivelog all;4. delete expired archive...2011-10-28 10:29:25 · 535 阅读 · 0 评论 -
Oracle临时表详解(原创)
前言目前所有使用Oracle作为数据库支撑平台的应用,大部分数据量比较庞大的系统,即表的数据量一般情况下都是在百万级以上的数据量。当然在Oracle中创建分区是一种不错的选择,但是当你发现你的应用有多张表关联的时候,并且这些表大部分都是比较庞大,而你关联的时候发现其中的某一张或者某几张表关联之后得到的结果集非常小并且查询得到这个结果集的速度非常快,那么这个时候我考虑在Oracle中...2011-10-28 12:34:18 · 115 阅读 · 0 评论 -
Rman备份之configure语法详解1(原创)
CONFIGURESyntaxCONFIGURE {ARCHIVELOG DELETION POLICY {CLEAR | TO {APPLIED ON STANDBY | NONE}} | AUXNAME FOR DATAFILE datafileSpec {CLEAR | TO ' file...2011-10-29 20:10:49 · 358 阅读 · 0 评论 -
Rman备份之configure语法详解2(原创)
CONFIGURESyntaxCONFIGURE {ARCHIVELOG DELETION POLICY {CLEAR | TO {APPLIED ON STANDBY | NONE}} | AUXNAME FOR DATAFILE datafileSpec {CLEAR | TO ' file...2011-10-31 14:56:07 · 296 阅读 · 0 评论 -
RAC环境下的Rman channel管理(原创)
Crosschecking on Multiple Oracle Real Application Clusters NodesWhen crosschecking on multiple nodes (and when operating RMAN in general), configure the cluster so that all backups can...2011-10-31 16:16:34 · 256 阅读 · 0 评论 -
RMan备份之SNAPSHOT CONTROLFILE(原创)
在用RMAN备份是时候,系统会自动备份一份 SNAPSHOT CONTROLFILE,我们来看看这个 SNAPSHOT CONTROLFILE 到底有什么用途,有如下文档 RMAN needs to get a consistent view of the control file when it sets out to make backup of every datafile. It onl...2011-11-01 11:13:03 · 351 阅读 · 0 评论 -
表空间增长率监控脚本(原创)
由于最近业务量大增大,导致表空间增长速度变得很快,客户也开始担忧表空间的增长率。因此也提出了每日监控表空间增长量的需求。笔者根据客户的需求,在这里写了个简单的脚本,主体思想是通过,将每日查询到的表空间增长率插入到自己建的表中,然后通过构造查询语句,反映出表空间的增长率,具体实施不走如下在数据主机上建立tbs_usage表反映数据中数据文件的使用量,其中tbs_timeid为该表主键,作为唯...2011-11-02 17:03:54 · 219 阅读 · 0 评论 -
SQLPLUS命令的使用简单样例(原创)
1. 执行一个SQL脚本文件 SQL>start file_name SQL>@file_name 我们可以将多条sql语句保存在一个文本文件中,这样当要执行这个文件中的所有的sql语句时,用上面的任一命令即可,这类似于dos中的批处理。 2. 对当前的输入进行编辑 SQL>edit 3. 重新运行上一次运行的sql语句 SQL>/ 4. 将显示的内...2011-11-04 01:34:56 · 266 阅读 · 0 评论 -
Oracle表变化趋势追踪记录(原创)
这几天数据库上的用户表空间疯涨,一天的增长量达到了20~30GB,平时就4~5GB的增长量。问了开发商,他们也说不出个所以然。PS:那些鸟开发商,现在我已经对他们绝望了,什么都不知道。情急之下直接对该表空间进行了扩容,问题总算解决了。事后总想弄个明白,想知道是那张表导致的表空间增长如此之快,以免下次出现同样的问题又是不知所措。google了一番后发现DBA_HIST_SEG_STAT可以看...2011-12-27 11:57:51 · 361 阅读 · 0 评论 -
Oracle中的Trace文件
如果一个系统的执行效率比较低,一个比较好的方法是通过跟踪用户的会话并且使用tkprof工具使用排序功能格式化输出,从而找出有问题的SQL语句。例如首先从os上利用top命令找到当前占用cpu资源最高的一个进程的PID号9999;然后在数据库中根据PID号找到相应的sid和serial#select s.sid,s.serial# from v$session s,v$process p...原创 2011-12-30 11:01:06 · 105 阅读 · 0 评论 -
ORADEBUG
一、概要首先看看helpSQL> oradebug helpHELP [command] Describe one or all commandsSETMYPID Debug current processSETOSPID <ospid&g...原创 2011-12-30 12:07:12 · 84 阅读 · 0 评论 -
orakill和ALTER SYSTEM KILL SESSION详解(原创)
一个用户进程偶尔会挂起或占用过多资源而拒绝其它会话。如果DBA依然能够访问数据库,她通常可以发出以下查询:select s.username, s.osuser, s.sid, s.serial#,p.spid from v$session s,v$process pwhere s.paddr = p.addr ands.username is n...2011-12-30 13:40:33 · 1026 阅读 · 0 评论 -
巧用dba_hist_active_sess_history跟踪某个时间段内SQL(原创)
昨日由于应用数据更改有误,开发商也不知道是那条sql导致的数据出现偏差,于是要我协助查找和该表相关的update语句,几经周折下,找到了dba_hist_active_sess_history视图,该视图数据来自于V$ACTIVE_SESSION_HISTORY。其中dba_hist_active_sess_history视图的记录了内存中活动会话的历史信息,而动态性能视图V$ACTIVE_SES...2011-12-31 11:06:32 · 1508 阅读 · 0 评论 -
alter system set events相关知识
格式:alter system|session set events ‘[eventnumber|immediate] trace name eventname [forever] [, level levelnumber] : …….’ 通过“:”符号,可以连续设置多个事件,也可以通过连续使用alter session set events来设置多个事件。 格式说明:eventnum...原创 2011-12-31 11:07:50 · 136 阅读 · 0 评论 -
SQuirreL SQL Client的安装与配置(原创)
1.在Windows下安装SQuirreL SQL Client SQuirreL SQL Client,一般是squirrel-sql-2.x.x-standard.zip,解压到任意目录后在cmd下进入解压后的目录java -jar squirrel-sql-<version>-install.jar在Linux下安装安装好jar环境后双击即可在java中要连接...2012-01-04 13:56:57 · 480 阅读 · 0 评论 -
RMAN备份及恢复归档日志的语法
一.备份所有归档日志文件RMAN> backup archivelog all delete input;二: restore archivelog 的各种选项恢复全部归档日志文件RMAN> restore archivelog all;只恢复5到8这四个归档日志文件RMAN> restore archivelog from logseq 5 un...原创 2012-01-05 21:24:55 · 440 阅读 · 0 评论 -
Oracle dblink详解(原创)
database link概述 database link是定义一个数据库到另一个数据库的路径的对象,database link允许你查询远程表及执行远程程序。在任何分布式环境里,database都是必要的。另外要注意的是database link是单向的连接。 在创建database link的时候,Oracle再数据字典中保存相关的database link的信息,在使用database...2011-11-06 22:07:44 · 658 阅读 · 0 评论 -
os_authent_prefix参数详解(原创)
os_authent_prefix概述通过操作系统用户认证的方式来直接访问Oracle数据库,简单来说,如果配置了该参数例如为'czm$',当数据库中存在用户'czm$hr',且对该用户启用了外部验证。那么在操作系统上以hr用户登录成功后,就可以直接sqlplus /以czm$hr用户登陆到Oracle数据库,无需sqlplus username/password输入访问Oracle数...2011-11-07 17:19:49 · 516 阅读 · 0 评论 -
REMOTE_OS_AUTHENT参数详解(原创)
remote_os_authent概述Oracle允许用户通过采用外部验证的方式登录数据库。默认情况下,只允许本机的用户采用外部验证登录到数据库中。当将remote_os_authent这个参数设置为true时,则允许远端用户采用外部验证的方式登录到数据库中。关于外部验证,请参见笔者的下面文章http://czmmiao.iteye.com/blog/1239822示例如下...2011-11-07 17:43:36 · 3062 阅读 · 0 评论 -
oracle的lead和lag函数
lag和lead函数,用于取出数据的前n行的数据和后n行的数据,当然要和over(order by)一起组合select id,name from daveid name4 SF3 oracle4 eygle5 rman4 exportdave表中有id和name的数据。lag函数是取出数据的前n行的数据,lead函数是取出数据的后n行的数据,直接在例子吧,简单明了...原创 2012-01-31 11:40:20 · 143 阅读 · 0 评论 -
Oracle的exp/imp详解(原创)
备份概述 逻辑备份: 备份可分为两类,物理备份和逻辑备份物理备份:该方法实现数据库的完整恢复,但需要极大的外部存储设备,例如磁带库,具体包括冷备份和热备份。冷备份和热备份(热备份要求数据库运行在归档模式下)都是物理备份,它涉及到组成数据库的文件,但不考虑逻辑内容。 逻辑备份: 使用软件技术从数据库中导出数据并写入一个输出文件,该文件的格式一般与原数据库的文件格式不同,只是 原数据库中数...2012-05-10 17:23:30 · 628 阅读 · 0 评论 -
DUL、ODU和AUL介绍(原创)
概述假设我们的数据库遇到以下情况:第一, 没有备份;第二, 常规方法无法恢复;第三, 数据很重要, 但又无法或成本太高而进行重新输入. 如丢失了Oracle的System表空间, System表空间损坏到无法启动的地步, 意外删除表空间或表, 意外截断(Truncate)表等,在这3中情况下, 最后的方法就是通过工具直接读取数据文件里的数据,将我们的数据找回来。并且工具不需要O...2012-05-24 16:35:59 · 831 阅读 · 0 评论 -
Oracle10g之传输表空间详解(原创)
可传输表空间概述Oracle 的可传输表空间特性通过将元数据和数据文件简单地从一个数据库移动到另一个数据库,提供在数据库之间有效移动大数据的一种简易方法。代替重新创建对象,可移植表空间可以让毫不费力地移动大对象,而所花费的时间是你手动创建这些对象的时间。可移植表空间包括将属于源数据库的所有数据文件拷贝到目标数据库,并将关于表空间数据目录信息从...2011-11-18 23:26:11 · 245 阅读 · 0 评论 -
深究Oracle 9i和10g之间如何进行传输表空间
关于传输表空间可以参考笔者的这篇文章http://czmmiao.iteye.com/blog/1260792当一个Little Endian的系统试图从一个Big Endian的系统中读取数据时,就需要通过转换,否则不同的字节顺序将导致数据不能被正确读取。那么另外一个问题出现了,如果字节序相同的不同平台进行文件交互,数据能否被正确读取呢?理论上的确是可以的,但是由于在不同的平台上...原创 2011-11-19 12:07:31 · 108 阅读 · 0 评论 -
dbms_metadata.get_ddl的用法
--GET_DDL: Return the metadata for a single object as DDL.-- This interface is meant for casual browsing (e.g., from SQLPlus)-- vs. the programmatic OPEN / FETCH / CLOSE interfaces above.-- PARA...原创 2011-11-19 16:44:07 · 82 阅读 · 0 评论 -
Oracle外部表ORACLE_LOADER类型的创建语法详解
This chapter describes the access parameters for the default external tables access driver, ORACLE_LOADER. You specify these access parameters when you create the external table.To use the informa...原创 2011-11-20 16:25:28 · 2440 阅读 · 0 评论 -
Oracle外部表ORACLE_DATAPUMP类型的创建语法详解
This chapter describes the ORACLE_DATAPUMP access driver. The following topics are discussed:access_parameters ClauseUnloading and Loading Data with the ORACLE_DATAPUMP Access Driver...原创 2011-11-20 16:45:56 · 762 阅读 · 0 评论