`

Oracle数据库备份

 
阅读更多
Oracle数据库备份

a.开启本机Oracle服务

b.修改D:\oracle\product\10.2.0\db_1\NETWORK\ADMIN\tnsnames.ora文件
momo =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = XX.XX.XX.XX)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SERVICE_NAME = orcl)
    )
  )

c. cmd--exp 用户名/密码@momo owner=用户名 file=e:\test.dmp log=e:\test.log





一、
Oracle用户的导出与导入
exp user/pwd@实例名称(远程电脑的话是你本地配置好的链接名称) file=D:\a.dmp


导出:
1、 找到你Oracle安装位置的bin目录下的 emp.exe 如: D:\oracletools\oracle\product\10.2.0\db_1\BIN 
2、双击运行,输入你要导出的用户名和密码(密码不可见)
3、输入你导出文件存放的位置  如:d:\crm.dmp 【一定是bmp文件】

导入: 
 1、 创建用户  如:crm  【如果存在crm用户(里面含有数据等  先删除  drop user crm cascade)】 
 2、 赋权让其拥有导入的权限  grant dba to crm  
 3、 找到你Oracle安装位置的bin目录下的 imp.exe  4、 输入你要导入dmp文件的位置




二、
exp system/oracle@charge TABLE=scott.dept,scott.emp FILE=tab1.dmp
用system用户(密码是oracle)
登录charge库
将scott.dept跟scott.emp这2个表导出到tab1.dmp

imp scott/oracle@charge FILE=tab2.dmp TABLES=dept,emp
(这边应该是个逗号吧)用scott用户导入tab2.dmp文件中的dept,emp表 

imp system/oracle@charge FILE=tab2.dmp TABLES=dept.emp FROMUSER=scott TOUSER=system 
用scott用户登录,将tab2.dmp中的dept,emp表从scott用户导入到system用户




安装完ORACLE数据库,创建数据库后..

一  、创建空间、用户、授权

1、用户在CMD下以DBA身份登陆:

运行中输入CMD --SQLPLUS /NOLOG
SQL> CONN SYS/MANAGER AS SYSDBA (SYS/MANAGER 是指安装数据库时默认的、如果你修改了默认用户的密码 可以替换,也可以使用CONN /AS SYSDBA )
连接成功。

2、创建表空间
CREATE  BIGFILE TABLESPACE 空间名
DATAFILE '(文件位置)F:\ORACLE\ORADATA\ORCL\TS_SMARTERCU_DATAFILE'
SIZE 5120M AUTOEXTEND ON NEXT 1024M MAXSIZE UNLIMITED
LOGGING EXTENT MANAGEMENT LOCAL SEGMENT SPACE MANAGEMENT AUTO;
1) DATAFILE: 表空间数据文件存放路径
    2) SIZE: 起初设置为200M
    3) UNIFORM: 指定区尺寸为128k,如不指定,区尺寸默认为64k
    4) 空间名称histdb 与 数据文件名称 histdb.dbf 不要求相同,可随意命名。
    5) AUTOEXTEND ON/OFF 表示启动/停止自动扩展表空间
    6) alter database datafile ' D:\oracle\product\10.2.0\oradata\orcl\histdb.dbf ' resize 500m; //手动修改数据文件大小为500M
PS: 删除表空间
DROP TABLESPACE ITTBANK INCLUDING CONTENTS AND DATAFILES;

3、创建用户并指定表空间
CREATE USER SMARTERCU (用户)PROFILE DEFAULT IDENTIFIED BY SMARTERCU(密码) DEFAULT TABLESPACE TS_SMARTERCU(指向的空间名)
TEMPORARY TABLESPACE TEMP ACCOUNT UNLOCK;
PS:删除用户
drop user smartercu(用户名) cascade ; 彻底删除该用户

4.授权CONECT
//DBA: 拥有全部特权,是系统最高权限,只有DBA才可以创建数据库结构。
//RESOURCE:拥有RESOURCE权限的用户只可以创建实体,不可以创建数据库结构。
//CONNECT:拥有CONNECT权限的用户只可以登录ORACLE,不可以创建实体,不可以创建数据库结构。
//对于普通用户:授予CONNECT, RESOURCE权限。
//对于DBA管理用户:授予CONNECT,RESOURCE, DBA权限。
EX:GRANT DBA TO SMARTERCU(授权用户);GRANT CONNECT TO SMARTERCU(授权用户;
ps: 撤权
revoke   权限   from  用户名;

5:查看该数据库中所有的表空间情况
select tablespace_name, file_id, file_name,round(bytes/(1024*1024),0) total_spacefrom dba_data_files
order by tablespace_name;

二 :导入外部的数据库备份文件到该用户以及本地导出备份

a、EXP和IMP是客户端工具程序,它们既可以在客户端使用,也可以在服务端使用。
b、EXPDP和IMPDP是服务端的工具程序,他们只能在ORACLE服务端使用,不能在客户端使用。(推荐  Oracle 10g开始提供了称为数据泵新的工具expdp/impdp,
它为Oracle数据提供高速并行及大数据的迁移。使用expdp/impdp以前需要在数据库中创建一个Directory
create directory dump_test as '/u01/oracle10g';
grant read, write on directory dump_test to piner )
上面这两种是常见的oracle 备份的两种配对方法,不能交叉使用

1、备份数据 (利用数据泵的方式)
DUMPFILE:用于指定转储文件的名称,默认名称为expdat.dmp
DIRECTORY:指定转储文件和日志文件所在的目录  建立目录:CREATE DIRECTORY dump as ‘d:dump’; 查询创建了那些子目录:SELECT * FROM dba_directories;
FULL:指定数据库模式导出,默认为N
HELP:指定是否显示EXPDP命令行选项的帮助信息,默认为N,当设置为Y时,会显示导出选项的帮助信息.
LOGFILE:指定导出日志文件文件的名称,默认名称为export.log
NETWORK_LINK:指定数据库链名,如果要将远程数据库对象导出到本地例程的转储文件中,必须设置该选项.
NOLOGFILE:该选项用于指定禁止生成导出日志文件,默认值为N.
SCHEMAS:该方案用于指定执行方案模式导出,默认为当前用户方案.
VERSION:指定被导出对象的数据库版本,默认值为COMPATIBLE. (如果是高版本到低版本 推荐加版本号。 imp 和exp 好像没有袄。)

1)按用户导
expdp scott/tiger@orcl schemas=scott dumpfile=expdp.dmp DIRECTORY=dpdata1;
2)并行进程parallel
expdp scott/tiger@orcl directory=dpdata1 dumpfile=scott3.dmp parallel=40 job_name=scott3
3)按表名导
expdp scott/tiger@orcl TABLES=emp,dept dumpfile=expdp.dmp DIRECTORY=dpdata1;
4)按查询条件导
expdp scott/tiger@orcl directory=dpdata1 dumpfile=expdp.dmp Tables=emp query='WHERE deptno=20';
5)按表空间导
expdp system/manager DIRECTORY=dpdata1 DUMPFILE=tablespace.dmp TABLESPACES=temp,example;
6)导整个数据库
expdp system/manager DIRECTORY=dpdata1 DUMPFILE=full.dmp FULL=y;

2、还原数据

1)导到指定用户下
impdp scott/tiger DIRECTORY=dpdata1 DUMPFILE=expdp.dmp SCHEMAS=scott;
2)改变表的owner 也就是将scott 用户下的导入到system用户中
impdp system/manager DIRECTORY=dpdata1 DUMPFILE=expdp.dmp TABLES=scott.dept REMAP_SCHEMA=scott:system;
3)导入表空间
impdp system/manager DIRECTORY=dpdata1 DUMPFILE=tablespace.dmp TABLESPACES=example;
4)导入数据库
impdb system/manager DIRECTORY=dump_dir DUMPFILE=full.dmp FULL=y;

3、备份还原数据 (EXP/IMP的)
 exp sa/topsci@jjdb file=   owner=sa
 imp sa/topsci@orcl file =d:\jjdb-5-20121122.DMP log=d:\201211242202.log full=y
 exp:
USERID   用户名/口令
FULL   导出整个文件 (N)
BUFFER   数据缓冲区的大小
OWNER   所有者用户名列表
FILE   输出文件 (EXPDAT.DMP)
TABLES   表名列表
COMPRESS  导入一个范围 (Y)
RECORDLENGTH  IO 记录的长度
GRANTS   导出权限 (Y)
INCTYPE   增量导出类型
INDEXES   导出索引 (Y)
RECORD   跟踪增量导出 (Y)
ROWS   导出数据行 (Y)
PARFILE   参数文件名
CONSTRAINTS  导出限制 (Y)
CONSISTENT  交叉表一致性
LOG   屏幕输出的日志文件
STATISTICS  分析对象 (ESTIMATE)
DIRECT   直接路径 (N)
TRIGGERS  导出触发器 (Y)
FEEDBACK  显示每 x 行 (0) 的进度
FILESIZE  各转储文件的最大尺寸
QUERY   选定导出表子集的子句
imp:
USERID   用户名/口令
FULL   导入整个文件 (N)
BUFFER   数据缓冲区大小
FROMUSER  所有人用户名列表
FILE   输入文件 (EXPDAT.DMP)
TOUSER   用户名列表
SHOW   只列出文件内容 (N)
TABLES   表名列表
IGNORE   忽略创建错误 (N)
RECORDLENGTH  IO 记录的长度
GRANTS   导入权限 (Y)
INCTYPE   增量导入类型
INDEXES   导入索引 (Y)
COMMIT   提交数组插入 (N)
ROWS   导入数据行 (Y)
PARFILE   参数文件名
LOG   屏幕输出的日志文件
CONSTRAINTS  导入限制 (Y)
DESTROY   覆盖表空间数据文件 (N)
INDEXFILE  将表/索引信息写入指定的文件
SKIP_UNUSABLE_INDEXES 跳过不可用索引的维护 (N)
ANALYZE   执行转储文件中的 ANALYZE 语句 (Y)
FEEDBACK  显示每 x 行 (0) 的进度
TOID_NOVALIDATE  跳过指定类型 id 的校验
FILESIZE  各转储文件的最大尺寸
RECALCULATE_STATISTICS 重新计算统计值 (N)

三:配置plsql 连接数据库

 1、手工配置:安装目录:F:\app\Administrator\product\11.2.0\dbhome_1\NETWORK\ADMIN 下面有三个文件
 tnsnames.ora sqlnet.ora listener.ora
 首先修改  tnsnames.ora
 添加连接指向:
ORCL =(注意前面不能有空格袄)
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = localhost(也可以是ip、计算机名))(PORT = 1521(端口默认的)))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = ORCL(数据库SID 一般数据库名))
    )
  )
修改listener.ora
添加监听
LISTENER = (注意前面不能有空格袄)
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = TCP)(HOST = localhost(也可以是ip、计算机名))(PORT = 1521))
    )
  )
启动服务 和监听
一般就连接成功了。
2:利用oracle中的net manager 工具配置

赠送一个好东西 如果误删除一些数据时 可以利用闪回移动表找回某个时间段的数据  只支持delete 
(truncate的数据是不能恢复的,所以以后可要小心袄)
1、开启闪回移动表
alter table 表名 enable row movement;
2:闪回 可以找回某个时间点某个表 delete 删除掉的数据(truncate的是不可以的)
flashback table 表名 to timestamp to_timestamp('2012-11-28 09:00:00','yyyy-MM-dd hh24:mi:ss')
分享到:
评论

相关推荐

    ORACLE数据库备份用bat脚本

    首先,让我们理解"Oracle数据库备份用bat脚本"的概念。批处理脚本是Windows操作系统中的一种命令文件,可以包含一系列的DOS命令,用于自动化执行特定的任务。在Oracle数据库环境中,我们可以利用Oracle的数据泵工具...

    Oracle 数据库备份工具(带源码和控件)

    1. **Oracle数据库备份**:Oracle数据库备份主要包括物理备份和逻辑备份。物理备份包括完整数据库备份、增量备份和差异备份,通过复制数据库的数据文件、控制文件和日志文件来实现。逻辑备份则是通过SQL命令(如`...

    oracle 数据库备份 实例代码

    本篇将详细介绍Oracle数据库备份的基本概念、方法以及一个实例代码。 一、Oracle数据库备份的重要性 Oracle数据库存储着企业的关键业务数据,备份是为了应对系统故障、硬件损坏、人为错误或恶意攻击等情况,确保在...

    Oracle数据库备份恢复工具

    本工具"Oracle数据库备份恢复工具"是基于MFC(Microsoft Foundation Classes)界面开发的,旨在提供一个简单易用的平台,帮助用户轻松完成Oracle数据库的备份与恢复任务。 首先,我们来了解Oracle数据库备份的基本...

    Oracle数据库备份与恢复.pdf

    ### Oracle数据库备份与恢复 #### 一、Oracle数据库概述 Oracle数据库是一款由甲骨文公司开发的关系型数据库管理系统,以其卓越的性能、可扩展性和安全性在全球范围内被广泛应用。Oracle数据库的特点包括: - **...

    oracle数据库备份与恢复技术

    ### Oracle数据库备份与恢复技术详解 #### 一、引言 在现代企业的信息化建设中,Oracle数据库因其卓越的性能和稳定性被广泛应用于金融、电信、电子商务等多个领域。然而,无论多么可靠的系统都无法避免可能出现的...

    oracle数据库备份恢复源码

    "Oracle数据库备份恢复源码" 提供了一个自动化工具,旨在简化这个过程,避免手动执行复杂的命令。 该程序的核心功能是对DMP文件进行自动恢复,DMP(Data Pump Export Dump)文件是Oracle数据库的一种导出格式,包含...

    oracle数据库备份与恢复脚本

    oracle数据库备份与恢复脚本:第1步:创建临时表空间 第2步:创建数据表空间 第3步:创建用户并指定表空间

    oracle数据库备份与恢复操作手册

    Oracle数据库备份与恢复是数据库管理中的关键环节,旨在保护数据免受硬件故障、软件错误或人为失误的影响。本文档详细阐述了如何对PDB系统,一个使用Oracle数据库系统的平台,进行有效的备份和恢复操作。 Oracle...

    如何备份还原oracle数据库

    ### 一、Oracle数据库备份的重要性 在日常维护工作中,由于硬件故障、人为操作失误或系统崩溃等原因,可能会导致数据丢失。因此,定期备份Oracle数据库是确保数据安全性的必要措施之一。备份不仅能够防止数据丢失,...

    windows下oracle数据库备份压缩&删除历史备份.rar

    本资料"windows下oracle数据库备份压缩&删除历史备份.rar"提供了一个详细的过程,用于实现Oracle数据库的定时备份、备份文件的压缩以及自动删除两天前的旧备份。 首先,我们来讨论Oracle数据库的备份方法。在Oracle...

    oracle数据库备份与还原

    ### Oracle数据库备份与还原知识点详解 #### 一、Oracle数据库备份概述 Oracle数据库备份是确保数据安全的关键步骤之一。在日常运维中,合理的备份策略能够有效地保护数据免受硬件故障、软件错误或灾难性事件的...

    ORACLE数据库备份技术的原理及实现

    Oracle数据库备份技术是确保数据安全性、可靠性和高可用性的重要手段。本文主要探讨了Oracle数据库的备份原理,特别是Oracle Standby数据库的实现方式,这是一种高效且适用于实时处理需求的容灾备份策略。 Oracle ...

    oracle数据库备份

    在标签中提到了“控件”,在Oracle数据库备份场景中,控件可能指的是RMAN的控制文件,它是数据库元数据的重要存储地,包含了数据库的结构信息。因此,在备份策略中,控制文件的备份同样至关重要。 “数据库应用”则...

    Oracle数据库备份工具

    "Oracle数据库备份工具"正是为了简化这一过程而设计的,它允许用户根据自身需求定制备份计划,无论是即时备份还是定时备份,都能轻松实现。 在Oracle数据库管理中,备份是非常关键的一环。传统的Oracle备份可能涉及...

    java实现oracle数据库备份

    ### Java实现Oracle数据库备份的关键知识点 #### 一、Oracle数据库备份的重要性 在软件开发和运维过程中,数据库备份是一项至关重要的工作。它确保了在数据丢失、系统崩溃或遭受攻击等意外情况下,能够迅速恢复到...

    基于RMAN的Oracle数据库备份与恢复机制.pdf

    基于RMAN的Oracle数据库备份与恢复机制.pdf 本文档详细介绍了基于RMAN的Oracle数据库备份与恢复机制。Oracle Recovery Manager(RMAN)是Oracle公司提供的一种专门备份工具,能够实现数据库定制备份、自动备份等...

    Oracle数据库备份与恢复实例讲解.pptx

    "Oracle数据库备份与恢复实例讲解" Oracle数据库备份与恢复是数据库管理员的重要任务之一。备份是指将数据库中的数据复制到其他媒体上,以便在数据库故障或数据丢失时能够快速恢复数据库。恢复是指从备份中恢复...

    C#Oracle数据库备份

    Oracle数据库备份通常包括物理备份(如数据文件、控制文件、重做日志文件的拷贝)和逻辑备份(如SQL*Plus的EXPDP或IMPDP命令,导出和导入数据)。在C#中,我们主要关注的是逻辑备份,即通过执行SQL命令来完成数据的...

Global site tag (gtag.js) - Google Analytics