Oracle数据库备份、恢复及常见问题
通常我们都是使用PL/SQL Developer来对Oracle中的数据对象和数据进行管理。如果我们想方便快速还原或者部署Oracle到新机器上,怎么进行数据库的备份、导入恢复呢?
这里我们必须要考虑的:如何创建Oracle表空间、创建Oracle数据库;如何把Oracle对象、表数据导出到sql脚本中。
1、数据库备份
(1)导出数据库对象
Tools-->ExportUser Objects,选择需要导出的数据库对象,包括:表、序列、存储过程、视图、函数等。
(2)导出表数据
Tools-->Export Tables,导出数据到PL/SQL数据库脚本中。
2、新建表空间和Oracle数据库
File-->New-->SQL Window,打开SQL窗口输入:
表空间、用户名都为IGSC。
create tablespace IGSC datafile 'E:\IGSOracle\IGSC.dbf' size 10240M;
--DROP TABLESPACE IGSC INCLUDING CONTENTS AND DATAFILES CASCADE CONSTRAINTS;
create user IGSC identified by IGSC default tablespace IGSC; grant connect,resource to IGSC;
grant dba to IGSC;
--Revoke dba from IGSC;
点击执行sql。此时,数据库表空间、表结构、表数据齐全,可以开始迁移出一个完整的数据库了。
3、导入数据库及对象
Tools-->Import Tables,先导入数据库对象,再导入表数据,此时,你的表数据文件可以分几个文件导入也是不会报错的,因为表结构已经存在。
执行过程中会出现如下界面:
到这,整个oracle数据库的迁移工作已完成。注意:我们导出的Oracle对象和数据库默认还是原来Oracle数据库的表空间和数据库用户名。如果想在新的数据库服务器中指定不同的表空间和数据库用户,则需要替换生成的sql脚本中的表空间和用户名的设置,并且第二步指定合理的表空间和数据库用户。
4、常见问题
(1)就是上面说的注意
我遇到的问题:新环境的数据库中存在IGS表空间,我导出的数据库文件IGSOracle.sql表空间默认也为IGS,结果在导入数据库对象到新表空间IGSC时,没有导入成功,却导入到了已存在的IGS表空间中。查看IGSOracle.sql:
发现导出的Oracle对象和数据库默认还是原来Oracle数据库的表空间和数据库用户名,我们要将表空间和用户名都改为IGSC,重新导入。
(2)ORACLE initialization or shutdown in progress
想删除不想要了的数据库和dbf文件,停掉服务后删除,重启服务启动数据库实例时报错。
解决:
开始-->输入,sqlplus /nolog
SQL> connect system/hope;
解决:因为表数据比较大,我这里将步骤二中的size改为了10240M。
(4)PL/SQL导入表数据报错Error reading file
如果此文对您有帮助,微信打赏我一下吧~
当表数据文件很大时,选择Use Command Window方式导入报错。对大量数据的导入选择Use SQL*Plus,前者不能读取大文件,后者可以。
Oracle数据库备份、恢复及常见问题的更多相关文章
- Oracle数据库备份恢复,巡检须要关注的对象设置以及相关恢复概述
数据库备份恢复.巡检须要关注的对象设置: 1.数据库名称,以及DBID: --dbid在v$database中 SYS@ORCL>select dbid,name from v$dat ...
- Oracle数据库备份、灾备的23个常见问题
为了最大限度保障数据的安全性,同时能在不可预计灾难的情况下保证数据的快速恢复,需要根据数据的类型和重要程度制定相应的备份和恢复方案.在这个过程中,DBA的职责就是要保证数据库(其它数据由其它岗位负责) ...
- Oracle数据库备份及还原
Oracle数据库备份 1:找到Oracle安装路径我的就是默认C盘 C:\app\wdjqc\admin\orcl\adump 2:执行文件:back.bat 文件内容如下: @echo off ...
- Oracle数据库备份/导出(exp/expd)、导入(imp/impd)
常用的oracle数据库备份(导入/导出)有两种,分别是exp/imp和expd/impd,前者是Orace早期版本带有的导入导出工具,后者是Oracle10g后出现的,下面进行分别介绍! 1.e ...
- Oracle数据库备份还原笔记
Oracle数据库备份还原笔记 通过查阅资料知道Oracle备份还原的方式有三种.分别的是导出/导入.热备份和冷备份.导出/导入是一种逻辑备份.而热备份和冷备份是物理备份.[参考资料(https:// ...
- Xtrabackup原理及使用innobackupex进行MySQL数据库备份恢复
Xtrabackup是由percona提供的mysql数据库备份工具,据官方介绍,这也是世界上惟一一款开源的能够对innodb和xtradb数据库进行热备的工具. Xtrabackup中主要包含两个工 ...
- Java实现Oracle数据库备份
今天将很早就实现的一个Oracle数据库备份功能粘贴出来,这个功能是在大学做阶段设计时写的: import java.io.File; import java.io.IOException; /** ...
- postgres 数据库备份恢复
postgre 数据库备份恢复命令 备份:pg_dump -U postgres -v -F c -Z 4 -f ***.backup dbname 9压缩率最狠恢复:pg_restore -U p ...
- MySQL用户管理、常用sql语句、MySQL数据库备份恢复
1.MySQL用户管理 给远程登陆用户授权:grant all on *.* to 'user1'@'127.0.0.1' identified by '123456' (这里的127.0.0.1是指 ...
- mysql 从陌生到熟练之----数据库备份恢复的实现方法
mysql 从陌生到熟练之----数据库备份恢复的实现方法 MySQL数据库使用命令行备份|MySQL数据库备份命令 例如: 数据库地址:127.0.0.1 数据库用户名:root 数据库密码:roo ...
随机推荐
- JavaMail和James的秘密花园
JavaMail,顾名思义,提供给开发者处理电子邮件相关的编程接口.它是Sun发布的用来处理email的API.它可以方便地执行一些常用的邮件传输.我们可以基于JavaMail开发出类似于Micros ...
- centos6字符
[root@back_zabbix_100 ~]# echo $LANGen_US.UTF-8[root@back_zabbix_100 ~]# cat /etc/sysconfig/i18n LAN ...
- java包(package)的命名规范
Java的包名都有小写单词组成,类名首字母大写:包的路径符合所开发的 系统模块的 定义,比如生产对生产,物资对物资,基础类对基础类.以便看了包名就明白是哪个模块,从而直接到对应包里找相应的实现. 由 ...
- vector、list、deque三者比较
1.vector是一段连续的内存块,而deque是多个连续的内存块,list是所有数据元素分开保存,可以是任何两个元素都没有连续. 2.vector的查询性能最好,并且的末端增加数据也很好,除非它重新 ...
- java基本类型的默认值及其取值范围
- sql编程篇 (五) 事务
计算机中的事务 编辑 概念 事务(Transaction)是访问并可能更新数据库中各种数据项的一个程序执行单元(unit).事务通常由高级数据库操纵语言或编程语言(如SQL,C++或Java)书写的用 ...
- PHP常用算法
//二维数组的按某字段来排序(从小到大排序) function number_array_sort_asc($array,$key_name){ $arr = array(); foreach ($a ...
- js面向对象基础总结
js中如何定义一个类? 定义的function就是一个构造方法也就是说是定义了一个类:用这个方法可以new新对象出来. function Person(name, age){ this.name = ...
- 关于shiro
1.1 简介 Apache Shiro是Java的一个安全框架.目前,使用Apache Shiro的人越来越多,因为它相当简单,对比Spring Security,可能没有Spring Securi ...
- PHP 真正多线程的使用
以前使用curl的多线程并不是真正的多线程,只是一种模拟的多线程,现在使用pthreads来实现真正意义上的多线程. 下载: windows下: http://windows.php.net/down ...