局域网怎么备份oracle数据库,oracle数据库备份教程详解

一 .  数据的导入与导出

1. 数据的导出 : 输入exp 指令  ,没有数据的表不导出 。

2. 数据的导入 :进入到备份文件所在路径 ,输入imp 指令 。

实际工作中 不使用这种方式 导出 。

二.  数据库的冷备份:常用的

说明 :冷备份,称为归档备份,指的是数据库要关闭服务, 备份如下文件:

控制文件:控制着oracle 的实例信息 “v$controlfile” 数据字典文件

重做日志文件 :“v$logfile”

数据文件:"v$datafile"

核心配置文件 (pfile) :""

1. 使用 sys登陆

2. select * from v$controlfile ;

select * from v$logfile

select * from v$datafile

show parameter pfile

3,  记录好这些文件的路径

4. 关闭 Oracle 服务。

shutdown immediate

5 拷贝所有备份文件

6  重新启动服务

startup

这种备份是允许关闭计算机服务。

参考:https://blog.csdn.net/hunhun1122/article/details/78093015

——————————————————————————————————————————————————————————————————————————————

Oracle数据导入导出imp/exp

Oracle数据导入导出imp/exp

在cmd的dos命令提示符下执行,而不是在sqlplus里面,但是格式一定要类似于:

imp/exp 用户名/密码@service_name或oracle_sid full=y  file=C:\导出文件名称.dmp ignore=y

imp 命令是在dos提示符下执行的,直接cmd后执行而不是在sql下执行的

数据导出:

1 将数据库完全导出,用户名wlj ,密码wlj 导出到D:exportoracle.dmp中

exp wlj/wlj@IP地址/orcl file=d:exportoracle.dmp full=y

exp wlj/wlj@ip地址/orcl file=d:exportoracle.dmp full=y

exp wlj/wlj@ip地址/orcl tables=表名 file=d:exportoracle.dmp full=y

--expdp导出数据

expdp CCENSE/CCENSE@OracleDB directory = "dpdata1" dumpfile ="oracleExpdp.dmp" logfile = oracleExpdp20161103.log

注意:

如果出现:

EXP-00056: 遇到 ORACLE 错误 12154

ORA-12154: TNS: 无法解析指定的连接标识符

EXP-00000: 导出终止失败

这个很明显是连接不上你的数据库,你可以查看一下你的net manager里面的服务名有没配置好

解决方法:1、不再服务端的话,在其它机器可能通过service_name或oracle_sid来访问数据库,注意service_name必须写正确,需要查看oracle net  manager 中的数据库的tns配置实例名称(上面@后面的 orcl)是否与需要连接的一样,cmd中使用 tnsping orcl 可以ping同的话,就说明没有问题。

2、在服务端的话,在服务器本地导出文件时要用服务器本地的连接名,也就是说要查看服务器的tnsnames.ora文件中的服务名称,有的话就是使用相应的名称,若没有,则使用空,什么也不填写,如图2,大致目录D:\Softs\Oracle\product\11.2.0\dbhome_1\NETWORK\ADMIN下面tnsnames.ora 如图1

122018gvibte02voiu3vi7.png

图1

122018pmw1bbn8hccwecc8.png

图2

2 将数据库中system用户与sys用户的表导出

exp wlj/wlj@orc file=d:exportoracle.dmp owner=(system,sys)

3 将数据库中的表inner_notify、notify_staff_relat导出

exp wlj/wlj@orcl file= d:exportoracle.dmp tables=(inner_notify,notify_staff_relat)

4 将数据库中的表table1中的字段filed1以"00"打头的数据导出

exp  wlj/wlj@orcl  file=d:exportoracle.dmp tables=(table1) query=" where filed1 like '00%'"

上面是常用的导出,对于压缩,既用winzip把dmp文件可以很好的压缩。

也可以在上面命令后面 加上 compress=y 来实现。

数据的导入1 将d:exportoracle.dmp 中的数据导入 TEST数据库中。

imp wlj/wlj@orcl file=d:exportoracle.dmp

imp  wlj/wlj@orcl full=y  file=d:exportoracle.dmp ignore=y

--impdp导入数据

impdp CCENSE/CCENSE@OracleDB directory="dpdata1" dumpfile="oracleExpdp.dmp" logfile = oracleImpdp20161103.log FULL=y;

如果出现问题,可能是因为有的表已经存在,然后它就报错,对该表就不进行导入。

在后面加上 ignore=y 就可以了。

2 将d:exportoracle.dmp中的表table1 导入

imp  wlj/wlj@orcl   file=d:exportoracle.dmp  tables=(table1)

注意:基本上上面的导入导出够用了。不少情况要先是将表彻底删除,然后导入。

注意:1、操作者要有足够的权限,权限不够它会提示。

2、数据库是可以连上的。可以用tnsping orcl 来获得数据库orcl能否连上。

当然,上面的方法在导出数据时可能会导出很大的包,那是因为你的用户可能在授权的时候授予了DBA的权限,所以可以采用下面方法来进行数据库备份:

数据库备份

建议系统过渡后,每周进行一次备份。或者在数据表发生重大改变前,对要改变的数据表进行备份。

执行以下步骤,进行备份。

在命令行里,敲入“cmd”,回车,进入命令行窗口。

在窗口中,输入:

exp mas/123456@mas

系统提示:输入数组提取缓冲区大小: 4096 >

可以直接回车;

www.2cto.com

系统提示:导出文件: EXPDAT.DMP>

此处输入导出文件的位置,其路径必须存在,Oracle在这里不会自动建立路径,但可以建立文件名。备份文件以dmp作为后缀。

输入内容如:e:\work\mas_db_090925v1.dmp 回车

系统提示: (1)E(完整的数据库),(2)U(用户) 或 (3)T(表): (2)U > u

此处可以输入u,也可以直接回车,因为系统此时默认的是U

系统提示:导出权限(yes/no):yes>回车

系统提示:导出表数据(yes/no):yes>回车

系统提示:压缩区(yes/no):yes>回车

系统提示:要导出的用户: (RETURN 以退出) > mas

系统提示:要导出的用户: (RETURN 以退出) > 回车

此时系统会自动进行备份.

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值