Oracle数据库手动恢复备忘日志

最近因为升级了Mac os x 10.10 Yosemite,突然前几天的一个晚上,开机发现就停留在开机界面了,看来BETA果然是不靠谱,然后想到自己这不前几天刚备份完吗,没事,TimeMachine是何等神器,二话不说直接恢复。但是恢复完,我后悔了,一来是忘了昨天晚上还加班呢,加班的成功保留成果所剩无几,关键我这才发现TimeMachine既然不备份虚拟机文件(虚拟机文件30G,估计直接给略过了吧),难怪每次都觉得备份那么快。

不过后悔也没用,重新搭开发环境吧。操作系统WIN7->开发工具VS2012->数据库ORACLE。然后又到那无聊的数据库备份恢复的时间呢。由于我对oracle的数据库了解并不深,所以我并没有办法和牛B的DBA不看教程就能够全部手写数据库执行脚本,但是为了不让每一次都重新又回头找一次教程,这里深刻地做一次记录,下次备忘。

这里,数据库主要恢复导出的dmp文件,具体涉及的一些相关指令如下


数据的导入
 1 将D:\daochu.dmp 中的数据导入 TEST数据库中。
   imp system/[email protected]  file=d:\daochu.dmp full=y
   imp system/[email protected]  file=d:\daochu.dmp full=y ignore=y
   上面可能有点问题,因为有的表已经存在,然后它就报错,对该表就不进行导入。在后面加上 ignore=y 就可以了。
 2 将d:\daochu.dmp中的表table1 导入
   imp system/[email protected]  file=d:\daochu.dmp  tables=(table1) 

3、从A用户导入B用户的表空间
   imp system/[email protected]  file=d:\daochu.dmp fromuser=jandardb touser=jandardb

数据导出:
 1 将数据库TEST完全导出,用户名system 密码manager 导出到D:\daochu.dmp中
   exp system/[email protected] file=d:\daochu.dmp full=y
 2 将数据库中system用户与sys用户的表导出
   exp system/[email protected] file=d:\daochu.dmp owner=(system,sys)
 3 将数据库中的表inner_notify、notify_staff_relat导出
    exp aichannel/[email protected] file= d:\data\newsmgnt.dmp tables=(inner_notify,notify_staff_relat)
 4 将数据库中的表table1中的字段filed1以"00"打头的数据导出
   exp system/[email protected] file=d:\daochu.dmp tables=(table1) query=\" where filed1 like ‘00%‘\"

具体过程一般如下:

  1. 建立对应的表空间。
  2. 建立对应的数据库用户,分配权限,表空间等。
  3. 使用导入指令导入数据。

然后对应的执行过程操作步骤详解(以下所有操作都在SQLPLUS上操作)

建立表空间

表空间含义(Table Space){copy from 百度百科}:

ORACLE数据库被划分成称作为表空间的逻辑区域——形成ORACLE数据库的逻辑结构。一个ORACLE数据库能够有一个或多个表空间,而一个表空间则对应着一个或多个物理的数据库文件。表空间是ORACLE数据库恢复的最小单位,容纳着许多数据库实体,如表、视图、索引、聚簇、回退段和临时段等。

狭义的理解就是,数据库中可以有多个表空间,数据库的每一张表都属于某一个表空间,表空间是Oracle用来管理数据库的一种逻辑概念。


/*第1步:创建临时表空间  */
create temporary tablespace 临时表空间名
tempfile ‘存储地址\临时表空间存储文件名.DBF‘
size 50m
autoextend on
next 50m maxsize 20480m
extent management local;  

/*第2步:创建数据表空间  */
create tablespace 表空间名
logging
datafile ‘存储地址\表空间存储文件名.DBF‘
size 50m
autoextend on
next 50m maxsize 20480m
extent management local;

临时表空间

由于Oracle工作时经常需要一些临时的磁盘空间,这些空间主要用作查询时带有排序(Group by,Order by等)等算法所用,当用完后就立即释放,对记录在磁盘区的信息不再使用,因此叫临时表空间。

建立数据库用户


/*建立用户*/
create user 用户名 identified by 密码
default tablespace 表空间
temporary tablespace 临时表空间;  

/*分配权限,connect,resource,dba是角色名*/
grant connect,resource,dba to 用户名;

数据库的预定数据库角色简单说明:

角色名 简单说明
connect 具备最基本的数据库连接权限
resource 具备能够创建表和触发器等一般管理权限
dba 除了不具备关闭和重启数据库权限,具备大多数的系统管理权限,但是不具备像SYSDBA,SYSOPER的特权

导入dmp备份数据

imp 用户名/密码@连接名称  file=路径/文件名.dmp full=y

Oracle数据库手动恢复备忘日志,布布扣,bubuko.com

时间: 2024-08-25 09:40:03

Oracle数据库手动恢复备忘日志的相关文章

Oracle数据库备份恢复高级培训视频课程(案例、实战、深入、全面)

