使用RMAN恢复目录(catalog)解析
首先理解什么是catalog 恢复目录,实际上就是把数据库的一部分分出来作为catalog,来长时间存备份信息,在实际生产中,有时候会遇到要恢复数据库到一年或是更长时间之前的状态,我们知道控制文件存在很多重要的数据库结构信息,但是你的控制文件早已经被覆盖,你就不能完成任务,而catalog就不一样了,它可以保存很长时间,...
oracle 10.2.0.4 rac asm磁盘组加载时遭遇 ORA-00600 kfgFinalize_2 错误
环境: oracle 10.2.0.4 rac+asm操作系统:linux 32bit其中一个节点加载磁盘组时报以下错误:SQL> alter diskgroup datadg mount;alter diskgroup datadg mount*ERROR at line 1:ORA-00600: internal error code, arguments: [kfgFinalize_2], [], [], [], [], [],[], []而另外个节点是正常。通过查metalink,...
ORAchk-数据库健康检查
ORAchk 之前被称为RACcheck,后来它的检查范围进行了扩展,改名为了ORAchk,它是在数据库系统进行健康检查的一个专用工具,这个工具主要用来检查软件的配置是否符合要求以及一些最佳实践是否被应用了。通过这个工具,用户可以很方便地、自动化地对自己的系统进行健康检查和评估。 ORAchk 能够检查的软件主要有:OS...
通过shell和sql结合查找性能sql
在生产系统中,会发现一些潜在的sql问题,为了能够及时和准确的定位,我们可以借助sql_monitor来做性能sql的查找。可以在后台启用一个job不定时的去查找。毕竟大半夜的我们去监控也是有难度的,我们希望一切都能很自然的处理,结果我在一个指定的目录下每隔10分钟去查找一次性能sql,如果当天已经有生成报告就不重新生成...
从操作系统命令TOP到数据库的优化
对于一个刚开始学习数据库优化的新手DBA来说,当用户反馈系统比较慢时,他会非常紧张,面对数据库,他无从下手,不知道从哪里开始着手来优化数据库,查找系统存在的问题。 今天我们通过操作系统命令TOP,来优化数据,我们如何把操作系统与数据库关联起来哪,我们主要是通...
【DataGuard】Oracle 11g DataGuard 角色转换(一)物理备库Switchover
Data Guard环境下,数据库分为主库(primary) 和备库(standby) 两种角色。可以使用SQL语句进行数据库角色的动态转换。Oracle Data Guard支持Switchover和Failover两种角色转换,?其中switchover角色转换,允许主库与它的一个备库进行角色转换,在switchover转换过程中可以没有数据丢失。Data Guard环境下,在系统、硬件升级或滚动升级oracle数据库软件及补丁包过程中,Switchover 角色转换可以缩短主库的宕机时间。
Oracle 利用RMAN 完成数据迁移
整体流程:对A机的数据库来一个热备,并且是一个全备,然后通过scp命令把备份传到B机,然后把A库停掉(注意关库不会触发归档),之后再把归档日志和redo日志传给B机,最后再在B库上 restore 和recover数据文件,控制文件,参数文件 的恢复过程:根据数据库的启动流程,可以知道最先读取数据文件,所以应该先还...
通过oracle的脚本研究其建库过程
要想深入地了解oracle,研究其创建过程的脚本十分有用的。下面我们一起来研究一下oracle数据库在创建过程中用到的脚本。 oracle11g建库脚本是存放在目录/u01/app/oracle/admin/scripts下的(不同版本脚本有所不同)。有这么几个脚本:[oracle@localhost scripts]$ lscloneDBCreation.sql lockAccount.sql...
《学习Oracle从这里开始》之常用SQL篇
闲来无事,整理下日常常用的一些SQL语句,以供参考:从共享池清理指定SQL语句:begin dbms_shared_pool.purge('00000000B6C61FC0,4094900530', 'c'); end; --Par: Address, Hash value查锁:select * from gv$lock where request > 0 ;select a.inst_id, a.sid, b.ctime,b.id1, a.sql_id, 'alter system kill session ''' || a.sid || ',' || serial# || ''';' kill, a.*, b.* from gv$session a, gv$lock b where a.inst_id = b.inst_id and a.sid = b.sid and b.id1 in (select id1 from gv$lo
数据迁移工具简单分析
exp/imp 对于数据结构的复制和同步,还是比较理想的工具。 在数据量比较小的情况下,这个工具的性能要远远好于datapump,而且重点推荐,他对于各种常用数据类型的支持还是很不错的。 有一些特性,在某种程度上要好于datapump,在做数据迁移的时候,commit特性还是很重要的。因为通过datapump碰到了很多undo空间不足带来...
【expdp/impdp】 ORA-06502、ORA-39077 修复补丁安装与回退操作
打patch修复 impdp/expdp 操作中 ORA-31626、ORA-31638、ORA-06512、ORA-39077、ORA-06502 错误引起的Bug。
【expdp/impdp】 ORA-06502、ORA-39077 错误分析与解决方案
impdp/expdp 操作中 ORA-31626、ORA-31638、ORA-06512、ORA-39077、ORA-06502 错误模拟分析与解决方案
shell脚本心得
零零星星的接触到写一些shell也有一些日子了,发现自己已经犯了不少的错误,自我总结下。 选择合适的shell shell本身有很多种,大体有如下的几种。 /bin/sh (已经被 /bin/bash 所取代) /bin/bash (就是 Linux 预设的 shell) /bin/ksh (Kornshell 由 AT&T Bell lab. 发展出來的,相融于 bash) /bin/tcsh (整合 C ...
Oracle用户的创建和删除
1. 创建用户:SQL> create user user01 identified by user01;User created.但登录提示01045的错误,缺少CREATE SESSION权限。ERROR:ORA-01045: user USER01 lacks CREATE SESSION privilege; logon deniedEnter user-name:此时需要赋予connect权限给用户(原因见(2)),登陆后创建表提示01...
如何解决安装CentOS时遇到引导分区位于一个GPT分区方案的错误提示且分区后无法应用
解决安装CentOS时遇到引导分区位于一个GPT分区方案的错误提示且分区后无法应用的问题
How to mount usb device in CentOS?
简单介绍CentOS系统下挂载U盘的方法
MySQL:使用INSERT 插入多条记录
MySQL:使用INSERT 插入多条记录的方法小结
将execl文件数据导入到数据库中(代替外部表的办法)
大家好!今天想出了一个可以代替外部表的小办法,虽然很简单,但是确实挺实用的,这个仅限于表中数据量小一些的时候使用。 今天被外部表折腾了半天,没有结果,开发 还一直再催要数据,汗。 不发牢骚了,开始说明: ...
Oracle学习笔记整理之游标篇
游标分为隐式、显式、REF三种游标。而隐式游标和显式游标又都属于静态游标,REF游标属于动态游标。静态游标和动态游标的最大区别在于静态游标是在运行前将游标变量和SQL关联,而动态游标恰恰相反是在运行后将游标变量和SQL进行关联。隐式游标是由Oracle自动管理,也称sql游标。所有的DML都被Oracle解析成为一个名为SQL的隐式游标。DML包括Insert、Delete、Update、Merge into。而Select属于DQL
《学习Oracle从这里开始》之解决错误篇
想把自己以往工作中遇到的问题和解决办法写下来,留作纪念:问题一:ORA-00031 问题描述:在执行以下语句时,报的错误,标记要删去的会话,但会话kill不掉: alter system kill session 'sid,serial#'; 解决办法: 1、执行查询,将所有状态为KILLED的锁: select a.spid,b.sid,b.serial#,b.username from v$process a,v$session b where a.addr=b.paddr and b.status='KILLED'; 2、在服务器端执行orakill: cmd==>orakill sid spid