你一定要确保你导出的dmp
创新互联致力于成都网站建设、做网站,成都网站设计,集团网站建设等服务标准化,推过标准化降低中小企业的建站的成本,并持续提升建站的定制化服务水平进行质量交付,让企业网站从市场竞争中脱颖而出。 选择创新互联,就选择了安全、稳定、美观的网站建设服务!
是oracle
11G
的客户端或服务器exp
出来
若是
linux
在登陆到linux服务器后
输入
imp
sys/install@orcl
as
sysdba
file
=
imp_test.dmp
rows
=
yes
touser
=
scott
IGNORE=yes
COMPILE=yes
log
=
imp_rest.log
windows
cmd
输入
imp
sys/install@orcl
as
sysdba
file
=
imp_test.dmp
rows
=
yes
touser
=
scott
IGNORE=yes
COMPILE=yes
log
=
imp_rest.log
本文将重点向您介绍如何利用飞康CDP恢复Oracle 11g 服务器及其数据库。同时,将帮助您进一步了解如何利用连续、实时的日志和定时的快照将数据简单、快速、精细的恢复到任意时间点。
当用户的Oracle 11g的磁盘或分区已经受到飞康CDP的保护,飞康CDP的DiskSafe将为用户提供多种数据恢复途径。用户可以将数据恢复到原始磁盘或是其它磁盘,创建系统和数据的副本也变得非常简单。然而,最好的恢复方法就是根据你的恢复对象进行恢复。下面将介绍几种典型的数据恢复场景和Oracle特定恢复的场景。
场景1: 恢复磁盘上的一个或多个文件
如果你不小心删除了磁盘上的一个文件,或者你需要从一些已经修改过的文件中找回一些旧的信息,最简单的恢复方法是加载一个包含了丢失的文件或是原始文件的快照视图。在文件被删除或是被修改之前的时间段产生的任何快照视图都可以被选择加载。加载了快照视图以后,只要将你需要的文件拷贝到你需要的位置就行了。
加载一个快照就是创建了一个单独的虚拟磁盘。加载的快照是镜像的精确视图,当快照创建的时候它就已经存在了。由于加载的快照由快照区里的当前镜像和变化数据组成,因此不再需要额外的磁盘空间。
下面的屏幕截图显示,在/01上加载的Oracle 磁盘sdb。
1. 列出当前的sdb快照并选择一个需要加载的快照做为TimeView。
2. 用CDP调取TimeView (下图):
#
3. 在当前磁盘中找出TimeView 并将其加载到服务器上:
4. 浏览TimeView并从中找到你丢失的数据,将其拷贝到需要的位置,然后卸载这个TimeView:
场景2: 恢复非系统盘或分区
这种情况的恢复与上一种场景的恢复非常相似:加载相应的TimeView,将整个磁盘或分区恢复到原始盘或是其它磁盘。
注意:如果将本地磁盘或分区恢复到一个新的磁盘,而这个磁盘的容量大于主磁盘,你必须手动的对新磁盘执行解除保护-再添加保护的动作,从而使新磁盘可以遵循已经设定的保护策略。
场景3: 恢复系统磁盘或分区
如果需要恢复的是常用于启动的系统磁盘或分区,可以利用DiskSafe恢复盘来完成。对于硬盘或是操作系统出现故障,或者磁盘、操作系统已经进行了修理或替换的情况,这种恢复方式非常有用。
一旦服务器从DiskSafe恢复盘进行启动,你可以访问CDP管理器,并通过CDP管理器上的镜像或选定的快照恢复整个磁盘或分区。数据可以被恢复到原始盘或是其它的磁盘。
场景4: 恢复Oracle数据库对象
如果数据库对象(表)发生损毁或删除,最简单的办法是利用Oracle备份服务器加载包含原始对象的快照视图进行恢复。打开数据库,从中导出原始对象并转存文件,最后将该文件导入到所运行的生产数据库中。
注意:Oracle 11g 具备回收站功能:如果你意外的删除了某个表,实际它只是被放入了回收站,你可以执行“撤消”命令将表找回。
场景5: 完整恢复Oracle数据库时间点
如果是由于磁盘故障引发一个或者多个数据文件丢失,你可能就需要整个数据库了。这种情况下,最佳的方式是加载故障前的最后一个快照,从而将数据恢复到新的磁盘。
然而,一个已经加载的快照并不能作为工作磁盘使用,因为当快照被卸载时,这个被加载的快照上所发生的所有变化都将会丢失。也就是说,你只能从加载的快照中复制Oracle 数据到生产磁盘。你的RTO将完全根据从TimeView (快照)向生产存储复制数据所需的时间而定。
如果你的数据库很大,你需要缩短RTO,利用CDP的复制功能是非常好的选择。利用CDP的复制功能,可以在本地或远程的服务器上为受保护磁盘保留一份视图拷贝。如果主站点的主磁盘发生故障,二级站点的复制磁盘可以立即被提升为主磁盘,并分配给Oracle服务器进行加载,数据库可以在几乎不停机的情况下立即恢复生产运行。数据库将处于完成最后一次完整复制时的状态。
如果用最后一次快照恢复数据库,那么这个快照从创建以后到磁盘故障发生之间所提交的交易将全部丢失。对于大多数企业来说,这都是不能接受的。有一种方法可以帮你恢复这部分数据丢失:通过CDP镜像,将快照创建以后到磁盘故障发生之间所提交的交易生成可回放的日志记录文件,你可以利用这些可回放的日志记录文件实现完整恢复。然后,用Oracle 的恢复命令找回需要的SCN就可以了。
1.安装一个和原系统一致的oracle 环境,主要包括版本、数据名sid、实例名、路径和数据库编码一致
2.修改listener.ora的参数
[java] view plain copy
span style="color:#455353;"SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = PLSExtProc)
(ORACLE_HOME = D:\oracle\product\10.1.0\db_1)
(PROGRAM = extproc)
)
/spanspan style="color:#ff0000;" (SID_DESC =
(GLOBAL_DBNAME = orcl) //如果已经有这个orcl了,这个文件就不用修改
(ORACLE_HOME = D:\oracle\product\10.1.0\db_1) //这里要根据你的实际路径来
(SID_NAME = orcl)
)/spanspan style="color:#455353;"
)
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = lypch )(PORT = 1521))
)
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC))
)
)
)/span
3.修改tnsnames.ora的参数
[java] view plain copy
AMMICLY =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = lypch )(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = orcl)
(UR=A) //参数允许只进行管理性的连接,数据库nomount,mount或者restricted时,动态监听显示状态为BLOCKED时,客户端配置UR=A进行连接。
)
)
EXTPROC_CONNECTION_DATA =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC))
)
(CONNECT_DATA =
(SID = PLSExtProc)
(PRESENTATION = RO)
)
)
3.SQLshutdown immediate 停止服务,将新安装的oracle的dbf备份后删除,将原dbf拷贝到新安装的目录下F:\app\toshiba\oradata\orcl
4.原oracle库主目录下的FLASH_RECOVERY_AREA目录全部覆盖到新安装的oracle对应目录下
5. SQLstartup 再次启动服务
根据看过博客操作的朋友反馈,多实例时有疑问,按照如下地址操作解决了问题
你已经说了是oracle11g,那么我就按照11g的做法来教你吧,和你确认几点东西,你前半句是想说明oracle被完全卸载了,只剩下数据库文件,dmp文件是吗?后半句是重新安装好了oracle11g,想要把数据库文件dmp文件恢复到oracle11g中,是吗?如果是这样,你可以这样做:
1,找到安装目录下的dpdump文件夹,将数据库文件dmp文件放进去。
2,运行DOS命令行,输入语句:impdp 用户名/密码@别名 dumpfile=dmp文件名.dmp 回车
你先这样做,如果有报错再说吧,因为不知道你的数据库文件导出来的方式是什么方式,方式不同,语句也会有所不同。
oracle数据库不存在还原一说,只有导入,应该用imp命令。
根据具体的导入方式不同,基本有以下几种情况:
1. 获取帮助
imp help=y
2. 导入一个完整数据库
imp system/manager file=bible_db log=dible_db full=y ignore=y
3. 导入一个或一组指定用户所属的全部表、索引和其他对象
imp system/manager file=seapark log=seapark fromuser=seapark
imp system/manager file=seapark log=seapark fromuser=(seapark,amy,amyc,harold)
4. 将一个用户所属的数据导入另一个用户
imp system/manager file=tank log=tank fromuser=seapark touser=seapark_copy
imp system/manager file=tank log=tank fromuser=(seapark,amy)
touser=(seapark1, amy1)
5. 导入一个表
imp system/manager file=tank log=tank fromuser=seapark TABLES=(a,b)
6. 从多个文件导入
imp system/manager file=(paycheck_1,paycheck_2,paycheck_3,paycheck_4)
log=paycheck, filesize=1G full=y
7. 使用参数文件
imp system/manager parfile=bible_tables.par
bible_tables.par参数文件:
#Import the sample tables used for the Oracle8i Database Administrator's
Bible. fromuser=seapark touser=seapark_copy file=seapark log=seapark_import
8. 增量导入
imp system./manager inctype= RECTORE FULL=Y FILE=A
任何软件都有可能在有意或无意的情况下被重新安装,如Oracle重装后数据库怎么恢复呢?情况发生在你是无意的情况下!ORACLE数据库恢复的方法我们经常会用到,下面就为您介绍重装系统后ORACLE数据库恢复的方法,希望对您学习ORACLE数据库恢复方面能有所帮助。\x0d\x0a\x0d\x0a我的电脑突然挂了,不得不重装系统,不过我的ORACLE装在了D盘,所有的文件都还在,我相信一定能够恢复,直到搞定工作,我才开始整我的数据库,花了两天时间,终于恢复了,庆祝一下,同时总结一下,希望有遇到同样问题的朋友能够快速搞定此类问题\x0d\x0a\x0d\x0a第一种:\x0d\x0a\x0d\x0a首先,备份数据库(X:\oracle\oradata)下的数据文件,重新命名即可(否则装数据库的时候会提示sid已存在)。重新安装数据\x0d\x0a库,当然数据库的名字就是你要恢复的名字。安装完成后,打开控制面板,停止oracle的服务。把(X:\oracle\oradata)下新生成的文件\x0d\x0a改名,把原先目录下的文件恢复名字。再重新启动oracle服务和监听。用sys/as dba \x0d\x0a登陆数据库,可能会提示权限不够(ora-01031)修改(X:\oracle\ora92\network\admin \x0d\x0a)文件夹下的sqlnet.ora文件,添加SQLNET.AUTHENTICATION_SERVICES= \x0d\x0a(NTS),增加权限。登陆进去后,打开table提示不能打开。打开common页,执行命令alert database \x0d\x0aopen;这时再刷新table,发现原先的表可以打开了。恢复成功了。再用原先数据库的普通用户进入。发现一切正常。至此,大功告成。\x0d\x0a\x0d\x0a第二种:\x0d\x0a\x0d\x0a1、首先,将原来的ORACLE文件夹改名,原来的路径是D:/oracle.我暂时改成D:/oracle_old.找来ORACLE(我用\x0d\x0a的是ORACLE 9I)安装光盘,将ORACLE安装在原来安装的目录下,这样恢复起来更加方便,主要是注册表的内容不用修改。\x0d\x0a\x0d\x0a2、安装完了之后,系统中又有一个可以使用的ORACLE了。这个时候要做的就是将原来的文件和数据恢复过来。第一步,先关闭ORACLE的所\x0d\x0a有已经启动的项目,在"服务"里面逐一关闭。然后,将安装目录改名。我现在用的是D:/oracle.改成D:/oracle_new.再将D:\x0d\x0a/oracle_old改成D:/oracle. \x0d\x0a这样理论上说从物理层面恢复了ORACLE了。但是我们发现,现在还不能启动ORACLE的监听程序和服务程序。我们还要从逻辑上解决。\x0d\x0a\x0d\x0a3、在dos环境下执行一个删除命令:oradim -delete -sid mm,其中mm为创建oracle时候创建的实例 \x0d\x0a建议执行这个命令后重新启动机器,重启后就可以建立和原来实例名相同的实例。当然你懒,不重新启动也可以,但是你的实例名就不能和原来的一样了。\x0d\x0a\x0d\x0a4、在dos环境下执行命令 oradim -new -sid mm -startmode a -pfile "D:\oracle\admin\mm\pfile\initmm.ora "创建一个新的实例,其中 "mm"为新数据库的名称。\x0d\x0a\x0d\x0a5、启动服务,先打开数据库,然后可以用以前的用户名和密码登陆进去。 \x0d\x0a要补充的是,一般的ORACLE数据库的监听程序都是用电脑的名称来识别地址的,而不是127.0.0.1或者localhost.所以,如果我们安装系\x0d\x0a统的时候用的是不同的电脑名称(比如我原来用的是wm_mm.重新安装后用的是wenming_mm),那么我们还有一个工作要做,就是修改文件 \x0d\x0alistener.ora.将里面的相关的东西改过来就可以了。\x0d\x0a\x0d\x0a需要耐心、细心,可能在一步里有一个细小的差别就会出些古怪的错误提示,有时需要根据错误提示采取策略,总之原理是,先装一个一模一样的ORACLE,安装目录、数据库名称都一样,这样保证注册表里不用更改;再覆盖物理文件,最后重新实例化,打开数据库就可以进去了。
售后响应及时
7×24小时客服热线数据备份
更安全、更高效、更稳定价格公道精准
项目经理精准报价不弄虚作假合作无风险
重合同讲信誉,无效全额退款