套餐介绍: 介绍:风哥Oracle数据库备份恢复培训(案例.实战.深入.全面),DBA初级到骨灰级的脱变. 内容:风哥Oracle数据库备份恢复及存储容灾基础,控制文件与参数文件详解,存储结构深入分析,Oracle底层技术,数据块解析,BBED深入解析,重做日志Redo深入解析,Undo回滚段深入解析,用户管理模式的备份恢复,RMAN备份恢复,Flashback闪回恢复管理,LogMiner日志挖掘技术,SQL_Loader,Oracle逻辑备份恢复迁移之exp/imp和expdp/impdp.

Oracle数据库备份恢复基础讲解_超越OCP精通Oracle视频教程培训12

Oracle视频教程目标 Oracle视频教程,风哥本套oracle教程培训学习Oracle数据库备份恢复概念及基础,包括:Oracle常见的故障类型.Oracle备份的重要性及备份策略.Oracle如何制定合适的备份策略保证高效备份.Oracle备份分类.MTTR,MTBR,MTTF.Oracle物理备份与逻辑备份.Oracle备份恢复的工具及Oracle还原与恢复介绍. 适用人群 IT相关从业人员.Oracle数据库技术人员.想加工资的.想升职的都可以. 视频在线学习地址: http://e

oracle 数据库备份恢复

问题: 1.逻辑备份是否包含表结构 答案包含表结构 2.Rman是逻辑备份还是物理备份,属于也备份吗 答案物理备,属于热备份 3.热备份的方式是什么 答案:SQL下的命令备份或是Rman备份 4.热备份能备份哪些文件 5.联机重做文件有什么作用 答案:在Oracle数据库中,执行数据修改操作后,并不是马上写入数据文件,而是首先生成重做信息,并写入SGA中的一块叫LOG_BUFFER的固定区域,LOG_BUFFER有一定的触发条件,当满足触发条件后,会有相应进程将LOG_BUFFER中的内容写入数

Oracle数据库备份恢复,巡检需要关注的对象设置以及相关恢复概述

数据库备份恢复,巡检需要关注的对象设置: 1.数据库名称,以及DBID:  --dbid在v$database中 [email protected]>select dbid,name from v$database; DBID NAME ---------- --------- 1385095721 ORCL 2.控制文件的位置: show parameter control_files; select name from v$controlfile; 3.日志文件的位置以及数据库的归档设置:

linux/windows系统oracle数据库简单冷备同步

我们有一个财务系统比较看重财务数据的安全性,同时我们拥有两套系统,一个生产环境(linux),一个应急备份环境(windows).备份环境对生产环境实行实时备份同步,备份方式也有两种:热备冷备.oracle热备一般用oracle DG服务即可,但oracle DG服务是要另行收费的,这对于客户来说也是一笔不小的开支.于是我们采用oracle冷备的方式,基本流程是:数据库定时通过expdp方式导出,然后通过ftp传到应急备份环境,应急备份环境然后执行impdp导入,这样既可完成冷备. 一.linu

ABP框架EF6链接Oracle数据库手动迁移

环境:VS2017 + ABP官方模板(不含Zero) +Oracle 11Gx64DB  + Oracle 11Gx32Client(PLSQL工具访问) 一.Abp项目的下载以及运行 1.创建abp项目.进入官网 https://aspnetboilerplate.com/下载项目模板.abp项目有两种架构,一种是单页面(angularjs),另一种是mvc的.点击创建按钮.入下图: 2.对下载的源码首先进行编译,让其自动下载Nuget项目依赖包,保证源码可以编译通过. 3.在WinRun2

Oracle诡异结果调查备忘 - A investigation memo of weird Oracle database search results

最近需要维护一个差不多十多年前开发的ASP.Net程序,遇到了各种奇奇怪怪的问题,把其中比较难查明的问题记录如下: 问题一: 同样的SQL查询在不同服务器上查询结果不同.在QA环境下,结果完全正常,而在本地,部分字段值为DBNull. 这是一个很诡异的问题,当时唯一发现的规律是,出现DBNull值的字段为Clob类型.ASP.Net连接数据库的方式为OleDb,链接字符串中“Provider=OraOLEDB.Oracle.1”. 首先换为OracleClient,查询结果正常,问题似乎出在Ol

AIX系统崩溃后oracle数据库的恢复方法

首先要确保数据库实例的完整性,包括控制文件,日志文件,表空间(系统表空间.用户表空间等). 新建同名数据库实例(表空间.用户等不需要). Sql>shutdown immediate关闭数据库 然后COPY原有文件到新实例文件夹中,也可以将新实例文件夹改名,然后将原有实例文件夹放入同目录下 Sql>startup mount加载原有实例,可能出现控制文件不要可写等相关错误,这时可设置文件权限为可读可写可执行(3个均需设置),加载成功后 Sql>select * from v$tables

oracle数据库误删恢复方法

一.如果只是误删部分数据或者某条数据可以通过 1.select * from 误删除的表明 as of timestamp to_Date('恢复年月日  时分秒', '恢复时间格式')       where  查询条件; 如:select * from emp as of timestamp to_Date('2014-11-27 16:20:00', 'yyyy-mm-dd hh24:mi:ss')  where ename='scott'           //查询到误删除的数据 2.