精华内容
下载资源
问答
  • oracle数据库备份还原(本地及远程操作)
  • 由于平时要进行数据库备份还原操作,为了提高效率和节省时间就有了下面的批处理程序.
  • 通过在bat文件中直接修改数据库的登录名密码以及备份文件存放的路径等,然后直接执行即可备份文件(注意此备份为所有用户全量备份),也可以放在windows的计划任务当中定时执行。
  • 备份需要知道源机与目标机Oracle安装位置和文件系统位置,是一种非常快速的备份方法。 冷备份 1、 冷备份发生在数据库已经正常关闭的情况下 2、冷备份所需备份的文件包括以下几种: 所有数据文件(datefile)、...


    当一个阶段性系统使用完后,需要备份完全的数据库,此时使用冷备份再合适不过了。冷备份需要知道源机与目标机Oracle安装位置和文件系统位置,是一种非常快速的备份方法。源Oracle和目标Oracle版本需要一致。

    冷备份

    1、 冷备份发生在数据库已经正常关闭的情况下
    2、冷备份所需备份的文件包括以下几种:
    所有数据文件(datefile)、所有控制文件(controlfile)、所有联机REDO LOG 文件(logfile)、密码文件
    3、冷备份的步骤
    ①正常关闭要备份的实例(instance)
    ②拷贝物理文件到指定备份路径或设备。
    ③完成备份后启动数据库

    异机恢复

    背景:目标机已安装数据库,且未创建同名实例
    1、在目标机上的oradata目录下建立orcl文件夹,拷贝源机的所有data文件和联机redo文件到此目录下。
    2、在目标机上的admin目录下建立orcl文件夹,然后在orcl里面再建立adump、bdump、cdump、udump、dpdump、pfile六个文件夹。
    3、使用oradim命令在cmd下oradim -new -sid orcl 表示建立一个服务,sid为orcl(最好名字和源机备份的数据库名字一致,就不需要重建密码文件)。
    4、拷贝源机的pfile到目标机的一个目录下,修改pfile里面相关文件的路径,然后通过SQL>create spfile from pfile=‘文件路径’来创建参数文件。
    5、重建控制文件。
    6、用net configuration为orcl实例新建监听。
    7、还原临时工作空间文件。

    操作案例

    冷备份数据必须是数据库不在open状态下。以Windows环境下oracle11gR2为例,备份恢复orcl实例。

    备份

    备份脚本如下:

    spool D:/Other-shore/oradata/lengbei/bf.sql
    select 'COPY "'||name||'" "D:/Other-shore/oradata/lengbei"' from v$controlfile
    union all
    select 'COPY "'||name||'" "D:/Other-shore/oradata/lengbei"' from v$datafile
    union all
    select 'COPY "'||member||'" "D:/Other-shore/oradata/lengbei"' from v$logfile
    /
    create pfile='D:/Other-shore/oradata/lengbei/initorcl.ora' from spfile;
    alter database backup controlfile to trace as 'D:/Other-shore/oradata/lengbei/databasectl.txt';
    spool off
    

    Step1、在命令行窗口中(cmd)页面执行

    c:\>set ORACLE_SID=orcl
    c:\>sqlplus/nolog
    SQL> conn sys/sys as sysdba
    SQL>   //运行备份脚本
    SQL>shutdown immediate;
    

    Step2、执行完备份脚本后,产生如下图文件:
    在这里插入图片描述

    打开参数文件,拷贝如图框内文件到指定备份路径:
    在这里插入图片描述

    打开重建控制文件,拷贝如图框内文件到指定备份路径:
    在这里插入图片描述

    Step3、找到密码文件备份到指定备份路径。密码文件在数据库安装位置的database文件夹下。本机位置E:\app\product\11.2.0\dbhome_1\database\PWDorcl.ora。
    在这里插入图片描述

    Step4、启动源机数据库实例startup
    至此冷备份完成,下图是冷备份所需要的所有物理文件:
    在这里插入图片描述

    异机恢复

    不创建实例:(源机上的数据库名字为orcl)
    Step1、拷贝冷备份文件到目标机上

    Step2、在目标机的数据库文件系统位置oradata目录下建立orcl文件夹,将备份文件中所有data文件和联机redo文件到此目录下。(C:\app\oradata)

    Step3、在目标机的数据库安装位置下(C:\app)
    ①将flash_recovery_area文件夹中对应的orcl文件备份过去
    ②将密码文件拷贝到database目录下
    ③admin目录下建立orcl文件夹,然后在orcl里面再建立adump、bdump、cdump、udump、dpdump、pfile六个文件夹。

    Step4、更改参数文件pfile里面框内路径为目标机路径:
    在这里插入图片描述

    Step5、打开重建控制文件,找到下图一段文本,修改框内相应路径后保存为:createctl.sql文件(sql脚本文件)。
    在这里插入图片描述

    Step6、在命令窗口中,使用oradim命令oradim -new -sid orcl 表示建立一个服务,sid为orcl(最好名字和源机备份的数据库名字一致,就不需要重建密码文件)
    新建一个实例服务:oradim -new -sid orcl
    删除一个实例服务:oradim -delete -sid orcl

    Step7、在命令行窗口中(cmd)页面执行

    c:\>oradim -new -sid orcl
    c:\>set ORACLE_SID=orcl
    c:\>sqlplus/nolog
    SQL> conn / as sysdba
    SQL>create spfile from pfile='c:\initorcl.ora';
    SQL>@c:\createctl.sql;
    SQL>shutdown immediate;
    SQL>startup;
    SQL>alter database open resetlogs;
    

    执行期间遇到如下报错:
    ORA-12560:TNS协议适配器错误
    原因:ORACLE的数据库服务没有启动。使用命令net start ORACLESERVICEORADB(ORADB为数据库名字)。

    SP2-XXX:原因:存在空行。去除文件中空行就可

    Step8、完成上述步骤后已经可以在命令窗口中连接数据库了。接下来用net configuration为orcl实例新建监听

    Step9、为保证数据库正常运行,需要将控制文件里的临时工作空间建立一下。
    重建控制文件脚本中会自动附加创建临时表空间的语句,如下图所示:
    在这里插入图片描述

    连接数库后执行下面语句:

    ALTER TABLESPACE TEMP ADD TEMPFILE 'D:\APP\ORADATA\ORCL\TEMP01.DBF'
         SIZE 84934656  REUSE AUTOEXTEND ON NEXT 655360  MAXSIZE 32767M;
    ALTER TABLESPACE TEMP_SDTP ADD TEMPFILE 'D:\OTHER-SHORE\ORADATA\TEMP_SD.DBF'
         SIZE 10M REUSE AUTOEXTEND ON NEXT 10M MAXSIZE 32767M;
    

    常记溪亭日暮,沉醉不知归路。——李清照《如梦令·常记溪亭日暮》

    展开全文
  • Oracle数据库备份还原语句

    千次阅读 2021-04-02 14:28:10
    1、备份语句(数据库导出) exp username/password@ip:port/servername file="C:\Users\Administrator\Desktop\kpms.bak" full=y ignore=y; 2、导入语句(数据库还原) ①全部导入:imp 用户名/密码@数据库实例名...

    1、备份语句(数据库导出)

    exp username/password@ip:port/servername file="C:\Users\Administrator\Desktop\kpms.bak" full=y ignore=y;

    2、导入语句(数据库还原)

    ①全部导入:imp 用户名/密码@数据库实例名 full=y file=C:\Users\Administrator\Desktop\kpms.bak ignore=y;

    ②单表导入:imp  username/password@ip:port/servername file="C:\kpms.dmp" tables=(emp) ignore=y;

    ③只导入表结构:imp username/password@ip:port/servername file="C:\kpms.dmp" fromuser=from_username touser=to_username rows=n;

    ④只导入数据:imp username/password@ip:port/servername file="C:\kpms.dmp" fromuser=c##from_username touser=to_username statistics=none  ignore=y;

    ⑤更改表空间和用户导入:impdp  username/password@ip:port/servername directory=DATA_DIR dumpfile=example.dmp REMAP_SCHEMA=olduser:newuser remap_tablespace=oldtablespace:newtablespace,EXAMPLE_TEMP:newtablespace_temp
     

    展开全文
  • 一、备份简介 1.备份策略 完全备份:一个或多个数据文件的完整副本,包括从备份开始的所有级的数据块 增量备份:有两种,差异增量和累积增量。包含从最近一次备份以来被修改过或增加过的数据块。增量备份又分为0级...

    一、备份简介

    1.备份策略

    完全备份:一个或多个数据文件的完整副本,包括从备份开始的所有级的数据块
    增量备份:有两种,差异增量和累积增量。包含从最近一次备份以来被修改过或增加过的数据块。增量备份又分为0级增量备份、1级差异增量备份、1级累积增量备份。增量备份支持归档和非归档模式,而且只能使用rman的时候才能实现增量备份
    差异增量:是备份上级及同级备份以来所有变化的数据块,差异增量是默认的增量备份。备份新增加的数据。
    累积增量:是备份上级备份以来所有变化的数据块,备份之前所有的数据(使用这个,安全)
    

    2. 备份分类

    全备:包括所有的数据文件、控制文件、密码文件、在线重做日志文件、归档日志文件
    非全备:比如备份一个或多个数据文件,一个表空间等,只在归档模式下有效
    冷备:在数据库关闭时发生的备份,是在一致性关闭数据库后,控制文件scn与数据库文件头部的scn一致。又称为脱机备份
    热备:在数据库使用时发生的备份,联机备份一个数据文件的scn与控制文件不一致。可以是全备,也可以是部分备份,在归档模式下才能完成。又称作联机备份、非一致性备份。
    

    3. 备份方式

    物理备份:所有物理文件的一个副本,如数据文件、日志文件等,这些文件都存在本地磁盘或相应的存储上面,包括冷备(非归档模式)、热备(归档模式)
    逻辑备份:将表、索引、存储过程等,可以使用oracle exp/expdp导出来的二进制文件,后面在通过oracle的imp/impdp可以导入数据库。一般用于数据迁移
    

    4. 备份中涉及的文件

    数据文件
    控制文件
    重做日志文件
    参数文件
    归档日志文件
    

    5. 备份恢复的工具

    1、imp/impdp、exp/expdp:进行逻辑备份恢复,可以跨平台迁移,支持全库、用户、表级的备份与恢复
    2、rman:物理备份恢复,支持命令行及图形接口可以通过第三方软件(nbu/legato/tsm)及磁盘带机进行备份。
    	    支持备份整个数据库、表空间、数据文件等,可以通过rman脚本来实现快捷的备份操作。支持增量备份,跳过部分块设备,可以调整备份速度
    3、第三方工具:可以使用操作系统命令,其他工具来实现一些特殊情况下的备份恢复
    4、dataguard、goldengate可以实现数据库的容灾备份恢复
    

    二、备份还原实例

    测试数据准备

    SQL> create tablespace cat datafile '/u01/app/oracle/oradata/orcl/cat01.dbf' size 10M autoextend off;		#创建一个表空间,关闭自动扩展
    SQL> create user c##cat identified by cat default tablespace cat;	#创建一个用户
    SQL> grant dba to c##cat;	#授权
    SQL> conn c##cat/cat;
    SQL> create table test(id number(3),name varchar2(10));
    SQL> insert into test values(1,'test1');
    SQL> insert into test values(2,'test2');
    SQL> insert into test values(3,'test3');
    SQL> commit;
    SQL> select * from test;
    	ID 		NAME
    ---------- ----------
    	 1 	  	 test1
    	 2  	 test2
    	 3		 test3
    

    1. exp-imp

    1.1 使用exp备份整个数据库

    SQL> select * from props$;	#查看数据库字符集
    [oracle@localhost ~]$ export NLS_LANG=AMERICAN_AMERICA.AL32UTF8	#查看字符集并设定
    [oracle@localhost ~]$ exp system/oracle buffer=65536 feedback=100000  full=y file=exp.dmp log=imp.log
    

    1.2 使用imp恢复

    删除用户

    SQL> drop user c##cat cascade;	#删除用户
    SQL> drop tablespace c##cat including contents and datafiles;	#删除表空间
    

    先创建表空间,在创建用户授权

    SQL> create tablespace cat datafile '/u01/app/oracle/oradata/orcl/cat01.dbf' size 10M autoextend off;		#创建一个表空间,关闭自动扩展
    SQL> create user c##cat identified by cat default tablespace cat;	#创建一个用户
    SQL> grant dba to c##cat;	#授权
    

    恢复数据

    [oracle@localhost ~]$ imp system/oracle fromuser=c##cat touser=c##cat commit=y buffer=65536 feedback=100000 ignore=y file=exp.dmp log=imp2.log;
    SQL> select * from cat.test;
    

    编译无效对象

    SQL> @$ORACLE_HOME/rdbms/admin/utlrp.sql
    

    2. expdp/impdp

    2.1使用expdp备份数据库

    [oracle@localhost ~]$ mkdir /u01/app/oracle/dump
    SQL> create directory dump_dir as '/u01/app/oracle/dump';
    SQL> grant read,write on directory dump_dir to system;
    [oracle@localhost ~]$ expdp system/oracle directory=dump_dir dumpfile=full_expdp.dmp full=y logfile=expdp.lpg parallel=2
    

    2.2 使用impdp恢复数据库

    删除用户及表空间

    SQL> drop user c##cat cascade;	#删除用户
    SQL> drop tablespace c##cat including contents and datafiles;	#删除表空间
    

    创建数据库(dbca),在创建表空间,无需创建用户

    SQL> create tablespace cat datafile '/u01/app/oracle/oradata/orcl/cat01.dbf' size 10M autoextend off;		#创建一个表空间,关闭自动扩展
    

    配置目录

    SQL> create directory dump_dir as '/u01/app/oracle/dump';
    SQL> grant read,write on directory dump_dir to system;
    

    恢复

    [oracle@localhost ~]$ impdp system/oracle directory=dump_dir dumpfile=full_expdp.dmp full=y logfile=imp2.log
    

    编译无效对象

    SQL> @$ORACLE_HOME/rdbms/admin/utlrp.sql
    

    3. tar/cp

    一般停机检测时,使用这种备份方式
    

    1.1 使用tar备份

    停止监听,关闭数据库

    [oracle@localhost ~]$ lsnrctl stop
    SQL> shutdown immediate;
    

    备份

    [root@localhost ~]$ mkdir /u01/app/backup
    [root@localhost ~]$ cd /u01/app/ backup
    [root@localhost ~]$ tar cvf oraclebak190510.tar /u01/app/oracle
    

    1.2 恢复

    [root@localhost ~]$ rm -rf /u01/app/oracle/*
    [root@localhost ~]$ cd /
    [root@localhost ~]$ tar xvf /u01/app/backup/
    [root@localhost ~]$ su - oracle
    [oracle@localhost ~]$ lsnrctl start
    SQL> startup;
    

    4. rman

    4.1 使用rman备份数据库

    注意:使用rman备份一定要保证数据库处于归档模式

    [root@localhost ~]$ mkdir /u01/app/backup	#新建一个备份目录
    [oracle@localhost ~]$ rman target /		#登录rman
    RMAN> CONFIGURE CONTROLFILE AUTOBACKUP ON;	#把自动备份打开
    RMAN> run{
    	  	allocate channel d1 type disk;		#分配命名一个d1的磁盘通道
    		sql 'alter system archive log current';	#做一次数据归档
    		backup format '/u01/app/backup/catpdbfull_%U' database include current controlfile
    		plus archivelog;	#备份的数据库包含控制文件,包含当前归档日志
    		release channel d1;		#释放磁盘通道
    		 }
    

    4.2 rman恢复

    [root@localhost ~]$ rm -rf /u01/app/oracle/oradata/orcl/*
    SQL> shutdown abort;
    startup pfile='/u01/app/backup/catpdbfull_03u6tot2_1_1 ';	#写一个pfile文件去启动这里的路径写之前备份时参数文件(03)下piece handle后的路径
    [oracle@localhost ~]$ rman target /
    RMAN> restore controlfile from '/u01/app/backup/catpdbfull_05u6tovb_1_1';	#恢复控制文件之前备份时控制文件下piece handle后的路径
    RMAN> alter database mount;
    RMAN> restore database;
    RMAN> recover database;
    SQL> alter database open resetlogs;
    SQL> select * from cat.test;
    
    展开全文
  • 先来介绍一些不使用脚本我们直接使用命令备份还原oracle数据库Oracle数据备份:步骤 1 备份用户数据。1.使用linux系统下的数据库管理员账号连接linux终端。2. 执行以下语句,创建“bak_dir”文件夹。 代码如下: ...
  • Oracle-Oracle数据库备份与恢复

    万次阅读 多人点赞 2019-06-21 22:59:31
    Oracle数据库备份与恢复 下面通过一些简单的例子来了解一下: Oracle数据库各种物理备份的方法。 Oracle数据库各种物理恢复的方法 利用RMAN工具进行数据库的备份与恢复。 数据的导出与导入操作。 (1)关闭...

    Oracle数据库备份与恢复

    下面通过一些简单的例子来了解一下:

    • Oracle数据库各种物理备份的方法。
    • Oracle数据库各种物理恢复的方法
    • 利用RMAN工具进行数据库的备份与恢复。
    • 数据的导出与导入操作。
    • (1)关闭BOOKSALES数据库,进行一次完全冷备份。
    select file_name from dba_data_files;
    

    在这里插入图片描述

    select member from v$logfile;
    

    在这里插入图片描述

    select value from v$parameter where name='control_files';
    

    在这里插入图片描述

    shutdown immediate
    //复制所有的数据文件、联机重做日志文件以及控制文件到备份磁盘
    startup
    
    • (2)启动数据库后,在数据中创建一个名为cold表,并插入数据,以改变数据库的状态。
    create table cold (id number(5,0) primary key);
    Table COLD 已创建。
    insert into cold values(1);
    1行已插入。
    select * from cold;
    

    在这里插入图片描述

    • (3)利用数据库冷备份恢复BOOKSALES数据库到备份时刻的状态,并查看恢复后是否存在cold表。
    //关闭数据库
    shutdown immediate
    //将备份的所有数据文件、控制文件、联机重做日志文件还原到原来所在的位置。
    //重新启动数据库
    startup
    
    • (4)将BOOKSALES数据库设置为归档模式。
    //关闭数据库
    shutdown immediate
    //设置归档目的地
    select name,value from v$parameter where name='db_recovery_file_dest';
    

    在这里插入图片描述

    alter system set log_archive_dest='D:\Oracle\backup\archive';
    alter system set log_archive_duplex='D:\Oracle\backup\archive';
    //将数据库启动到加载状态
    startup mount
    //改变数据库为归档模式
    alter database archivelog;
    //打开数据库
    alter database open;
    
    • (5)对BOOKSALES数据库进行一次热备份。
    select tablespace_name,file_name from dba_data_files order by tablespace_name;
    

    在这里插入图片描述

    alter tablespace users begin backup;
    Tablespace USERS已变更。
    //将表空间中所有的数据文件复制到备份磁盘
    alter tablespace users end backup;
    Tablespace USERS已变更。
    
    • (6) 在数据库中创建一个名为hot表,并插入数据,以改变数据库的状态。
    create table hot (id number primary key, name varchar2(25)) tablespace users;
    Table HOT 已创建。
    insert into hot values(33, 'xushicheng');
    1行已插入。
    
    • (7) 假设保存hot表的数据文件损坏,利用热备份进行数据库恢复。
    shutdown abort
    startup mount
    recover datafile 'D:\Oracle\app\administrators\oradata\BOOKSALES\users002.dbf';
    alter database datafile 'D:\Oracle\app\administrators\oradata\BOOKSALES\users002.dbf' online;
    alter database open;
    
    • (8) 数据库恢复后,验证hot表的状态及其数据情况。
    select * from hot;
    
    • (9) 利用数据库的热备份,分别进行基于时间,基于SCN和基于CANCEL的不完全恢复。
    shutdown abort;
    startup mount;
    recover database until time '2019-6-1';
    
    set time on
    alter system switch logfile;
    System SWITCH已变更。
    alter session set nls_date_format='YYYY-MM-DD HH24:MI:SS';
    Session已变更。
    select recid,stamp,sequence#,first_change#,first_time,next_change# from v$log_history;
    

    在这里插入图片描述
    在这里插入图片描述

    shutdown abort;
    startup mount;
    recover database until change 1344396;
    
    • (10) 为了使用RMAN工具备份与恢复BOOKSALES数据库,配置RMAN的自动通道分配。
    RMAN target sys/admin@BOOKSALES
    

    在这里插入图片描述

    RMAN> configure default device type to sbt;
    
    使用目标数据库控制文件替代恢复目录
    新的 RMAN 配置参数:
    CONFIGURE DEFAULT DEVICE TYPE TO 'SBT_TAPE';
    已成功存储新的 RMAN 配置参数
    
    RMAN> configure device type disk parallelism 2;
    
    新的 RMAN 配置参数:
    CONFIGURE DEVICE TYPE DISK PARALLELISM 2 BACKUP TYPE TO BACKUPSET;
    已成功存储新的 RMAN 配置参数
    
    RMAN> configure device type disk parallelism 3;
    
    旧的 RMAN 配置参数:
    CONFIGURE DEVICE TYPE DISK PARALLELISM 2 BACKUP TYPE TO BACKUPSET;
    新的 RMAN 配置参数:
    CONFIGURE DEVICE TYPE DISK PARALLELISM 3 BACKUP TYPE TO BACKUPSET;
    已成功存储新的 RMAN 配置参数
    RMAN> configure channel 3 device type disk maxpiecesize=50m;
    
    新的 RMAN 配置参数:
    CONFIGURE CHANNEL 3 DEVICE TYPE DISK MAXPIECESIZE 50 M;
    已成功存储新的 RMAN 配置参数
    
    • (11)利用RMAN工具完全备份BOOKSALES数据库。
    shutdown immediate
    alter system set log_archive_dest_1='location=D:\Oracle\backup\ARCHIVE MANDATORY';
    System SET已变更。
    startup mount
    alter database archivelog;
    RMAN> backup database format 'D:\Oracle\backup\%U.BKP';
    
    启动 backup03-6-19
    使用目标数据库控制文件替代恢复目录
    RMAN-00571: ===========================================================
    RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
    RMAN-00571: ===========================================================
    RMAN-03002: backup 命令 (06/03/2019 00:21:49) 失败
    ORA-19554: 配置设备时出错, 设备类型: SBT_TAPE, 设备名称:
    ORA-27211: 未能加载介质管理库
    (12) 利用RMAN工具备份BOOKSALES数据库的初始化参数文件和控制文件。
    RMAN> backup spfile format 'D:\Oracle\app\administrators\oradata\BOOKSALES\%U';
    
    启动 backup03-6-19
    RMAN-00571: ===========================================================
    RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
    RMAN-00571: ===========================================================
    RMAN-03002: backup 命令 (06/03/2019 00:23:19) 失败
    ORA-19554: 配置设备时出错, 设备类型: SBT_TAPE, 设备名称:
    ORA-27211: 未能加载介质管理库
    RMAN> backup current controlfile format 'D:\Oracle\app\administrators\oradata\BOOKSALES\%U.CTL';
    
    启动 backup03-6-19
    RMAN-00571: ===========================================================
    RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
    RMAN-00571: ===========================================================
    RMAN-03002: backup 命令 (06/03/2019 00:24:58) 失败
    ORA-19554: 配置设备时出错, 设备类型: SBT_TAPE, 设备名称:
    ORA-27211: 未能加载介质管理库
    
    • (13)利用RMAN工具对USERS表空间、BOOKTBS1表空间进行备份。
    RMAN> backup tablespace users,booktbs1 format 'D:\Oracle\app\administrators\oradata\BOOKSALES\%U.BKP';
    
    启动 backup03-6-19
    RMAN-00571: ===========================================================
    RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
    RMAN-00571: ===========================================================
    RMAN-03002: backup 命令 (06/03/2019 00:26:39) 失败
    ORA-19554: 配置设备时出错, 设备类型: SBT_TAPE, 设备名称:
    ORA-27211: 未能加载介质管理库
    
    • (14) 利用RMAN工具备份BOOKSALES数据库的数据文件users01.dbf、users02.dbf进行备份。
    RMAN> backup datafile 'D:\Oracle\app\administrators\oradata\BOOKSALES\users01.dbf' format 'D:\Oracle\app\administrators\oradata\BOOKSALES\%u';
    
    启动 backup03-6-19
    RMAN-00571: ===========================================================
    RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
    RMAN-00571: ===========================================================
    RMAN-03002: backup 命令 (06/03/2019 00:29:14) 失败
    ORA-19554: 配置设备时出错, 设备类型: SBT_TAPE, 设备名称:
    ORA-27211: 未能加载介质管理库
    RMAN> backup datafile 'D:\Oracle\app\administrators\oradata\BOOKSALES\users02.dbf' format 'D:\Oracle\app\administrators\oradata\BOOKSALES\%u';
    
    启动 backup03-6-19
    RMAN-00571: ===========================================================
    RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
    RMAN-00571: ===========================================================
    RMAN-03002: backup 命令 (06/03/2019 00:30:49) 失败
    ORA-19554: 配置设备时出错, 设备类型: SBT_TAPE, 设备名称:
    ORA-27211: 未能加载介质管理库
    
    • (15) 利用RMAN工具备份BOOKSALES数据库的控制文件。
    RMAN> backup current controlfile format 'D:\Oracle\app\administrators\oradata\BOOKSALES\%U.ctl';
    
    启动 backup03-6-19
    RMAN-00571: ===========================================================
    RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
    RMAN-00571: ===========================================================
    RMAN-03002: backup 命令 (06/03/2019 00:31:50) 失败
    ORA-19554: 配置设备时出错, 设备类型: SBT_TAPE, 设备名称:
    ORA-27211: 未能加载介质管理库
    (16) 利用RMAN工具备份BOOKSALES数据库的归档文件。
    RMAN> backup archivelog all;
    
    启动 backup03-6-19
    当前日志已存档
    RMAN-00571: ===========================================================
    RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
    RMAN-00571: ===========================================================
    RMAN-03002: backup 命令 (06/03/2019 00:32:37) 失败
    ORA-19554: 配置设备时出错, 设备类型: SBT_TAPE, 设备名称:
    ORA-27211: 未能加载介质管理库
    
    RMAN> backup database plus archivelog format 'D:\Oracle\app\administrators\oradata\BOOKSALES\%u';
    
    
    启动 backup03-6-19
    当前日志已存档
    RMAN-00571: ===========================================================
    RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
    RMAN-00571: ===========================================================
    RMAN-03002: backup plus archivelog 命令 (06/03/2019 00:33:14) 失败
    ORA-19554: 配置设备时出错, 设备类型: SBT_TAPE, 设备名称:
    ORA-27211: 未能加载介质管理库
    
    • (17) 利用RMAN工具备份BOOKSALES数据库形成的备份集,恢复数据库。
     RMAN> shutdown immediate;
    
    数据库已关闭
    数据库已卸装
    Oracle 实例已关闭
    
    RMAN> startup mount;
    
    已连接到目标数据库 (未启动)
    Oracle 实例已启动
    数据库已装载
    
    系统全局区域总计    3373858816 字节
    
    Fixed Size                     2180424 字节
    Variable Size               1845496504 字节
    Database Buffers            1509949440 字节
    Redo Buffers                  16232448 字节
    
    RMAN> restore database;
    
    启动 restore03-6-19
    分配的通道: ORA_DISK_1
    通道 ORA_DISK_1: SID=191 设备类型=DISK
    分配的通道: ORA_DISK_2
    通道 ORA_DISK_2: SID=129 设备类型=DISK
    分配的通道: ORA_DISK_3
    通道 ORA_DISK_3: SID=192 设备类型=DISK
    
    RMAN-00571: ===========================================================
    RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
    RMAN-00571: ===========================================================
    RMAN-03002: restore 命令 (06/03/2019 00:34:44) 失败
    RMAN-06026: 有些目标没有找到 - 终止还原
    RMAN-06023: 没有找到数据文件4的副本来还原
    RMAN-06023: 没有找到数据文件3的副本来还原
    RMAN-06023: 没有找到数据文件2的副本来还原
    RMAN-06023: 没有找到数据文件1的副本来还原
    RMAN> recover database;
    
    启动 recover 于 03-6-19
    使用通道 ORA_DISK_1
    使用通道 ORA_DISK_2
    使用通道 ORA_DISK_3
    RMAN-00571: ===========================================================
    RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
    RMAN-00571: ===========================================================
    RMAN-03002: recover 命令 (06/03/2019 00:35:37) 失败
    RMAN-06094: 数据文件4必须重新存储
    
    RMAN> alter database open;
    
    数据库已打开
    
    RMAN> alter database open resetlogs;
    
    RMAN-00571: ===========================================================
    RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
    RMAN-00571: ===========================================================
    RMAN-03002: alter db 命令 (06/03/2019 00:36:19) 失败
    ORA-01531: 实例已打开数据库
    
    
    • (18) 利用EXPDP工具导出BOOKSALES数据库的整个数据库。
    create or replace directory dumpdir as 'D:\Oracle\backup';
    Directory DUMPDIR 已创建。
    grant read,write on directory dumpdir to system;
    Grant 成功。
    grant exp_full_database, imp_full_database to system;
    Grant 成功。
    expdp system/admin directory=dum_dir dumpfile=expfull.dmp full=yes nologfile=yes;
    
    • (19)利用EXPDP工具导出EXPDP数据库的USERS表空间。
    C:\Users\徐仕成>expdp system/admin directory=dum_dir dumpfile=expfull.dmp full=yes nologfile=yes;
    
    Export: Release 11.2.0.1.0 - Production on 星期一 63 00:49:22 2019
    
    Copyright (c) 1982, 2009, Oracle and/or its affiliates.  All rights reserved.
    
    连接到: Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
    With the Partitioning, OLAP, Data Mining and Real Application Testing options
    ORA-39001: 参数值无效
    ORA-39000: 转储文件说明错误
    ORA-39087: 目录名 DUM_DIR 无效
    
    • (20)利用EXPDP工具导出BOOKSALES数据库publisher表和books表。
    C:\Users\徐仕成>expdp system/admin directory=dump_dir dumpfile=publishers_books.dmp logfile=publishers_books.log tables=scott.emp, scott.dept parallel=3
    
    Export: Release 11.2.0.1.0 - Production on 星期一 63 00:50:14 2019
    
    Copyright (c) 1982, 2009, Oracle and/or its affiliates.  All rights reserved.
    
    连接到: Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
    With the Partitioning, OLAP, Data Mining and Real Application Testing options
    ORA-39002: 操作无效
    ORA-39070: 无法打开日志文件。
    ORA-39087: 目录名 DUMP_DIR 无效
    
    • (21)利用EXPDP工具导出BOOKSALES数据库中bs模式下的所有数据库对象及数据。
    C:\Users\徐仕成>expdp bs/bs directory=dump_dir dumpfile=exfull.dmp full=yes nologfile=yes
    
    Export: Release 11.2.0.1.0 - Production on 星期一 63 00:51:05 2019
    
    Copyright (c) 1982, 2009, Oracle and/or its affiliates.  All rights reserved.
    
    连接到: Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
    With the Partitioning, OLAP, Data Mining and Real Application Testing options
    ORA-39006: 内部错误
    ORA-39068: 在 PROCESS_ORDER=-3 的行中主表数据无效
    ORA-01658: 无法为表空间 USERS 中的段创建 INITIAL 区
    
    ORA-39097: 数据泵作业出现意外的错误 -1658
    
    • (22)删除BOOKSALES数据库中的orderitem表和order表,使用转储文件,利用IMPDP工具进行恢复。
    drop table orderitem;
    drop table order;
    C:\Users\徐仕成>impdp scott/admin directory=dpump_dir dumpfile=emp_deptdmp tables=detp,emp nologfile=yes
    
    Import: Release 11.2.0.1.0 - Production on 星期一 63 00:54:29 2019
    
    Copyright (c) 1982, 2009, Oracle and/or its affiliates.  All rights reserved.
    
    UDI-28000: 操作产生了 ORACLE 错误 28000
    ORA-28000: the account is locked
    
    用户名: sys as sysdba
    口令:
    
    连接到: Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
    With the Partitioning, OLAP, Data Mining and Real Application Testing options
    ORA-39001: 参数值无效
    ORA-39000: 转储文件说明错误
    ORA-39087: 目录名 DPUMP_DIR 无效
    
    • (23)删除BOOKSALES数据库中的USERS表空间,使用转储文件,利用IMPDP工具进行恢复。
    drop users;
    C:\Users\徐仕成>impdp scott/admin directory=dpump_dir dumpfile=emp_deptdmp tables=detp,emp nologfile=yes
    
    Import: Release 11.2.0.1.0 - Production on 星期一 63 00:56:42 2019
    
    Copyright (c) 1982, 2009, Oracle and/or its affiliates.  All rights reserved.
    
    UDI-28000: 操作产生了 ORACLE 错误 28000
    ORA-28000: the account is locked
    
    用户名: sys as sysdba
    口令:
    
    连接到: Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
    With the Partitioning, OLAP, Data Mining and Real Application Testing options
    ORA-39001: 参数值无效
    ORA-39000: 转储文件说明错误
    ORA-39087: 目录名 DPUMP_DIR 无效
    

    上面有很多操作其实都失败了,具体原因我也不清楚,也一直没有解决,但是相关的命令应该都是正确的。

    创作不易,喜欢的话加个关注点个赞,蟹蟹蟹蟹

    展开全文
  • 使用vs2010开发,目前完成了oracle备份还原代码编写,此功能通用。 此代码为类库,可直接添加引用。 另外此代码中含数据导出为excel功能。
  • 简单直接,通俗易懂的Oracle数据库备份和恢复。对于Oracle数据库不了解的同志,可以查阅。
  • 如何备份还原oracle数据库
  • oracle数据库备份还原导入导出操作(本地及远程操作)
  • Oracle数据库备份还原命令

    万次阅读 2019-06-26 12:04:05
    Oracle数据库备份还原命令 数据导出: 1 将数据库orcl完全导出,用户名system 密码manager 导出到D:\daochu.dmp中 exp system/manager@orcl file=d:\daochu.dmp full=y 2 将数据库中system用户与sys用户的表...
  • oracle备份还原工具 全

    2013-12-27 16:39:33
    目录:E:\DataBackup\secmsBackup\secms数据库备份2013-04-28.rar,解释: 前面目录已经解释过,下面解释下文件“secms数据库备份2013-04-28.rar” 怎么生成的,主要保证你的操作系统在DOS操作界面的中 输入 rar...
  • Oracle数据库备份还原

    2020-01-16 15:27:48
    Oracle数据库备份还原 创建Oracle备份用户 create user backuser identified by pwdbackuser; 默认创建完成之后系统会给用户分配一个表空间; 查看用户表空间: select username,default_tablespace from dba_...
  • inux下oracle11g 数据库备份异机还原,适用于可以停机备份数据库,方便数据库文件过大还原,本人测试的数据库文件有一百多G
  • NULL 博文链接:https://mengshuangcom.iteye.com/blog/845251
  • 最全的Oracle数据库备份还原命令

    万次阅读 2017-12-11 22:09:07
    【数据导出】 1. 导出orcl中所有的表空间 ...2. 导出system数据库中指定的表空间 exp system/manager@orcl file=d:\daochu.dmp owner=(system,sys) 3. 导出数据库中制定的表数据 exp system/manage
  • Oracle数据库备份、恢复与迁移,详细步骤及代码解释。
  • oracle数据库定时备份还原方法

    万次阅读 多人点赞 2018-09-11 18:45:33
    一、oracle数据备份 1、找到电脑右下方开始--运行,输入cmd,进入dos命令窗口。 2、输入sqlplus system/密码@orcl (一般管理员登录)--------连接本机oracle数据库 输入 sqlplus system/密码@IP:端口/orcl ...
  • 如何通过JAVA使得ORACLE数据库信息备份还原,起到一个思路的作用,只是列举了简单的例子
  • 这个功能是在DOS窗口实现的,可并非是在Oracle数据库中执行的 先说本地的导出与导入: 备份(也叫导出): exp用户名/密码@本地服务名 file = 目标地址 (注:导出的文件是在硬盘上生成后缀名为dmp的文件) 还原...
  • 介绍  本实例均为linux系统下操作,采用exp与imp方式导出和导入。其中还包含linux服务器间sftp传输。
  • oracle备份数据库 oracle还原数据库 oracle备份还原数据库
  • ip导出方式:exp demo/demo@127.0.0.1:1521/orcl file=f:\f.dmp full=y备份:exp demo/demo@orcl file=f:\f.dmp full=y还原:imp demo/demo@orcl file=f:\f.dmp full=y ignore=y 转载于:...
  • oracle数据库备份还原:详细讲述了方法,适合新手~(傻瓜式方法)
  • 教程名称:Oracle 数据库赵强视频教程【3天】教程目录:【】Oracle安装与管理、SQL语句(赵强)【】Orcale存储过程jdbc与Orcale大文本操作等(赵强)【】SQL简单查询触发器视图(赵强)  资源太大,传百度网盘了,链接在...
  • 一、oracle数据备份:exp 关键字 说明(默认值) 关键字 说明(默认值) -------------------------------------------------------------------------------------- USERID 用户名/口令 FUL...
  • PL/SQL Developer是一个集成开发环境,专门面向Oracle数据库存储程序单元的开发。如今,有越来越多的商业逻辑和应用逻辑转向了Oracle Server,因此,PL/SQL编程也成了整个开发过程的一个重要组成部分。PL/SQL ...
  • Oracle数据库备份与恢复 在Oracle数据库的使用过程中,备份与恢复是经常遇到的操作。Oracle中的备份分为两大类:逻辑备份和物理备份。其中物理备份又分为两类:冷备份和热备份。本节将简要讲述如何利用各种备份...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 21,934
精华内容 8,773
关键字:

oracle数据库备份还原