Oracle数据备份解决方案
发布网友
发布时间:2022-04-08 05:04
我来回答
共5个回答
热心网友
时间:2022-04-08 06:33
1、EXPORT将数据库中数据备份成一个二进制系统文件称为“导出转储文件”(EXPORT
DUMP FILE),并将重新生成数据库写入文件中。
它有三种模式:
a.用户模式:导出用户所有对象以及对象中的数据;
b.表模式:导出用户所有表或者指定的表;
c.整个数据库:导出数据库中所有对象。
它的备份有三种类型:
a.完全型(COMPLETE EXPORT):备份整个数据库;
b.积累型(COMULATIVE ERPORT):备份上一次积累型备份所改变的数据;
c.增量型(INCREAMENTAL EXPORT):备份上一次备份后改变的数据。
EXPORT 的命令可以交互式进行,各参数的具体含义见附录。
在进行导出备份时我们要考虑一点问题,那就是导出的一致性,在导出过程 中导出每读
一次就读取一个表,因而尽管导出是在一个特点时自己开始的,但不同的表读取的时间不同,
因此,导出开始读一个表时,此时表中的数据才是导出的数据,这样当大多数表按内部关键字
和外部关键字相互联系时,在导出过程中这些相关联表的改变就会导致导出的不一致性,要避
开这个,我们可以将导出过程安排在不对表操作的时候进行。另外,当ORACLE中RESTRICTEP
2、IMPORT导入:
导入的过程是导出的逆过程,这个命令先读取导出来的导出转储二进制文件,并运行文件
IMPORT命令执行的方法和EXPORT方案有关。
1、如果EXPORT所实施的是完全型方案(FULL)则在IMPORT时所有的数据对象,包括表空间
,数据文件,用户都会在导入时创建,但考虑到数据库中的物理布局,预先创建表空间和用户
2、如果EXPORT使用的是INCREMENTAL/CUMULATIVE方式,则需要预先设置好表空间、用户
(二):冷备份
(三)热备份(ACHIRELOG)
可是 我 丛没接触国 ORACLE 现在机器上面装郝了 软件能用了 就是不会备份 哪位帮帮忙 只要说一个简单的备份方法就好 最好是 第一步怎样 第二步怎样 ....~·~
~ 大恩不言谢
法一:首选需要在UNIX下创建一个管道(只创建一次即可): $mknod ./eXP_pipe p $ ls -l exp_pipe prw-rw-r-- 1 report group 0 Mar 17 05:20 exp_pipe 然后通过管道,将EXP导出的数据直接压缩,注重:下面二行要写在同一个shell脚本中。 compress < ./exp_pipe > ./tmp_now.dmp.Z & exp user/passwd@数据库连接串 file=./exp_pipe direct=y compress=no log=./exp.log 20G的DMP文件,压缩后的大小在4G左右。 方法二:考虑到机器的速度和效率的问题,一般不建议使用exp对数据量大的数据库进行备份,因为比较慢。
oracle的rman备份可以支持增量备份,你可以自己设置一个备份策略,好比每周日做一次数据库全备份(level 0 级的备份),然后周一周二做增量备份(level 1 级的备份),周三在做一次数据库全备份(level 0),最后周四、周五、周六做数据库的增量备份(level 1)。这样既可以保证你的备份在大部分时间内比较快,而且也可一保证在需要恢复时较快。具体的备份策略要根据你的要求而定,我只是举个例子。 介绍一下什么是Oracle的rman备份: Oracle 的RMAN备份- - 查看那当前使用那个spfile文件 : SQL> select name,value from v$parameter where name='spfile'; 1。检查数据库的归档方式。假如不是规定方式,则要修改数据库为归档方式。 1.1 以dba帐号登陆,
$ sqlplus '/as sysdba';
SQL> archive log list;
Database log mode No Archive Mode #非归档方式
Automatic archival Enabled
Archive destination /oracle/bakram/log_archive
Oldest online log sequence 161
Current log sequence 163
1.2 假如第一步为 No Archive Mode ,则将数据库修改修改为归档方式 1.2.1 建立存档路径. $mkdir /oracle/bakram/log_archive 1.2.2 在/oracle/OracleHome/dbs/建立一文件 firstSpfile.ora 文件内容为:
SPFILE="/oracle/OracleHome/dbs/spfileorcyehoo.ora" # 实例名称
log_archive_start=true;
log_archive_format=ARC%T%S.arc #格式
log_archive_dest=/oracle/bakram/log_archive #存放的路径
1.3 停止数据库 $/oracle/dbstop.sh 1.4 修改归档方式 1.4.1 建立一个dbstartmount.sh文件
--------
echo "begin to start oracle mount..."
lsnrctl start
sqlplus /nolog <
connect /as sysdba
startup mount
exit
exit
sleep 10
echo "oracle have started oracle mount..."
--------
执行./dbstartmount.sh
SQL>alert database archivelog;
Database altered.
将数据库打开
SQL> alert database open;
Database altered.
SQL>
1.5.配置dbstart.sh。 启动数据库
$vi /oracle/dbstart.sh #编辑启动脚本
---------------------------------------------
echo "begin to start oracle..."
lsnrctl start
sqlplus /nolog <
connect /as sysdba
startup pfile="/oracle/OracleHome/dbs/firstSpfile.ora" #修改这里。即启动时加载自己配置的文件。
exit
exit
sleep 10
echo "oracle have started..."
--------------------------------------
2. 创建RMAN目录 $ sqlplus system/data#yes 2.1创建一个独立的表空间 SQL> create tablespace back datafile 'back_Css.dmp' size 50m; 2.2创建RMAN用户 SQL> create user rman identified by rman default tablespace back temporary tablespace temp; 2.3给RMAN授予权限 SQL>grant connect,resource,recovery_catalog_owner to rman; 2.4打开RMAN $RMAN 2.5连接数据库 RMAN>connect catalog rman/rman; 2.6 创建恢复目录 RMAN>create catalog tablespace back; 3. 注册目标数据库(需要备份的数据库) 3.1 注册数据库
$rman target sys/data#yes catalog rman/rman@yehoo; #yehoo为实例名。
----
Recovery Manager: Release 9.2.0.1.0 - ProdUCtion
Copyright (c) 1995, 2002, Oracle Corporation. All rights reserved.
connected to target database: YEHOO (DBID=2840368994)
connected to recovery catalog database
----
RMAN> register database;
3.2 查询恢复目录 怎么能知道我们的oracle9i是OLTP还是DSS 4。备份 备份表空间: backup tag 'tsuser' format '/oracle/css_20041209_%u_%s_%p' tablespace css; 5. 维护rman 5.1 查看现有备份 RMAN> list backup; 5.2 列出过期备份 RMAN> report obsolete 6. 选择备份策略
不需要什么另外的硬件和软件,这两套数据库系统都带了很完善的备份方案。
你在机器上做个计划任务,每天定时将两套数据库备份到另一块硬盘上,这样安全些。
Oracle备份可以用:
exp user/password@services file=filename.dmp log=logname.log
Sql-Server备份可以用:
BACKUP DATABASE [databasename] TO DISK = N'backupname' WITH INIT , NOUNLOAD , NAME = N'backupname', NOSKIP , STATS = 10, NOFORMAT
热心网友
时间:2022-04-08 07:51
法一:首选需要在UNIX下创建一个管道(只创建一次即可): $mknod ./eXP_pipe p $ ls -l exp_pipe prw-rw-r-- 1 report group 0 Mar 17 05:20 exp_pipe 然后通过管道,将EXP导出的数据直接压缩,注重:下面二行要写在同一个shell脚本中。 compress < ./exp_pipe > ./tmp_now.dmp.Z & exp user/passwd@数据库连接串 file=./exp_pipe direct=y compress=no log=./exp.log 20G的DMP文件,压缩后的大小在4G左右。 方法二:考虑到机器的速度和效率的问题,一般不建议使用exp对数据量大的数据库进行备份,因为比较慢。
oracle的rman备份可以支持增量备份,你可以自己设置一个备份策略,好比每周日做一次数据库全备份(level 0 级的备份),然后周一周二做增量备份(level 1 级的备份),周三在做一次数据库全备份(level 0),最后周四、周五、周六做数据库的增量备份(level 1)。这样既可以保证你的备份在大部分时间内比较快,而且也可一保证在需要恢复时较快。具体的备份策略要根据你的要求而定,我只是举个例子。 介绍一下什么是Oracle的rman备份: Oracle 的RMAN备份- - 查看那当前使用那个spfile文件 : SQL> select name,value from v$parameter where name='spfile'; 1。检查数据库的归档方式。假如不是规定方式,则要修改数据库为归档方式。 1.1 以dba帐号登陆,
$ sqlplus '/as sysdba';
SQL> archive log list;
Database log mode No Archive Mode #非归档方式
Automatic archival Enabled
Archive destination /oracle/bakram/log_archive
Oldest online log sequence 161
Current log sequence 163
1.2 假如第一步为 No Archive Mode ,则将数据库修改修改为归档方式 1.2.1 建立存档路径. $mkdir /oracle/bakram/log_archive 1.2.2 在/oracle/OracleHome/dbs/建立一文件 firstSpfile.ora 文件内容为:
SPFILE="/oracle/OracleHome/dbs/spfileorcyehoo.ora" # 实例名称
log_archive_start=true;
log_archive_format=ARC%T%S.arc #格式
log_archive_dest=/oracle/bakram/log_archive #存放的路径
1.3 停止数据库 $/oracle/dbstop.sh 1.4 修改归档方式 1.4.1 建立一个dbstartmount.sh文件
--------
echo "begin to start oracle mount..."
lsnrctl start
sqlplus /nolog <
connect /as sysdba
startup mount
exit
exit
sleep 10
echo "oracle have started oracle mount..."
--------
执行./dbstartmount.sh
SQL>alert database archivelog;
Database altered.
将数据库打开
SQL> alert database open;
Database altered.
SQL>
1.5.配置dbstart.sh。 启动数据库
$vi /oracle/dbstart.sh #编辑启动脚本
---------------------------------------------
echo "begin to start oracle..."
lsnrctl start
sqlplus /nolog <
connect /as sysdba
startup pfile="/oracle/OracleHome/dbs/firstSpfile.ora" #修改这里。即启动时加载自己配置的文件。
exit
exit
sleep 10
echo "oracle have started..."
--------------------------------------
2. 创建RMAN目录 $ sqlplus system/data#yes 2.1创建一个独立的表空间 SQL> create tablespace back datafile 'back_Css.dmp' size 50m; 2.2创建RMAN用户 SQL> create user rman identified by rman default tablespace back temporary tablespace temp; 2.3给RMAN授予权限 SQL>grant connect,resource,recovery_catalog_owner to rman; 2.4打开RMAN $RMAN 2.5连接数据库 RMAN>connect catalog rman/rman; 2.6 创建恢复目录 RMAN>create catalog tablespace back; 3. 注册目标数据库(需要备份的数据库) 3.1 注册数据库
$rman target sys/data#yes catalog rman/rman@yehoo; #yehoo为实例名。
----
Recovery Manager: Release 9.2.0.1.0 - ProdUCtion
Copyright (c) 1995, 2002, Oracle Corporation. All rights reserved.
connected to target database: YEHOO (DBID=2840368994)
connected to recovery catalog database
----
RMAN> register database;
3.2 查询恢复目录 怎么能知道我们的oracle9i是OLTP还是DSS 4。备份 备份表空间: backup tag 'tsuser' format '/oracle/css_20041209_%u_%s_%p' tablespace css; 5. 维护rman 5.1 查看现有备份 RMAN> list backup; 5.2 列出过期备份 RMAN> report obsolete 6. 选择备份策略
资料引用:http://www.knowsky.com/385986.html
热心网友
时间:2022-04-08 09:26
不需要什么另外的硬件和软件,这两套数据库系统都带了很完善的备份方案。
你在机器上做个计划任务,每天定时将两套数据库备份到另一块硬盘上,这样安全些。
Oracle备份可以用:
exp user/password@services file=filename.dmp log=logname.log
Sql-Server备份可以用:
BACKUP DATABASE [databasename] TO DISK = N'backupname' WITH INIT , NOUNLOAD , NAME = N'backupname', NOSKIP , STATS = 10, NOFORMAT
热心网友
时间:2022-04-08 11:17
硬件方面:准备和机房现有条件相同或稍微档次差一点的硬件环境
软件方面:异地容灾(自然灾害)建议做复制STREAM,网络条件好的请况做STANDBY也可以。都是ORACLE自带,不花钱。呵呵
磁盘碎片,不过8I应该是字典管理的应该有碎片问题,解决方法网上很多。
热心网友
时间:2022-04-08 13:25
恩 硬盘的故障 是很难预料的 如果 你真的担心自己的服务器出问题 就多做做备份吧
备份在另外的硬盘上 用GHOST 进行对考备份
硬盘 拿出来 有方回去 那首先看下你的计算机识别到了硬盘没有 有的话 呢肯定是服务器 将地址识别错了