菜鸟如何查看oracle备份数据,菜鸟之逻辑备份exp&expdp简单测试

本帖最后由 zjjxyh 于 2013-10-27 22:53 编辑

利用exp备份全库备份,备份一个用户,备份一张表格;

利用这个备份恢复一个用户到另一个数据库;

create directory 命令

利用expdp备份全库备份,备份一个用户,备份一张表格;

利用这个备份恢复一个用户到另一个数据库;

/创建临时表空间

create temporary tablespace user_tempspace

tempfile 'F:\datatest\user_tempdata01.dbf'

size 15m

autoextend on

next 500k maxsize 512m;

//创建数据表空间

create tablespace test_tablespace

datafile 'F:\datatest\USER_DATA01.DBF'

size 15m

autoextend on

next 15m maxsize 512m;

//创建用户并指定表空间

create user root identified by rootroot

default tablespace user_tablespace

temporary tablespace  user_tempspace;

//给用户授予权限

grant connect,resource to root;

export 四种模式1.整个数据库模式(FULL) 2.传输表空间模式(Transport_tablespace) 3.用户模式(owner) 4.表模式(tables)

参数

1.buffer(对常规的路径有用:SELECT语句从表中抽取数据,对直接路径得用recordlength参数:直接路径导出则是将数据直接从磁盘读到PGA再原样写入导出文件)直接路径比常规路径避免了SQL命令处理层的数据转换过程,大大提高了导出效率buffer_size = rows_in_array * maximum_row_size(每一行各字段的长度相加+字段个数*2)65535

直接路径导出在transport_tablespace,query和buffer中不能使用

2.导出之前做的准备工作:1.表空间和数据文件列表 2.回滚段列表 3.用户,表,索引等一些数量

3.对完全新装数据库备份时首先在system表空间创建额外的回滚段

CREATE ROLLBACK SEGMENT rbs_one   TABLESPACE rbs_ts   STORAGE   ( INITIAL 10K     NEXT 10K     MAXEXTENTS UNLIMITED );

EXP的所有参数(括号中为参数的默认值)Exp parameter_name=value or Exp parameter_name=(value1,value2……)

USERID       用户名/口令     如: USERID=duanl/duanl      FULL         导出整个数据库 (N)不导出sys的触发器,不导出profile

BUFFER       数据缓冲区的大小                             OWNER       所有者用户名列表,你希望导出哪个用户的对象,就用owner=username

FILE          输出文件 (EXPDAT.DMP)                       TABLES       表名列表 ,指定导出的table名称,如:TABLES=table1,table2(分区表table:分区名)(复合分区表tablename:m,tablename:sp4)

COMPRESS    导入一个extent (Y)                            RECORDLENGTH  IO 记录的长度

GRANTS       导出权限 (Y)                                 INCTYPE       增量导出类型

INDEXES       导出索引 (Y)                                RECORD       跟踪增量导出 (Y)

ROWS          导出数据行 (Y)(N仅导出结构)               PARFILE       参数文件名,如果exp的参数很多,可以存成参数文件.

CONSTRAINTS  导出约束 (Y)                                 CONSISTENT   交叉表一致性

LOG           屏幕输出的日志文件                          STATISTICS    分析对象 (ESTIMATE)

DIRECT        直接路径 (N)                                TRIGGERS     导出触发器 (Y)

FEEDBACK(0) 显示每 x 行 (0) 的进度                       FILESIZE       各转储文件的最大尺寸

QUERY    选定导出表子集的子句不能和direct参数共用 eg:exp scott TABLES=emp,bonus QUERY=\"WHERE job=\'SALESMAN\' and sal \<1600\"

TRANSPORT_TABLESPACE 导出可传输的表空间元数据 (N)

TABLESPACES 将传输的表空间列表

RESUMABLE            遇到与空格相关的错误时挂起 (N)            RESUMABLE_NAME       用于标识可恢复语句的文本字符串

RESUMABLE_TIMEOUT    RESUMABLE 的等待时间

EXP-00091: Exporting questionable statistics.原因:oracle用户的环境变量语句集和oracle数据库中的环境变量语句集不相同所致 解决方法:查看数据库服务器select * from nls_database_parameters 查看客户端:select * from nls_instance_parameters 修改oracle用户的环境变量语句集和数据库服务器一样

我这里测试就修改为export NLS_LANG=AMERICAN_AMERICA.WE8ISO8859P1

数据库字符集: nls_database_parameters、props$、v$nls_parameters

四个字符集:1.源数据库字符集 2.export过程中用户会话字符集 3.import过程中用户会话字符集 4.目标数据库字符集

To minimize data loss due to character set conversions, ensure that the export

database, the export user session, the importuser session, and the import database all

use the same character set.

在做数据导入,需要oracle server端的字符集、oracle client端字符集、dmp文件的字符集一致才能正确导入

1.查看oracle server端字符集:select userenv('language') from dual;

2.查看dmp文件的字符集:1.cat exp.dmp |od -x|head -1|awk '{print $2 $3}'|cut -c 3-6      2.select nls_charset_name(to_number('345','xxxx')) from dual/select to_char(nls_charset_id('ZHS16GBK'), 'xxxx') from dual;

3.查看oracle clent端的字符集 1.unix就环境变量$echo $NLS_LANG 2.windows注册表oraclehome的nls_lang可以在doc端口 set nls_lang=AMERICAN_AMERICA.ZHS16GBK设置当前窗口

如果检查结果发现server端和client端字符集不一样,统一修改为server端相同的字符集

补充:1.数据库服务器字符集 select * from nls_database_parameters

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值