orcl还原数据库操作
ORACLE数据泵还原(IMPDP命令)
ORACLE数据泵还原(IMPDP命令)Oracle数据库还原IMPDP命令是相对于EXPDP命令的,⽅向是反向的。
即对于数据库备份进⾏还原操作。
⼀、知晓IMPDP命令C:\>impdp -helpImport: Release 11.1.0.7.0 - Production on 星期六, 28 9⽉, 2013 15:37:03Copyright (c) 2003, 2007, Oracle. All rights reserved.数据泵导⼊实⽤程序提供了⼀种⽤于在 Oracle 数据库之间传输数据对象的机制。
该实⽤程序可以使⽤以下命令进⾏调⽤:⽰例: impdp scott/tiger DIRECTORY=dmpdir DUMPFILE=scott.dmp您可以控制导⼊的运⾏⽅式。
具体⽅法是: 在 'impdp' 命令后输⼊各种参数。
要指定各参数, 请使⽤关键字:格式: impdp KEYWORD=value 或 KEYWORD=(value1,value2,...,valueN)⽰例: impdp scott/tiger DIRECTORY=dmpdir DUMPFILE=scott.dmpUSERID 必须是命令⾏中的第⼀个参数。
关键字说明 (默认)------------------------------------------------------------------------------ATTACH 连接到现有作业, 例如 ATTACH [=作业名]。
CONTENT 指定要加载的数据, 其中有效关键字为:(ALL),DATA_ONLY和METADATA_ONLY。
DATA_OPTIONS 数据层标记,其中唯⼀有效的值为:SKIP_CONSTRAINT_ERRORS-约束条件错误不严重。
DIRECTORY 供转储⽂件,⽇志⽂件和sql⽂件使⽤的⽬录对象。
oracle11g还原数据库步骤__概述说明以及解释
oracle11g还原数据库步骤概述说明以及解释引言部分的内容可以按照如下方式撰写:1. 引言1.1 概述引言部分将介绍本篇文章的主题,即Oracle 11g数据库还原步骤。
数据库还原是一项至关重要的任务,它可以帮助恢复丢失或损坏的数据,并确保系统的连续性和可靠性。
在本文中,我们将深入探讨Oracle 11g数据库还原的步骤和过程,以及执行还原操作前需要注意的准备工作。
1.2 文章结构在本文中,我们将按照以下顺序来讨论Oracle 11g数据库还原:- 首先,我们将介绍Oracle 11g数据库还原的重要性,阐述为什么必须进行数据库还原操作。
- 其次,我们将概述Oracle 11g数据库还原的步骤,并列出每个步骤的简要说明。
- 第三部分我们将详细描述执行数据库还原操作前所需进行的准备工作。
- 接下来,我们将提供执行数据库还原操作的详细步骤,包括必要时涉及到的命令和工具。
- 最后,我们将讨论完成数据库还原后进行验证和测试的方法与技巧。
1.3 目的本文旨在为读者提供有关Oracle 11g数据库还原的全面指南。
通过学习本文,读者将能够了解数据库还原的重要性、掌握进行数据库还原操作的步骤和技巧,并且能够有效地验证和测试还原后的数据库。
我们希望这篇文章能够帮助读者在数据库还原过程中避免常见错误,并提供相关提示和建议。
2. 正文:2.1 Oracle 11g数据库还原的重要性在数据库管理中,数据的安全性和完整性是至关重要的。
由于各种原因,比如硬件故障、用户误操作或者系统遭受攻击,数据库可能会丢失或损坏。
因此,在这些情况下,数据库还原变得非常重要。
Oracle 11g数据库还原是指恢复已经丢失或被损坏的数据到其先前可用状态的过程。
2.2 Oracle 11g数据库还原的步骤概述数据库还原通常包括以下主要步骤:- 备份介质准备:确定可用的备份介质,并确保其处于良好状态。
- 目标库环境准备:在目标库上创建必需的目录结构,并配置参数以适应还原操作。
oracle数据库备份与恢复方案
oracle数据库备份与恢复方案一、编写目的 (1)二、备份工具及备份方式 (1)三、软件备份 (1)四、软件恢复 (1)五、数据备份 (2)六、备份的存储 (2)七、备份数据的保存规定 (2)八、备份介质的格式 (3)九、数据恢复 (4)编写目的本文档主要说明公司项目在实施现场的软件及数据的备份和恢复方案。
二、备份工具及备份方式1.备份工具Oracle RMAN (Recovery Manager):是一一种用于备份(backup)、还原(restore) 和恢复(recover)数据库的Oracle工具。
RMAN只能用于ORACLE8或更高的版本中。
它能够备份整个数据库或数据库部件,如表空间、数据文件、控制文件、归档文件以及Spfile参数文件。
RMAN也允许您进行增量数据块级别的备份,增量RMAN备份是时间和空间有效的,因为他们只备份自上次备份以来有变化的那些数据块.2.备份方式(1)自动备份:由Windows计划任务调度完成;(2)手工备份:完成特殊情况下的备份,分热备份和冷备份,热备份是指在不关闭数据库情况下进行备份,冷备份则需要停止Oracle实例服务。
三、软件备份1.以七天为一个周期每天23:00将所有软件拷贝到其他存储介质上2.超出七天的备份依次删除3.每月一号将上月最后7天的备份文件刻录到光盘上四、软件恢复1.找出最近的备份程序覆盖到正式运行环境的相应目录中1.业务系统或数据库在打重要补丁或升级的前后,必须按要求对业务系统进行停机备份或非停机备份,备份需包含应用和数据库的文件系统及数据,备份方式为手工备份,使用RMAN执行备份;2.系统日常备份:作为7*24运行的重要系统,必须最小化数据丢失的同时,还需要尽可能缩短恢复时间,数据库的日常备份策略如下:(1)确保数据库处于ArchiliveLog模式;(2)每日凌晨01:00执行数据库全备份,含控制文件备份;(3)每四小时间隔执行数据库归档日志备份,含控制文件备份;(4)每间隔两周执行数据库与应用系统文件备份,执行时间:数据库服务器在第一周的周六05:00,应用服务器在第一周的周六7:00。
如何从oracle的dmp文件中还原数据
//给予用户权限
grant connect,resource,dba to xxxx
//创建表空间,并指定文件名,和大小
CREATE SMALLFILE TABLESPACE ”xxxx” DATAFILE 'E:ORADATAORCLxxxx.DBF'
SIZE 100M
AUTOEXTEND ON NEXT 100M
以上方式是在windows服务中启动服务,当windows服务不能启动数据库实例的时候,应用以下的语句
set oracle_sid=orcl
oradim -startup -sid orcl
sqlplus internal/oracle
startup
第二清理以前还原过的痕迹,如果我们在数据库曾经还原过,我们先来清理一下,痕迹,
xuehongliang - by - 12 八月, 2007 16:27
最近用到从oracle的dmp文件中还原数据
由于没有这方面的资料,在网上搜集了一些,相信有以下这些资料,我们可以成功地将dmp文件用命令行的方式还原回去
在这里我用的是oracle10g的版本,我的机器是512内存的,运行oracle的web管理程序有一些困难,所以我选择通过命令行的方式,
注:在磁盘空间允许的情况下,应先备份到本地服务器,然后再拷贝到磁带.出于速度方面的考虑,尽量不要直接备份到磁带设备.
w3sky
用户模式
备份某个用户模式下的所有对象.业务数据库通常采用这种备份方式.
若备份到本地文件,使用如下命令:w3sky
exp icdmain/icd owner=icdmain rows=y indexes=n compress=n buffer=65536
orcl数据库还原语句
orcl数据库还原语句ORCL数据库是甲骨文公司开发的一种关系型数据库管理系统,被广泛应用于企业级应用程序中。
在日常运维中,数据库还原是一项非常重要的任务,它可以帮助我们恢复数据库到之前的某个时间点,以防止数据丢失或者错误操作导致的数据损坏。
本文将介绍ORCL数据库还原的相关语句和步骤。
首先,我们需要了解ORCL数据库还原的两种常见方式:物理还原和逻辑还原。
物理还原是通过备份文件来恢复数据库,而逻辑还原则是通过SQL语句来还原数据库。
对于物理还原,我们可以使用以下语句来还原数据库:1. 关闭数据库:SHUTDOWN IMMEDIATE;2. 将数据库设置为归档模式:ALTER DATABASE ARCHIVELOG;3. 还原控制文件:STARTUP MOUNT;RESTORE CONTROLFILE FROM '备份文件路径';ALTER DATABASE OPEN RESETLOGS;4. 还原数据文件和日志文件:RECOVER DATABASE USING BACKUP CONTROLFILE UNTIL CANCEL;CANCEL;5. 打开数据库:ALTER DATABASE OPEN;对于逻辑还原,我们可以使用以下语句来还原数据库:1. 关闭数据库:SHUTDOWN IMMEDIATE;2. 还原数据库:STARTUP MOUNT;RESTORE DATABASE FROM '备份文件路径';RECOVER DATABASE USING BACKUP CONTROLFILE UNTIL CANCEL;CANCEL;3. 打开数据库:ALTER DATABASE OPEN;无论是物理还原还是逻辑还原,我们都需要先关闭数据库,然后根据备份文件的路径来还原数据库。
在还原过程中,我们需要注意以下几点:1. 备份文件的选择:选择最新的备份文件来还原数据库,以确保数据的完整性和准确性。
oracle数据库还原的详细流程
oracle数据库还原的详细流程
Oracle数据库还原的详细流程如下:
1. 关闭Oracle数据库服务:在开始还原之前,需要确保Oracle数据库服务已经关闭。
这样可以避免在还原过程中发生数据冲突或损坏。
2. 确认数据库备份:在开始还原之前,需要确认数据库的备份情况。
数据库的备份可以分为完全备份和增量备份两种。
完全备份是指对整个数据库进行备份,而增量备份是在完全备份的基础上,对新增或修改的数据进行备份。
可以通过查看备份记录或者与负责备份的人员进行沟通来确认备份情况。
3. 选择合适的还原方式:根据备份文件的位置和可用资源,选择适合的还原方式。
例如,如果备份文件在本地磁盘上,可以选择磁盘还原;如果备份文件在云端,可以选择云存储还原。
4. 执行还原操作:根据选择的还原方式,执行相应的操作。
例如,在磁盘还原中,需要将备份文件复制到目标磁盘中。
在云存储还原中,需要将备份文件从云存储下载到本地或直接在云平台上进行还原。
5. 启动Oracle数据库服务:完成还原后,启动Oracle数据库服务,验证数据是否正确加载并可用。
请注意,以上步骤仅供参考,具体操作可能因实际情况而有所不同。
在进行数据库还原时,建议参考Oracle官方文档或咨询专业人士以获取更准确的信息和指导。
Oracle11G 备份和恢复
备份与恢复
授课教师:刘明洋
主要内容
备份与恢复概述 物理备份数据库 逻辑恢复数据库 利用RMAN备份与恢复数据库 逻辑备份与恢复数据库
14.1备份与恢复概述
备份与恢复的概念 Oracle数据库备份类型 Oracle数据库恢复类型
14.1.1备份与恢复的概念
➢ 备份与恢复是数据库的一对相反操作,备份是保存数据 库中数据的副本,恢复是利用备份将数据库恢复到故障 时刻的状态或恢复到故障时刻之前的某个一致性状态。
➢ 非归档模式下的数据库恢复是不完全恢复,只能将数据库恢复到最近 一次完全冷备份的状态。
1 7
14.3.2 归档模式下数据库的完全恢复
概述 数据库级完全恢复 表空间级完全恢复 数据文件级完全恢复 数据库完全恢复示例
1
8
(1)概 述
概念
归档模式下数据库的完全恢复是指归档模式下一个或多个数据文件损 坏,利用热备份的数据文件替换损坏的数据文件,再结合归档日志文 件和联机重做日志文件,采用前滚技术重做自备份以来的所有改动, 采用回滚技术回滚未提交的操作,以恢复到数据库故障时刻的状态。
1 6
14.3.1 非归档模式下数据库的恢复
非归档模式下数据库的恢复主要指利用非归档模式下的冷备 份恢复数据库。 步骤为:
➢ 关闭数据库。 ▪ SHUTDOWN IMMEDIATE
➢ 将备份的所有数据文件、控制文件、联机重做日志文件还原到原来所 在的位置。
➢ 重新启动数据库。 ▪ STARTUP
注意
▪ RECOVER DATABASE ➢ 打开数据库。
▪ ALTER DATABASE OPEN;
2
2
(3)表空间级完全恢复
以EXAMPLE表空间的数据文件example01.dbf 损坏为例模拟表空级的完全恢复。
oracle回退delete语句
一、介绍在数据库管理系统中,delete语句用于删除表中的数据记录。
然而,有时候用户可能会错误地执行delete语句,导致删除了重要的数据。
在这种情况下,需要进行回退操作来恢复被误删除的数据记录。
二、oracle回退delete语句的方法1. 使用flashback技术Oracle数据库提供了flashback技术,可以通过回退操作来恢复被删除的数据记录。
使用flashback技术需要先确定数据库中是否启用了flashback功能,如果启用了,则可以使用flashback查询被删除的数据记录,然后通过flashback操作将数据记录回退至删除前的状态。
2. 使用备份和恢复如果数据库中没有启用flashback功能,可以通过数据库备份和恢复来回退delete语句。
首先需要找到数据库中删除数据之前的备份,然后进行数据恢复操作,将备份中的数据恢复至数据库中,从而实现回退操作。
3. 使用日志文件Oracle数据库中的日志文件记录了数据库中的所有操作,包括delete 语句的执行情况。
通过查询日志文件,可以找到被删除的数据记录,然后使用日志文件中的信息进行数据恢复操作,将数据记录回退至删除前的状态。
三、注意事项在进行回退delete语句的操作时,需要注意以下几点:1. 数据库备份的重要性及时做好数据库的备份工作非常重要,可以在意外删除数据时提供及时的恢复操作。
2. 谨慎执行delete语句在执行delete语句时,务必要谨慎操作,确保不会误删除重要数据记录。
3. 使用flashback技术需谨慎虽然flashback技术可以实现数据回退操作,但也需要谨慎操作,以免对数据库产生不必要的影响。
四、结论在数据库管理中,回退delete语句是一项非常重要的操作,可以帮助恢复误删除的数据记录,保证数据库的完整性和稳定性。
在日常的数据库管理工作中,需要时刻关注数据库的备份情况,谨慎执行delete 语句,并掌握回退delete语句的操作方法,以保障数据库的安全性和稳定性。
oracle备份,还原常用命令
oracle备份,还原常⽤命令cmd 命令窗⼝下1.备份数据库exp ⽤户名/密码@数据库连接名 owner=⽤户名 file="盘符:\⽂件名.dmp" log="盘符:\⽇志⽂件名.log",⽇志可选.2.还原数据库imp ⽤户名/密码@数据库连接名 file="盘符:\⽂件名.dmp"" log="盘符:\⽇志⽂件名.log" fromuser=other touser=⽤户名。
3.创建表空间及修改⼤⼩CREATE TABLESPACE dcitDATAFILE 'C:\oracle\product\10.2.0\oradata\orcl\dcit.dbf' SIZE 500MUNIFORM SIZE 128k;alter database datafile 'C:\oracle\product\10.2.0\oradata\orcl\dcit.dbf' autoextend on next 10M maxsize 1G;以下为转帖,转⾃:数据库imp/exp命令使⽤⽅法是本⽂我们主要要介绍的内容,接下来我们就通过例⼦来介绍这些内容。
举例导出数据库服务abc,⽤户user,密码psd下的table1,table2,table3表到d:\data⽬录下,导出⽂件名为test.dmp,语句为:exp file=d:\data\test.dmp tables=(table1,table2,table3) .将上述⽂件恢复的语句为:exp full=y file=d:\data\test.dmp.注意:如果将备份⽂件中的所有表恢复,需要加上full=y.如果只须只需要恢复table1,则语句为:exp file=d:\data\test.dmp tables=table1.即必须指明倒⼊那些信息,要么全部要么部分表。
Oracle数据库备份与恢复的三种方法
Oracle数据库备份与恢复的三种⽅法备份与恢复的三种⽅法Oracle数据库有三种标准的备份⽅法,它们分别是导出/导⼊(EXP/IMP)、热备份和冷备份。
导出备件是⼀种逻辑备份,冷备份和热备份是物理备份。
⼀、导出/导⼊(Export/Import) 利⽤Export可将数据从数据库中提取出来,利⽤Import则可将提取出来的数据送回到Oracle数据库中去。
1、简单导出数据(Export)和导⼊数据(Import) Oracle⽀持三种⽅式类型的输出: (1)、表⽅式(T⽅式),将指定表的数据导出。
(2)、⽤户⽅式(U⽅式),将指定⽤户的所有对象及数据导出。
(3)、全库⽅式(Full⽅式),瘵数据库中的所有对象导出。
数据导⼊(Import)的过程是数据导出(Export)的逆过程,分别将数据⽂件导⼊数据库和将数据库数据导出到数据⽂件。
2、增量导出/导⼊ 增量导出是⼀种常⽤的数据备份⽅法,它只能对整个数据库来实施,并且必须作为SYSTEM来导出。
在进⾏此种导出时,不要求回答任何问题。
导出⽂件名缺省为export.dmp,如果不希望⾃⼰的输出⽂件定名为export.dmp,必须在命令⾏中指出要⽤的⽂件名。
增量导出包括三种类型: (1)、“完全”增量导出(Complete) 即备份三个数据库,⽐如:exp system/manager inctype=complete file=040731.dmp (2)、“增量型”增量导出 备份上⼀次备份后改变的数据,⽐如:exp system/manager inctype=incremental file=040731.dmp (3)、“累积型”增量导出 累计型导出⽅式是导出⾃上次“完全”导出之后数据库中变化了的信息。
⽐如:exp system/manager inctype=cumulative file=040731.dmp 数据库管理员可以排定⼀个备份⽇程表,⽤数据导出的三个不同⽅式合理⾼效的完成。
oracle备份如何到异机还原
oracle备份如何到异机还原作者:ocpyang情景描述:有朋友问,MSSQLSERVER将数据库备份还原到其它机器很方便,基本就是傻瓜式操作,oracle有控制文件、参数文件一堆东西,觉得还原很复杂;其实不然,我抽出了点时间,简单演示下案例,朋友们,参考下!为了简单快速,我才用RMAN备份和还原--说明:(1).RMAN备份到异机恢复的时候,db_name需要相同。
如果说要想改成其他的实例名,可以在恢复成功后,用nid命令修改。
实例名的信息会记录到控制文件里,所以如果在恢复的时候,如果实例名不一致,恢复的时候会报错。
(2).恢复的路径和源库不一致时,就需要在restore命令中使用set 命令指定新位置,并且使用switch datafile all将变更信息更新的到控制文件中。
测试环境:源数据库服务器A,安装在E,备份目录已在E盘;源数据库服务器B,安装在F盘.------------------------------------一、源数据库准备工作--------------------------------------1. 查询DBIDSQL> select name,dbid from v$database;NAME DBID--------- ----------ORCL 1320546556--2. 备份源数据DBrun {configure retention policy to recovery window of 14 days;configure controlfileautobackup on; --自动开启控制文件备份configure controlfileautobackup format for device type disk to'E:\backup\controlfile\bak_%F';allocate channel c1 device type disk format 'E:\backup\data\bak_%u'; allocate channel c2 device type disk format 'E:\backup\data\bak_%u'; sql 'alter system archive log current';backup incremental level=0 database skip inaccessibleplus archivelogfilesperset 20delete all input;release channel c1;release channel c2;}allocate channel for maintenance device type disk;crosscheck backupset;delete noprompt obsolete;--或run {configure retention policy to recovery window of 14 days;allocate channel c1 device type disk format 'E:\backup\data\bak_%u'; allocate channel c2 device type disk format 'E:\backup\data\bak_%u'; sql 'alter system archive log current';backup incremental level=0 database skip inaccessibleplus archivelogfilesperset 20delete all input;--手动直接指明备份文件名和路径backup current controlfile tag='bak_ctrollfile'format='E:\backup\controlfile\bak_ctl_file_%U_%T';backup spfile tag='bak_spfile' format='E:\backup\controlfile\bak_spfile_%U_%T'; release channel c1;release channel c2;}allocate channel for maintenance device type disk;crosscheck backupset;delete noprompt obsolete;--3.手动备份spfilecreatepfile='E:\backup\inittest.ora' from spfile;------------------------------------二、目标库准备工作:---------------------------------------步骤1. 创建口令文件--如果有就不需要新建.orapwd file=F:\app\Administrator\product\11.2.0\dbhome_1\database\PWDorcl.ora password=password--步骤2.恢复参数文件--方法1.源数据库spfile并拷贝到B数据库服务器\\192.168.2.25\e$\backup\inittest.ORA复制到E:\bk\inittest.ORA--步骤3.编辑参数文件中的文件路径如路径和原来一样,则不需修改eg:- *_DUMP_DEST- LOG_ARCHIVE_DEST*- CONTROL_FILES---实例:orcl.__db_cache_size=939524096orcl.__java_pool_size=16777216orcl.__large_pool_size=16777216orcl.__oracle_base='F:\app\Administrator'#修改路径orcl.__pga_aggregate_target=855638016orcl.__sga_target=2550136832orcl.__shared_io_pool_size=0orcl.__shared_pool_size=1526726656orcl.__streams_pool_size=16777216*.audit_file_dest='F:\app\Administrator\admin\orcl\adump' #修改路径*.audit_trail='db'*.compatible='11.2.0.0.0'#修改路径*.control_files='F:\app\Administrator\oradata\orcl\control01.ctl','F:\app\Administrator\orada ta\orcl\control02.ctl','F:\app\Administrator\oradata\orcl\control03.ctl'*.db_block_size=8192*.db_domain=''*.db_name='orcl'*.db_recovery_file_dest='F:\arch' #修改路径*.db_recovery_file_dest_size=6442450944*.diagnostic_dest='F:\app\Administrator' #修改路径*.dispatchers='(PROTOCOL=TCP) (SERVICE=orclXDB)'*.log_archive_dest_1='location=f:\arch' #修改路径*.nls_date_format='yyyy-mm-ddhh:mi:ss'*.open_cursors=300*.optimizer_capture_sql_plan_baselines=TRUE*.pga_aggregate_target=845152256*.processes=150*.remote_login_passwordfile='EXCLUSIVE'*.sga_target=2536505344*.skip_unusable_indexes=TRUE*.undo_tablespace='UNDOTBS1'--步骤4.重启实例,使用已编辑好的参数文件将用pfile将B数据库服务器启动到nomout状态rman target /startupnomountpfile='e:\bk\inittest.ora'--步骤5.恢复控制文件,装载数据库rman target /setdbid 1320546556restorecontrolfile from 'e:\bk\controlfile\BAK_CTL_FILE_6LO6SON4_1_1_20130412';启动restore 于2013-04-11 13:58:58使用目标数据库控制文件替代恢复目录分配的通道: ORA_DISK_1通道ORA_DISK_1: SID=129 设备类型=DISK通道ORA_DISK_1: 正在还原控制文件通道ORA_DISK_1: 还原完成, 用时: 00:00:01输出文件名=F:\APP\ADMINISTRATOR\ORADATA\ORCL\CONTROL01.CTL输出文件名=F:\APP\ADMINISTRATOR\ORADATA\ORCL\CONTROL02.CTL输出文件名=F:\APP\ADMINISTRATOR\ORADATA\ORCL\CONTROL03.CTL完成restore 于2013-04-11 13:59:00--步骤6.将DB启动到mout状态alter database mount;数据库已装载释放的通道: ORA_DISK_1--加载备份目录CATALOG START WITH 'E:\bk';搜索与样式E:\bk 匹配的所有文件数据库未知文件的列表====================================文件名: E:\bk\controlfile\BAK_C-1320546556-20130411-03文件名: E:\bk\controlfile\BAK_CTL_FILE_65O6QILO_1_1_20130411 文件名: E:\bk\controlfile\BAK_SPFILE_66O6QILQ_1_1_20130411文件名: E:\bk\data\BAK_60O6QIGV文件名: E:\bk\data\BAK_61O6QIGV文件名: E:\bk\data\BAK_62O6QIH1文件名: E:\bk\data\BAK_63O6QIH1文件名: E:\bk\data\BAK_64O6QILM是否确实要将上述文件列入目录(输入YES 或NO)? yes正在编制文件目录...目录编制完毕已列入目录的文件的列表======================文件名: E:\bk\controlfile\BAK_C-1320546556-20130411-03文件名: E:\bk\controlfile\BAK_CTL_FILE_65O6QILO_1_1_20130411 文件名: E:\bk\controlfile\BAK_SPFILE_66O6QILQ_1_1_20130411文件名: E:\bk\data\BAK_60O6QIGV文件名: E:\bk\data\BAK_61O6QIGV文件名: E:\bk\data\BAK_62O6QIH1文件名: E:\bk\data\BAK_63O6QIH1文件名: E:\bk\data\BAK_64O6QILM--步骤7.restore 数据库7.1 恢复目录不同的情况:到Target 库查询一下:SQL> select trim(file_id),trim(file_name) from dba_data_files ORDER BY FILE_ID ASC;1 E:\APP\ADMINISTRATOR\ORADATA\ORCL\SYSTEM01.DBF2 E:\APP\ADMINISTRATOR\ORADATA\ORCL\SYSAUX01.DBF3 E:\APP\ADMINISTRATOR\ORADATA\ORCL\UNDOTBS01.DBF4 E:\APP\ADMINISTRATOR\ORADATA\ORCL\USERS01.DBF6 E:\APP\ADMINISTRATOR\ORADATA\ORCL\VPAY02.DBF7 E:\APP\ADMINISTRATOR\ORADATA\ORCL\VPAY03.DBF8 E:\APP\ADMINISTRATOR\ORADATA\ORCL\VPAY04.DBF9 E:\APP\ADMINISTRATOR\ORADATA\ORCL\VPAY05.DBF11 E:\APP\ADMINISTRATOR\ORADATA\ORCL\VPAY06.DBF12 E:\APP\ADMINISTRATOR\ORADATA\ORCL\VPAY07.DBF13 E:\APP\ADMINISTRATOR\ORADATA\ORCL\VPAY08.DBF14 E:\APP\ADMINISTRATOR\ORADATA\ORCL\VPAY09.DBF15 E:\APP\ADMINISTRATOR\ORADATA\ORCL\VPAY10.DBF16 E:\APP\ADMINISTRATOR\ORADATA\ORCL\VPAY01.DBF17 E:\APP\ADMINISTRATOR\ORADATA\ORCL\VPAY11.DBF18 E:\APP\ADMINISTRATOR\ORADATA\ORCL\VPAY12.DBF19 E:\APP\ADMINISTRATOR\ORADATA\ORCL\VPAY13.DBF20 E:\APP\ADMINISTRATOR\ORADATA\ORCL\VPAY14.DBF21 E:\APP\ADMINISTRATOR\ORADATA\ORCL\VPAY15.DBF22 E:\APP\ADMINISTRATOR\ORADATA\ORCL\VPAY16.DBF23 E:\APP\ADMINISTRATOR\ORADATA\ORCL\VPAY17.DBF24 E:\APP\ADMINISTRATOR\ORADATA\ORCL\VPAY18.DBF25 E:\APP\ADMINISTRATOR\ORADATA\ORCL\VPAY19.DBF26 E:\APP\ADMINISTRATOR\ORADATA\ORCL\VPAY20.DBFSQL>select trim(file_id),trim(file_name) from dba_temp_files;1 E:\APP\ADMINISTRATOR\ORADATA\ORCL\TEMP01.DBFselect 'SET NEWNAME FOR DATAFILE'|| ' '||file_id||' '||'TO'|| ' '||''''||trim(file_name)||'''' ||';' from dba_data_files ORDER BY FILE_ID ASC;---如下实例:RUN{# rename the datafilesSET NEWNAME FOR DATAFILE 1 TO'F:\APP\ADMINISTRATOR\ORADATA\ORCL\SYSTEM01.DBF'; SET NEWNAME FOR DATAFILE 2 TO'F:\APP\ADMINISTRATOR\ORADATA\ORCL\SYSAUX01.DBF'; SET NEWNAME FOR DATAFILE 3 TO'F:\APP\ADMINISTRATOR\ORADATA\ORCL\UNDOTBS01.DBF'; SET NEWNAME FOR DATAFILE 4 TO'F:\APP\ADMINISTRATOR\ORADATA\ORCL\USERS01.DBF'; SET NEWNAME FOR DATAFILE 6 TO'F:\APP\ADMINISTRATOR\ORADATA\ORCL\VPAY02.DBF'; SET NEWNAME FOR DATAFILE 7 TO'F:\APP\ADMINISTRATOR\ORADATA\ORCL\VPAY03.DBF'; SET NEWNAME FOR DATAFILE 8 TO'F:\APP\ADMINISTRATOR\ORADATA\ORCL\VPAY04.DBF'; SET NEWNAME FOR DATAFILE 9 TO'F:\APP\ADMINISTRATOR\ORADATA\ORCL\VPAY05.DBF'; SET NEWNAME FOR DATAFILE 11 TO'F:\APP\ADMINISTRATOR\ORADATA\ORCL\VPAY06.DBF'; SET NEWNAME FOR DATAFILE 12 TO'F:\APP\ADMINISTRATOR\ORADATA\ORCL\VPAY07.DBF'; SET NEWNAME FOR DATAFILE 13 TO'F:\APP\ADMINISTRATOR\ORADATA\ORCL\VPAY08.DBF'; SET NEWNAME FOR DATAFILE 14 TO'F:\APP\ADMINISTRATOR\ORADATA\ORCL\VPAY09.DBF'; SET NEWNAME FOR DATAFILE 15 TO'F:\APP\ADMINISTRATOR\ORADATA\ORCL\VPAY10.DBF'; SET NEWNAME FOR DATAFILE 16 TO'F:\APP\ADMINISTRATOR\ORADATA\ORCL\VPAY01.DBF'; SET NEWNAME FOR DATAFILE 17 TO'F:\APP\ADMINISTRATOR\ORADATA\ORCL\VPAY11.DBF';SET NEWNAME FOR DATAFILE 18 TO'F:\APP\ADMINISTRATOR\ORADATA\ORCL\VPAY12.DBF';SET NEWNAME FOR DATAFILE 19 TO'F:\APP\ADMINISTRATOR\ORADATA\ORCL\VPAY13.DBF';SET NEWNAME FOR DATAFILE 20 TO'F:\APP\ADMINISTRATOR\ORADATA\ORCL\VPAY14.DBF';SET NEWNAME FOR DATAFILE 21 TO'F:\APP\ADMINISTRATOR\ORADATA\ORCL\VPAY15.DBF';SET NEWNAME FOR DATAFILE 22 TO'F:\APP\ADMINISTRATOR\ORADATA\ORCL\VPAY16.DBF';SET NEWNAME FOR DATAFILE 23 TO'F:\APP\ADMINISTRATOR\ORADATA\ORCL\VPAY17.DBF';SET NEWNAME FOR DATAFILE 24 TO'F:\APP\ADMINISTRATOR\ORADATA\ORCL\VPAY18.DBF';SET NEWNAME FOR DATAFILE 25 TO'F:\APP\ADMINISTRATOR\ORADATA\ORCL\VPAY19.DBF';SET NEWNAME FOR DATAFILE 26 TO'F:\APP\ADMINISTRATOR\ORADATA\ORCL\VPAY20.DBF';SQL "ALTER DATABASE RENAME FILE''E:\app\Administrator\oradata\orcl\REDO01.LOG''TO ''F:\app\Administrator\oradata\orcl\REDO01.LOG'' ";SQL "ALTER DATABASE RENAME FILE''E:\app\Administrator\oradata\orcl\REDO02.LOG''TO ''F:\app\Administrator\oradata\orcl\REDO02.LOG'' ";SQL "ALTER DATABASE RENAME FILE''E:\app\Administrator\oradata\orcl\REDO03.LOG''TO ''F:\app\Administrator\oradata\orcl\REDO03.LOG'' ";RESTORE DATABASE;SWITCH DATAFILE ALL;}对switch datafile all的说明:--对于nocatalog模式下,rman备份的信息是保存在控制文件里的,包括文件的路径信息。
重新导入数据库操作步骤
四.导入数据库:
开始菜单------运行----------输入:cmd
其中,命令中路径是由程序路径决定,weekbak6.dmp为数据库名。导入数据路径必须与原删除的数据库路径一致。
以下提示属正常状态:
完成:
新导入数据库可以正常使用了。
创建一个相同名称的数据库orcl参数设置必须和之前删除的数据库名一致
一.卸载原有数据库(非数据库安装程序)Oracle.
选择“删除数据库”:下一Biblioteka :选择要删除的数据库“ORCL”:
二.创建一个相同名称的数据库”ORCL”,参数设置必须和之前删除的数据库名一致。
中途一直默认操作下一步
口令必须与之前数据库一致:
oracle 数据库 快速恢复区域 使用规则
oracle 数据库快速恢复区域使用规则全文共四篇示例,供读者参考第一篇示例:Oracle数据库是一种广泛应用的关系型数据库管理系统,需要进行正常备份以保证数据的安全性。
而在数据库备份时,快速恢复区域(Fast Recovery Area)是一个非常重要的技术点,它可以帮助我们更快速地恢复数据库。
快速恢复区域是Oracle数据库中的一个特殊区域,用于存储数据库备份、归档日志和其他恢复所需的文件。
它的作用是提供一种集中化管理数据库恢复所需的文件,简化了数据库恢复的过程。
在这个区域中,我们可以设置自动备份、归档和删除策略,让数据库的维护更加自动化和高效。
在使用快速恢复区域时,我们需要遵守一些规则和最佳实践,以确保数据库的恢复过程顺利进行。
我们需要合理规划快速恢复区域的大小,确保它能够容纳备份、归档和恢复所需的文件。
一般情况下,快速恢复区域的大小应该是数据库总空间的2%到3%。
我们需要定期清理快速恢复区域中的过期文件,以释放磁盘空间并避免不必要的资源浪费。
可以通过设置自动删除策略或手动清理方式来实现,定期检查和清理是保证快速恢复区域高效运行的关键。
在使用快速恢复区域时,还需要注意备份和归档日志的生成和管理。
及时备份数据库是保证数据安全性的重要手段,而有效管理归档日志可以帮助数据库顺利进行恢复。
在设置快速恢复区域时,我们需要根据数据库的运行情况和备份策略来合理配置备份和归档日志的生成和保留时间。
快速恢复区域也可以和RMAN(Recovery Manager)工具配合使用,实现更高效的数据库备份和恢复。
RMAN是Oracle提供的专业数据库备份和恢复工具,可以与快速恢复区域无缝集成,实现自动备份、恢复和监控功能。
通过配合使用RMAN和快速恢复区域,可以有效降低数据库备份和恢复的成本和风险。
快速恢复区域是Oracle数据库中一个非常重要的概念,合理使用和管理它可以帮助我们更快速、安全地恢复数据库。
在使用快速恢复区域时,我们需要遵守规则和最佳实践,合理规划快速恢复区域的大小、定期清理过期文件、有效管理备份和归档日志,并配合使用RMAN工具,从而提高数据库的安全性和可靠性。
ORACLE数据库如何恢复
ORACLE数据库如何恢复(邝俊标)ORACLE数据库备份与恢复与ORACLE的结构密切相关,大家先弄清ORACLE 物理结构有哪些?逻辑结构是有哪些?它们的作用是什么?弄明白这些以后,具体怎么备份、怎么恢复就需要了解下ORACLE本身是怎么管理数据库的有那些相关的ORACLE系统表?ORACLE的后台进程是怎么管理的?最后就要知道相关的ORACLE命令、语法,根据系统提示错误灵活处理了。
ORACLE 恢复主要有下面的几种问题:一、数据文件丢失恢复:二、OS备份下的基于时间的恢复三、损坏联机日志的恢复四、损坏当前联机日志恢复五损坏控制文件的恢复六、损坏回滚数据文件的恢复七、损坏临时数据文件的恢复一、数据文件丢失恢复:1、查看报警文件或动态视图v$recover_fileSQL>select * from v$recover_file;2、脱机数据文件SQL> alter database datafile 'file#' offline drop;3、打开数据库,拷贝备份回来(restore),恢复(recover)该数据文件,并联机SQL> alter database open;4、拷贝备份从备份处copy d:\databak\ users01.dbf d:\oracle\oradata\orcl;5、恢复该数据文件SQL> recover datafile 'file#';SQL> recover database; (多个数据文件丢失,恢复整个数据库)6、恢复成功,联机该数据文件SQL> alter database datafile 'file#' online;说明:1) 采用热备份,需要运行在归档模式下,可以实现数据库的完全恢复,也就是说,从备份后到数据库崩溃时的数据都不会丢失。
2) 可以采用全备份数据库的方式备份,对于特殊情况,也可以只备份特定的数据文件,如只备份用户表空间(一般情况下对于某些写特别频繁的数据文件,可以单独加大备份频率)3) 如果在恢复过程中,发现损坏的是多个数据文件,即可以采用一个一个数据文件的恢复方法(第5步中需要对数据文件一一脱机,第6步中需要对数据文件分别恢复),也可以采用整个数据库的恢复方法。
用Oracle归档日志进行数据库恢复的方法
select first_change# from v$log_history where sequence#=387;
其中387为最后一个有效的日志文件号加1,该例是查找386.
知道了SCN后,使用下述步骤完成恢复
1.使用命令“svrmgrl”调用行方式服务器管理;
联机重演日志没有丢失应使用完成恢复,如联机重演日志损坏,而又没有备份,就只能进行不完全恢复。
一、完全恢复:
1.使用命令“svrmgrl”调用行方式服务器管理;
2.输入命令“connect internal”,然后输入命令“startup mount’;
3.输入命令“recover database;”
现在开始实施恢复。
1.使用命令“svrmgrl”调用行方式服务器管理;
2.输入命令“connect internal”,然后输入命令“startup mount’;
3.输入命令“recover database until time '2002/06/23 14:42:04';”,Oracle提示需要的第一个归档重演日志文件名,输入“auto”,Oracle恢复归档重演日志直到序号为387的日志,停止恢复操作。
3).基于时间的恢复(time-based recovery)
为使用基于时间的恢复,必须知道记录在V$log_history归档重演日志序号387(丢失重演日志)的时间,通过执行查询语句“select time from v$log_history where sequence#=387;”得到。本例得到的时间是:2002-06-23 14:42:04
1.参照以下内容编辑init.ora文件:
log_archive_start = true
Oracle数据库备份和恢复培训
培训内容
逻辑备份 冷备份 热备份
Rman工具
Rman
RMAN是ORACLE提供的一个备份与恢复的工具, 可以用来备份和还原数据库文件、 归档日志和控 制文件。它也可以用来执行完全或不完全的数据 SM 、HP DP、NBU、LGTO等企业级备份软件的for oracle备份模块均采用该工具。 使用方法: 在命令行下输入 Rman target / 配臵参数: Rman>show all;
Rman
2、常用参数
数据备份: Rman>backup tablespace users; 查看备份集 Rman>List backup; 修改备份路径 configure channel device type disk format 'c:\rmanbk\%d_%s_%p_%T_%t.bkp'; d 数据库名 s 为备份集的号 P为该备份集中的备份片号,从1 开始到创建的文件数 T为年月日格式(YYYYMMDD) , t时间戳 磁带为sbt,磁盘为disk,
Rman 参数 配置.txt
Rman
RMAN 文件格式 备份文件可以自定义各种各样的格式,如下: %c 备份片的拷贝数 %d 数据库名称 %D 位于该月中的第几天 (DD) %M 位于该年中的第几月 (MM) %F 一个基于DBID 唯一的名称,这个格式的形式为c-IIIIIIIIII-YYYYMMDD-QQ, 其中IIIIIIIIII 为该数据库的DBID,YYYYMMDD 为日期,QQ 是一个1-256 的序 列 %n 数据库名称,向右填补到最大八个字符 %u 一个八个字符的名称代表备份集与创建时间 %p 该备份集中的备份片号,从1 开始到创建的文件数 %U 一个唯一的文件名,代表%u_%p_%c %s 备份集的号 %t 备份集时间戳 %T 年月日格式(YYYYMMDD)
ORACLE最简单有效的备份恢复方案
ORACLE 最简单有效的备份恢复方案ORACLE备份分两种,1.逻辑备份;2.物理备份;逻辑备份又分两种:传统的exp备份;10g开始支持的expdp数据泵备份;物理备份主要就是RMAN备份;最基本的原则是:这些逻辑或物理备份和数据库文件必须放在不同的硬盘上;否者一损俱损;备份就没多大意义了;如果数据库不是很大,比如在50G以下,那么我们就考虑一些傻话化的全备方案我现在的备份方案是:两个逻辑备份和RMAN 备份全部用上;1.传统dmp逻辑备份和恢复1.1传统dmp逻辑备份,这个是最简单的备份方法;现在我提供一个简单的脚本:1.1.1首先建立一个bat文件,名字叫:exp_backup.bat内容是:set oracle_username=%1set oracle_password=%2set local_tnsname=%3set url=%oracle_username%/%oracle_password%if not %local_tnsname% == "" set url=%url%@%local_tnsname%if exist %oracle_username%_old.dmp del %oracle_username%_old.dmpif exist %oracle_username%_old.log del %oracle_username%_old.logif exist %oracle_username%.dmp ren %oracle_username%.dmp %oracle_username%_old.dmpif exist %oracle_username%.log ren %oracle_username%.log %oracle_username%_old.logexp %url% file=%oracle_username%.DMP log=%oracle_username%.LOG该脚本是一个通用的最简单的exp脚本;意思就是:备份之间,把以前的备份文件修改名字,后面加上_old ,如果本来就有old文件,就删除之;之后,就开始备份;备份的文件目录和该脚本一致(这样做最简单);所以总是会出现一新一旧两个文件;当然只要最新的就行了,所以理论上只要一份文件;但是考虑有可能备份的时候突然报错,这样old文件还在,将就着使用,否者新的是坏的,旧的也没了;有的人做一周7天逻辑循环备份,我觉得没有必要,要那么多旧的备份文件何用,浪费空间;1.1.2然后再做一个bat文件,比如是my_exp.bat内容是:call exp_backup.bat USER PASSWORD ""如果是在服务器自身上备份,就不需要写入数据库服务名;如果有多个用户数据需要备份;那么就在my_exp.bat继续添加:call exp_backup.bat USER1 PASSWORD1 ""….My_EXP.BAT可以做成windows的执行计划,每天不忙的时候执行一次;1.2 exp备份的恢复下面就是恢复的最简单方法:1.2.1.把电脑上当前用户彻底删除,用命令,这样就可以把对象彻底清除;DROP USER XXX CASCADE1.2.2.再创建该用户CREATE USER xxxxIDENTIFIED BY xxxxDEFAULT TABLESPACE xxxxTEMPORARY TABLESPACE TEMP并赋予权限:GRANT DBA TO xxxx WITH ADMIN OPTION1.2.3用IMP恢复C:\> imp xxxx/xxxx FILE=xxxx.DMP LOG=xxxx.LOG FULL=Y2.10G后的数据泵expdp备份和恢复2.1 expdp 备份据说这个比exp有很多优点,这个我就不说了,大家可以自己参考资料;不过我测试下来,如果数据量小expdp 还是不如exp的;但是还是建议是使用expdp,因为数据会慢慢变大的,用expdp更好些;我最看重的是:expdp备份的文件涵盖的东西更多;所以恢复的时候方便;删除用户后,可以不用再创建用户恢复;实现方法和exp类似:不过,它的目录不像EXP那么直接,需要使用oracle的目录对象;所以2.1.1第一步先创建一个目录对象,比如:SQL>create or replace directory LOGIC_BUCKUPas 'd:\OACLE_BACKUP\逻辑备份';2.1.2建立一个通用脚本,比如叫EXPDP_BACKUP.BAT内容是:set oracle_username=%1set oracle_password=%2set local_tnsname=%3set url=%oracle_username%/%oracle_password%if not %local_tnsname% == "" set url=%url%@%local_tnsname%if exist %oracle_username%_old_dump.dmp del %oracle_username%_old_dump.dmpif exist %oracle_username%_old_dump.log del %oracle_username%_old_dump.logif exist %oracle_username%_dump.dmp ren %oracle_username%_dump.dmp %oracle_username%_old_dump.dmpif exist %oracle_username%_dump.log ren %oracle_username%_dump.log %oracle_username%_old_dump.logEXPDP %url% DIRECTORY=LOGIC_BACKUP DUMPFILE=%oracle_username%_DUMP.DMP LOGFILE=%oracle_username%_DUMP.LOG PARALLEL=2该方法与上面的dmp备份类似;2.1.3然后再做一个bat文件,比如是my_expdp.bat内容是:call expdp_backup.bat USER PASSWORD ""如果是在服务器自身上备份,就不需要写入数据库服务名;如果有多个用户数据需要备份;那么就在my_exp.bat继续添加:call expdp_backup.bat USER1 PASSWORD1 ""……同dmp备份一样,My_EXPdp.BAT也可以做成windows的执行计划,每天不忙的时候执行一次;2.2 expdp备份的恢复下面就是恢复的最简单方法:2.2.1.把电脑上当前用户彻底删除,用命令,这样就可以把对象彻底清除;DROP USER XXXX CASCADE2.2.2.用另外一个权限较高的用户(最好不是sys,比如是YYYY) 导入:C:\>IMPDP yyyy/yyyy DUMPFILE=xxxx_DUMP.DMP LOGFILE=xxxx_DUMP.LOG DIRECTORY=LOGIC_BUCKUPPARALLEL=2(这里的LOGIC_BUCKUP是oracle的对象目录,要和xxxx_dump.dup存放的目录一致)这样就OK了,也即是说用户不需要创建,数据泵文件含有了用户以及它原来的权限;从这点来讲,是不是比IMP导入更为方便;好了,两种逻辑备份讲完了,下面重点说一下RMAN备份;因为在生产系统中,逻辑备份作用不大的,因为它不能实时的备份数据,所以逻辑备份更多的时候是给开发人员互相导入数据和存储过程之类用的;RMAN备份的原理还是有点复杂的,很多细节的我也不是很清楚,不过没关系,我们可以整理出一套最简单的备份方案:3.RMAN备份和恢复3.1. RMAN备份3.1.1 首先把数据库参数关注一下,关注下面两个参数第一个参数:db_recovery_file_dest_size,上图中的大小是默认的4G,也就是归档模式下,archivelog的所有归档日志文件大小总和,如果超过这个数,就会导致数据库出问题;所以要非常小心,因而建议修改大一些,比如修改成20G;当然最本质的方法,是要按时清理无用的归档日志;第二个参数:db_recovery_file_dest ,这个参数非常重要,是11G里,存放rman备份集和归档日志的地方;默认是放在flash_recovery_area目录下的,因为我的系统的flash_recovery_area 和数据库文件在同一个硬盘,所以修改了;3.1.2.关注redo日志文件,每组里要有两个成员,1个在数据库文件的硬盘下,1个在备份文件的硬盘下,因为日志文件写入最频繁,RMAN无法对它备份,或者说任何备份工具都无法对redo日志备份;不过redo它自己可以做冗余,两个文件只要有一个在,即可;比如:3.1.3做一个最简单的rman备份脚本;3.1.3.1首先做一个txt,比如是:autorman.txt内容是:sql 'alter system archive log current';backup database;delete noprompt obsolete;这三句话的作用分别是:1.对当前redo日志进行归档;2.备份数据库3.删除无效的archive日志和rman备份集3.1.3.2 做一个bat 调用上面的autorman.txt,比如是:autorman.bat内容是:rman target / @autorman.txt然后就在winddows下做一个执行计划,每天或没隔几天,自动执行一下这个autorman.bat当然备份之前,要用rman>show all 看一下参数设置,有没有自动备份控制文件,如果没有,要加上;3.2 rman恢复Rman恢复非常简单;下面说一下步骤:3.2.1 假如最新一次全备是3天前的,先随便建立一个新表,比如是test_rman,随便插几条数据;用来测试还原后,这个最新的对象是否也给恢复了;现在用sqlplus登陆,shutdown 数据库,然后把oracle的数据库文件全部删除(控制文件,redo日志文件,数据库文件);3.2.2 用sql> startup nomount 启动数据库的参数文件,参数文件和数据库文件不在同一个硬盘,所以没丢;这时候如果执行sql>alter database mount 会报错,因为mount会加载控制文件,而控制文件已经丢了;3.3.3.把以前控制文件所在的目录建立好,否者rman找不到控制文件恢复路径;然后执行RMAN> restore controlfile from autobackup;这样控制文件就回复了,有了控制文件就好办了;3.2.4. 以为有了控制文件,所以在sqlplus里,可以装载数据库Sql>alter database mount3.2.5 数据库被装载后,说明控制文件生效了,这时候,所有的数据库信息都出来了;所以可以用rman还原数据库了:RMAN> RESTORE database;3.2.6 恢复数据库:RMAN> recover database;2.2.7 数据库现在已经全部回复好,可以重新启动了:SQL> alter database open resetlogs;数据库已更改。
ORACLE数据库数据泵备份与恢复
ORACLE数据库数据泵备份与恢复EXPDP和IMPDP是服务端的⼯具程序,他们只能在ORACLE服务端使⽤,不能在客户端使⽤。
IMP只适⽤于EXP导出的⽂件,不适⽤于EXPDP导出⽂件;IMPDP只适⽤于EXPDP导出的⽂件,⽽不适⽤于EXP导出⽂件。
⼀、expdp和impdp的使⽤1.创建⽬录create directory DBBAK as '/bak'; #DBBAK名称可以随便命名需要⼿⼯创建/bak,并且此⽬录oracle⽤户有读取写⼊权限2.查看所有⽬录select * from dba_directories;3.给test⽤户赋予在指定⽬录的操作权限,最好⽤root⽤户赋予。
grant read,write on directory DBBAK to test;4.导出数据1)按⽤户导expdp test/test@orcl schemas=test dumpfile=expdp.dmp DIRECTORY=DBBAK logfile=expdp.log2)并⾏进程parallelexpdp test/test@orcl directory=DBBAK dumpfile=expdp1.dmp parallel=10 job_name=test13)按表名导expdp test/test@orcl TABLES=table01,table02 dumpfile=expdp2.dmp DIRECTORY=DBBAK;4)按查询条件导expdp test/test@orcl directory=DBBAK dumpfile=expdp4.dmp Tables=table01 query='WHERE id=001';5)按表空间导expdp system/system DIRECTORY=DBBAK DUMPFILE=tablespace.dmp TABLESPACES=test,USERS;6)导整个数据库expdp system/system DIRECTORY=DBBAK DUMPFILE=full.dmp FULL=y;5、创建表空间及⽤户create tablespace test datafile '+data/test/datafile/data01.dbf' size 32000M;alter tablespace test add datafile '+data2/test/datafile/users02.dbf' size 32000M;create user test identified by test default tablespace TEST temporary tablespace TEMP;grant connect,resource,dba to test;grant read,write on directory DBBAK to test;6、还原数据1)导到指定⽤户下impdp test1/test1@orcl DIRECTORY=DBBAK DUMPFILE=expdp.dmp SCHEMAS=test logfile=impdp.log2)改变表的ownerimpdp system/system DIRECTORY=DBBAK DUMPFILE=expdp2.dmp TABLES=test.table01REMAP_SCHEMA=test1:table11;3)导⼊表空间impdp system/system DIRECTORY=DBBAK DUMPFILE=tablespace.dmp TABLESPACES=test;4)导⼊数据库impdb system/system DIRECTORY=DBBAK DUMPFILE=full.dmp FULL=y;5)追加数据impdp system/system DIRECTORY=DBBAK DUMPFILE=expdp.dmp SCHEMAS=system TABLE_EXISTS_ACTION7、查看数据是否⼀致select OBJECT_TYPE,COUNT(*) from all_objects where OWNER='TEST' group by OBJECT_TYPE;⼆、expdp详细参数可以通过 expdp help=y查看1.CONTENT 指定要导出的数据其中有效关键字为:(ALL), (默认)导出结构和数据DATA_ONLY:只导出数据METADATA_ONLY:只导出结构2.DIRECTORY 供转储⽂件和⽇志⽂件使⽤的⽬录对象3.DUMPFILE ⽬标转储⽂件 (expdat.dmp) 的列表例如 DUMPFILE=scott1.dmp, scott2.dmp, dmpdir:scott3.d4.INCLUDE 包括特定的对象类型例如 INCLUDE=PACKAGE,FUNCTION,PROCEDURE,TABLE:"='EMP'"5.EXCLUDE 排除特定的对象类型与INCLUDE相反6.TABLES 标识要导出的表的列表7.SCHEMAS 要导出的⽅案的列表可⽀持多个schemas=(user01,user02,user03)8.TABLESPACES 标识要导出的表空间的列表9.ATTACH 连接到现有作业, 例如 ATTACH [=作业名]PRESSIONALL :对导出的元数据和表数据都进⾏压缩,得到的导出⽂件是最⼩的,耗时也是最长的。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1.先创建一个数据库,如下图所示2.进入后点击下一步下一步后,输入数据库名字,下边的SID名字与数据库名字相同即可下一步后,默认下一步,输入口令,口令必须设为midsoft下一步后,出现完成,点击完成即可。
点击完成后出现下图界面,点击确定。
完成后点击退出。
空库创建完成后,需创建9个表空间:HOSPITAL, EMR, HSFX, MZGL, XTGL, YJGL, YPGL, ZYGL,RUIMEILIS注意:●创建的表空间文件位置不要和oracle的安装盘符相同(最好硬盘不同);●如果服务器有多个硬盘,则尽量将表空间文件分散放在多个硬盘上●表空间EMR所属的文件,尽量放在单独的一个硬盘上进入orcl,执行如下语句(红色字体所示的目录必须存在)1、创建表空间HOSPITAL,并将其权限赋予HOSPITAL用户create tablespace HOSPITAL logging datafile'D:\oracle_kf6\HOSPITAL.dbf'size 50mautoextend onextent management local;--授予权限create user HOSPITAL identified by midsoftdefault tablespace HOSPITAL;Grant connect, dba, resource to HOSPITAL;2、创建表空间EMR,并将其权限赋予EMR用户(注意:EMR表空间单独放一个盘,EMR包含多张二进制表,会产生大量I/O操作;如果将其与其它表空间放在一起,会影响其它表空间数据的存取效率)create tablespace EMR logging datafile'D:\oracle_kf6\EMR.dbf'size 50mautoextend onextent management local;--授予权限create user EMR identified by midsoftdefault tablespace EMR;Grant connect, resource to EMR;3、创建表空间HSFX,并将其权限赋予HSFX用户create tablespace HSFX logging datafile'D:\oracle_kf6\HSFX.dbf'size 50mautoextend onextent management local;--授予权限create user HSFX identified by midsoftdefault tablespace HSFX;Grant connect, resource to HSFX;4、创建表空间MZGL,并将其权限赋予MZGL用户create tablespace MZGL logging datafile'D:\oracle_kf6\MZGL.dbf'size 50mautoextend onextent management local;--授予权限default tablespace MZGL;Grant connect, resource to MZGL;5、创建表空间XTGL,并将其权限赋予XTGL用户create tablespace XTGL logging datafile'D:\oracle_kf6\XTGL.dbf'size 50mautoextend onextent management local;--授予权限create user XTGL identified by midsoftdefault tablespace XTGL;Grant connect, resource to XTGL;6、创建表空间YJGL,并将其权限赋予YJGL用户create tablespace YJGL logging datafile'D:\oracle_kf6\YJGL.dbf'size 50mautoextend onextent management local;--授予权限create user YJGL identified by midsoftdefault tablespace YJGL;Grant connect, resource to YJGL;7、创建表空间YPGL,并将其权限赋予YPGL用户create tablespace YPGL logging datafile'D:\oracle_kf6\YPGL.dbf'size 50mautoextend onextent management local;--授予权限default tablespace YPGL;Grant connect, resource to YPGL;8、创建表空间ZYGL,并将其权限赋予ZYGL用户create tablespace ZYGL logging datafile'D:\oracle_kf6\ZYGL.dbf'size 50mautoextend onextent management local;--授予权限create user ZYGL identified by midsoftdefault tablespace ZYGL;Grant connect, resource to ZYGL;9、创建表空间ruimeilis,并将其权限赋予ruimeilis用户--创建表空间create tablespace ruimeilis logging datafile'D:\oracle_kf6\ruimeilis.DBF'size50mautoextend onextent management local;--授权create user ruimeilis identified by ruimeilisdefault tablespace ruimeilis;grant connect,resource to ruimeilis;导入数据:在dos界面执行以下语句,开始---运行---cmd,红色字体为数据库名字,目录为备份的数据库目录。
imp system/midsoft@kf6file=D:\oracleBAK\hospital_kf6.dmp log=D:\oraclebak\log\hospital20150805181310.log fromuser=EMR touser=EMRimp system/midsoft@kf6file=D:\oracleBAK\hospital_kf6.dmp log=D:\oraclebak\log\hospital20150805181311.log fromuser=HSFX touser=HSFXimp system/midsoft@kf6file=D:\oracleBAK\hospital_kf6.dmp log=D:\oraclebak\log\hospital20150805181312.log fromuser=MZGL touser=MZGLimp system/midsoft@kf6file=D:\oracleBAK\hospital_kf6.dmp log=D:\oraclebak\log\hospital20150805181313.log fromuser=XTGL touser=XTGLimp system/midsoft@kf6file=D:\oracleBAK\hospital_kf6.dmp log=D:\oraclebak\log\hospital20150805181314.log fromuser=YJGL touser=YJGLimp system/midsoft@kf6file=D:\oracleBAK\hospital_kf6.dmp log=D:\oraclebak\log\hospital20150805181315.log fromuser=YPGL touser=YPGLimp system/midsoft@kf6file=D:\oracleBAK\hospital_kf6.dmp log=D:\oraclebak\log\hospital20150805181316.log fromuser=ZYGL touser=ZYGLimp system/midsoft@kf6file=D:\oracleBAK\hospital_kf6.dmp log=D:\oraclebak\log\hospital20150805181316.log fromuser=RUIMEILIS touser= RUIMEILISHOSPITAL:需要先创建同义词,再导入HOSPITAL。
imp system/midsoft@kf6 file=D:\oracleBAK\hospital_kf6.dmp log=D:\oraclebak\log\hospital20150805181317.log fromuser=HOSPITAL touser=HOSPITAL创建同义词1、语法:create public synonym XTGL_ZGKXFJLB for XTGL.XTGL_ZGKXFJLB;2、SQL拼写:select 'create public synonym ' || table_name || ' for ' | | owner || '.' || table_name || ';' from dba_tableswhere owner in ('EMR', 'HSFX', 'MZGL', 'XTGL', 'YJGL', 'YPGL' , 'ZYGL', 'RUIMEILIS') order by owner, table_name;在orcl中执行上边sql拼写,复制查询出的结果在orcl中执行(注意:需分段执行)创建同义词后,再导入HOSPITAL。