由于db_file_name_convert 参数配置不当导致转换过去的文件路径在备库中无法建立
最近在对Oracle 数据库使用冷备tar迁移时,遇到需要将当前数据库文件下下的datapump导出的文件过滤掉,要不然然会产生很大的tar文件以及耗用网络传输时间。其实tar命令为我们提供了过滤功能,只不过由于过滤功能通常使用的比较少,所以很多人不知道。本文描述了tar命令下如何过滤不需要的文件或文件夹。
chown -R oracle:oinstall /soft/database/oracle/ chown -R 755 /soft/database/oracle/
源环境:RHEL6.4 + Oracle 11.2.0.4 目的环境:Windows 2003 需求:研发测试环境的Oracle数据库从Linux迁移到Windows,可以停机。
Oracle 11g RMAN能够实现基于活动数据库进行异机克隆,从而省去需要先备份再ftp到辅助服务器的过程。这一切可以全部交给Oracle来搞定。在克隆期间,Oracle会读取Target DB的所有数据结构,无须人为的干预(不同的磁盘系统,文件路径与文件名要指定转换方式)。尽管如此,对于生产环境数据库在整个克隆期间性能会下降,其次在Target Server与Auxiliary Server中会产生较大的网络流量。如果这些可以接受的话,从活动数据库进行异机克隆是一个不错的选择。本文首先描述了克隆时不同的连接与克隆方式样本,最后演示了基于活动数据库的克隆。
昨天晚上,某个环境的数据库在做一个压力测试的时候突然宕机了。这个问题比较急。马上查看日志文件。 看到了如下的一段,报了os级的linux错误。提示没有空间了。 Fri Mar 14 19:16:47 2014 Archived Log entry 192 added for thread 1 sequence 192 ID 0x1ed7a02c dest 1: Fri Mar 14 19:39:24 2014 Incremental checkpoint up to RBA [0xc0.2aa5fb.0
随着系统的日益复杂, aliyun空间捉襟见肘,常常报系统磁盘空间超过80%, 甚是苦恼.
对于基于生产环境下的数据库的版本升级或者测试新的应用程序的性能及其影响,备份恢复等等,我们可以采取从生产环境以克隆的方式将其克隆到本地而不影响生产数据库的正常使用。实现这个功能我们可以借助rman duplicate方式以及其简单的方式来完成。duplicate方式不同于OS级别的备份,它会为辅助数据库(克隆出来的数据库)生成一个新的dbid,而能够同时将目标数据库(原数据库)与辅助数据库注册到同一个恢复目录。本文描述了使用rman duplicate实现异机数据库克隆。
有时候我们在做维护的时候,总会遇到类似于IO特别高,但不能判定是IO瓶颈还是软件参数设置不当导致热盘的问题.这时候通常希望能知道磁盘的读写速度,来进行下一步的决策.
Oracle数据库克隆,也叫着Oracle数据库复制,可以通过基于用户管理的方式来完成,也可以基于RMAN方式来实现。而且Oracle建议使用RMAN方式来实现,因为它简单易用,隐藏其复杂的逻辑,仅仅是执行一条duplicate命令就可以喝茶了。当然,前期的准备工作也是不可少滴,如创建相应的dump目录,准备参数文件,配置监听等等。本文描述了Oracle 11g下如何使用RMAN实现同机克隆数据库。
Linux 主机之间即时传送文件,scp命令大家都很熟悉 但当要传送的文件较大,过程中如果网络中断了,就比较悲剧了。这时候可以考虑使用rsync命令替代scp,实现断点续传文件。
2.确保数据库处于mount,非open状态,并且在加载前先以immediate方式关闭。如:
Dell MD 3200系列存储,VMware ESXi 5.5版本,因意外断电,导致某台虚拟机不能正常启动,查看虚拟机的配置文件时发现此虚拟机的配置文件除了磁盘文件以外其他配置文件全部丢失。此时xxx-flat.vmdk磁盘文件和xxx-000001-delta.vmdk快照文件还存在。 找VMware工程师诊断后,尝试新建一个虚拟机来解决故障,但发现ESXi存储空间不足。因此就将故障虚拟机下的xxx-flat.vmdk磁盘文件删除,这时ESXi存储就有200多G的剩余空间了,而后VMware工程师就重新建了一个40G的虚拟机,并且分配了固定大小的虚拟磁盘,Windows Server 2008(虚拟机操作系统),数据库应用环境SQL Server 2008数据库服务器,虚拟机磁盘容量200G数据盘(精简模式)+ 160G快照数据盘。 解决方法: 1、备份数据 在VMware vSphere Client上将挂载的RD220i存储中VMFS卷以正常方式卸载掉。然后将RD220i存储上的VMFS卷通过网线的方式连接到备份服务器上,接着使用专业的工具将整个VMFS卷以扇区的方式镜像到已准备的备份空间上,以确保客户的数据安全,之后的分析和恢复操作均在备份的数据上进行。 2、分析故障原因 仔细分析VMFS卷的底层数据发现,ESXi主机的突然断电导致故障虚拟机目录下的目录项出现破坏,但是这种破坏不会影响虚拟机的重要数据,只是破坏了文件的目录项而已,可以通过人工修复即可解决。而人为删除某个文件的话,则目录项对应的数据区索引会被清掉,也不会影响删除文件的实际数据。这种情况可根据删除虚拟磁盘文件中的文件系统以及虚拟磁盘中的文件类型在VMFS卷自由空间中进行碎片匹配和合并,最终也可恢复删除的虚拟磁盘文件。但是在上述的两种情况之下又新建了一台虚拟机,并且分配了虚拟磁盘。经过仔细分析发现分配的40G虚拟磁盘已经全部清零了(在创建虚拟磁盘的时候会选择创建磁盘的类型),也是这个新建的虚拟机所占用的磁盘空间全部被清零。 如果新虚拟磁盘占用了删除虚拟机磁盘所释放的空间,那么此部分空间将无法恢复的。
今天创建了一些表空间,准备做data guard来看看效果。 为了方便起见,我用gridcontrol来做,主库也开了Omf,省去了好多步骤。 一路点下来,就等gc的那个状态变成对号了,结果装了近20分钟,alert日志开始报错。 ******************** WARNING *************************** The errors during Server autobackup are not fatal, as it is attempted after sucess
约束和限制: 1。数据库必须安装(或打开)。 更改系统转储日志文件与任何实例无关,因此不需要为其操作安装数据库。 但是,在ALTER SYSTEM DUMP REDO的情况下,系统需要知道实例是什么,以及其他日志文件在哪里。 此查找需要控制文件,因此必须安装或打开数据库。
SYSTEM表空间是Oracle数据库最重要的一个表空间,存放了一些DDL语言产生的信息以及PL/SQL包、视图、函数、过程等,称之为数据字典,
近几日,公司一业务需求要将一些 dump 文件导入到测试库,但是却有一个头痛的事,发现数据库所在的根目录已经 100%,这样肯定是没办法导入 dump 数据文件的,而且数据库已面临巨大的宕机风险了,故申请了临时停机窗口,打算将原有的数据文件移动到其他新挂载的盘符中。
环境:OEL 5.7 + Oracle 10.2.0.5 背景:在Oracle的运维过程中,时常会遇到一些场景是需要重建控制文件才可以解决的。本文的场景可以通过复制控制文件到新路径,运行一段时间后,再用老的控制文件启动数据库重现。
rm删除所有控制文件,尝试添加数据文件,强制关闭数据库,尝试开启到mount状态。
Dell MD 3200系列存储(用于存放虚拟机文件),VMware ESXi 5.5版本,因意外断电,导致某台虚拟机不能正常启动,查看虚拟机的配置文件时发现此虚拟机的配置文件除了磁盘文件以外其他配置文件全部丢失。此时xxx-flat.vmdk磁盘文件和xxx-000001-delta.vmdk快照文件还存在。找VMware工程师诊断后,尝试新建一个虚拟机来解决故障,但发现ESXi存储空间不足。因此就将故障虚拟机下的xxx-flat.vmdk磁盘文件删除。
在 Oracle 归档模式下直接 rm data.dbf 数据文件并重启数据库还有救吗?为何会有这样的问题,要追溯到上周一位朋友咨询的事情,他那里一个 Oracle 单机的环境因为表空间不足了,需要扩容表空间,则通过添加表空间数据文件的命令加入了一个数据文件,执行成功后呢便可以继续写入数据了。
有时候因为环境的缘故不能使用图形界面或者不能使用DBCA的静默方式来创建一个新库,那么这个时候可以考虑使用“CREATE DATABASE”这种SQL命令行来创建数据库,该方式称为手动建库方式。使用手动建库的优点是:可以用脚本来创建数据库。另外,在OCM的考试中也要求DBA进行手动建库。
SQL> alter tablespace yhqt read only; SQL> alter tablespace yhqt read write;
有一个环境是10gR2,一主两备,因为10g的备库还不是active,所以有一些查询的需求的时候,我们还是会打开相应的窗口时间。 开发的同学需要做一个大查询,数据只能全表,而且还有order by,势必会消耗大量的temp空间,这个时候充分利用备库就是好一些,有一个备库平时也没有用过,今天就用这个备库来完成查询需求。 但是过了一会,开发同事说,查询失败了。让我看看什么原因。 开发同学提供的日志为: 2015-11-20 10:48:05,---exception: ---- StatementCallbac
ASM新建立的每个文件都有一个系统生成的名称,这个名称称之为完全限定文件名(fully qualified filename)
SQL> create tablespace test_data 2 logging 3 datafile '/opt/oracle/oradata/bisal/test_data_01.dbf' 4 size 10M 5 autoextend on 6 next 10m maxsize 2000m 7 extent management local; Tablespace created.
手动创建数据库是DBA们经常遇到的情形,因为有些情况下无法提供GUI环境。实际上手动建库,只要设置好了相关的参数或值,也是非常方便的。本文基于Oracle 11g首先描述了手动建库的大致步骤并给出示例演示。最后提供了一个shell脚本直接执行来实现手动建库。在执行前该脚本可根据你的路径进行适当的修改。
对于物理损坏的数据块,我们可以通过RMAN块介质恢复(BLOCK MEDIA RECOVERY)功能来完成受损块的恢复,而不需要恢复整个数据库或所有文件来修复这些少量受损的数据块。恢复整个数据库或数据文件那不是大炮用来打蚊子,有点不值得!但前提条件是你得有一个可用的RMAN备份存在,因此,无论何时备份就是一切。本文演示了产生坏块即使用RMAN实现坏块恢复的全过程。
对于从Oracle 10g下迁移数据库到Oracle 11g,除了使用RMAN方式之外,我们可以使用带dblink的datapump方式来实现基于逻辑上的迁移。其步骤也相对简单,而且不会产生中间过程生成的dump文件。本文即针对如何使用该方法给出了示例,供大家参考。
在使用RMAN克隆数据库时,如果辅助数据库(新数据库)使用了与目标数据库(原数据库)使用了不同的路径,那么就存在位置转换的问题。在Oracle中,控制文件用于定位数据文件以及联机重做日志文件,如果没有正确的转换,控制文件压根就找不到相应的数据文件,日志文件。对此Oralce为我们提供了三种文件位置的转换方法。本文即是对这三种转换方法的描述。
如果数据库只有很少的数据块被破坏,那么块介质恢复(Block Media Recovery,BMR)是较好的块恢复方法。BMR只能用于恢复物理损坏(Physical Corruptions),在数据文件联机时即可恢复相关坏块。BMR主要使用BLOCKRECOVER命令进行恢复坏块,该命令有以下三种使用方式:
Oracle 同机数据库复制或克隆经常用于提供测试或开发环境。对于生成的克隆数据库有多种方式,如使用冷备方式进行数据库克隆(需要使用nid修改db_name),热备方式克隆数据库,rman方式克隆数据库等等。由于是同机克隆,因此目标数据库与原数据库必须位于不同的目录,其次,使用不用的数据库名称(db_name)。本文主要列出使用基于用户管理的热备方式来进行数据库克隆的步骤并给出演示。
参考MOS的文档Doc ID 361468.1进行配置后,再次查询内存里的Hugepage如下:
上一篇安装文档中说过 Oracle 也有一份安装手册,虽是英文版但很是详细,很有参考意义,如下是官方地址可查看详细内容:https://docs.oracle.com/en/database/oracle/oracle-database/12.2/ladbi/downloading-and-installing-patch-updates.html#GUID-A2FD0257-D074-444D-8007-A21EBEC10358
http://www.eygle.com/ha/dataguard-step-by-step.htm
SYSAUX表空间是在10g之后引入的一个新的表空间,主要用于减轻对SYSTEM表空间的压力而作为SYSTEM表空间的辅助表空间。
之前异机恢复的需求已经演练成功,现在需要保持之前恢复的库orcl不动,全新恢复一个用于临时测试指定时间点的小库,实例名称规划为testdb。 注意:风险点在于一定要注意所有步骤操作仔细,不能影响到现有环境orcl。 知识点:
听说过Oracle 控制文件,还有快照控制文件这个说法呢?没错,尽管快照控制文件很少被提及,但确实是存在,只不过在使用RMAN时这个快照控制文件被使用。回顾一下 Oracle 控制文件,我们知道控制文件是Oracle体系结构中的重要组成部分之一,记录了当前数据库的结构信息,同时也包含数据文件及日志文件的信息以及相关的状态,归档信息,也记录了系统当前SCN的值等等。那快照控制文件也就是控制文件的一个副本,本文介绍了什么是快照控制文件以及何时被使用。
迁移数据库的方法有多种,较为常用的则是使用RMAN来迁移。使用RMAN迁移数据库属于数据库的物理备份与恢复范畴,整个过程中数据库的相关信息是完整地镜像。因此,基于此种方式还原恢复的数据库用于测试会使得与真实的生产环境差异相对较小。本文描述了使用RMAN来还原Oracle 10g数据库的过程。
墨墨导读:本文来自读者投稿,详述一则给客户备份优化的实际案例,通过这次优化,数据库性能提高了6倍。
Linux系统庞大而复杂,经过总结,做为一名DBA,一些基本管理、网络管理、进阶应用、性能诊断、管道复杂应用、硬件相关传感命令都需要掌握,这篇文章,专门来讲做为一名DBA,必须学会的11个基本应用命令。
移动数据文件/home/oracle/cjctbs02.dbf到/u01/app/oracle11/oradata/chendb/cjctbs02.dbf
#命令如下: 写:time dd if=/dev/zero of=test.dbf bs=8k count=100000 读:dd if=test.dbf bs=8k count=100000 of=/dev/null #表示 每次写入/读取8k的数据,执行100000次。
链接:http://www.eygle.com/archives/2010/11/recover_archivelog_corruption.html
OMF,全称是Oracle_Managed Files,即Oracle文件管理,使用OMF可以简化管理员的管理工作,不用指定文件的名字、大小、路径,其名字,大小,
在数据的备份恢复中,基本都在使用rman来做了,但是从数据库的内部原理来说,对于介质恢复,其实还是做两件事,restore和recover. restore是一个类似物理文件的复制,而recover则在数据库后台根据scn做相关的数据恢复。 在归档模式下,一般有下面四种场景可以做完全恢复,当然前提还是在有备份的情况下。 我们可以不依赖rman来手工完成备份恢复的这些过程。因为手工的过程其实也不复杂。 手工备份恢复,那么备份就是热备了。如果连归档没开,就会报出下面的错误。 SQL> alter tables
问题描述 用docker-compose up -d启动一个docker-compose.yml文件。出现如题错误。
1)备份GBOS用户表索引:通过plsqlDevelop工具将GBOS用户表索引全部导出,以做备份。
2.1 表空间: 一般在开发情况下,我们当然不会使用用户的默认表空间,所以这时我们需要创建一个表空间.
领取专属 10元无门槛券
手把手带您无忧上云