Oracle数据库备份与恢复之一 expimp(导出与导入装库与卸库).doc
文本预览下载声明
Oracle数据库备份与恢复之一:exp/imp(导出与导入装库与卸库)
1.1? 基本命令
??? 1.? 获取帮助
??? $ exp help=y
??? $ imp help=y
??? 2.? 三种工作方式
??? (1)交互式方式
??? $ exp??????? //? 然后按提示输入所需要的参数
??? (2)命令行方式
??? $ exp user/pwd@dbname file=/oracle/test.dmp full=y??? //? 命令行中输入所需的参数
??? (3)参数文件方式
??? $ exp parfile=username.par??? //? 在参数文件中输入所需的参数
??? 参数文件 username.par 内容 userid=username/userpassword buffer=8192000
??? compress=n grants=y
??? file=/oracle/test.dmp full=y
??? 3.? 三种模式
??? (1)表方式,将指定表的数据导出/导入。
??? 导出:导出一张或几张表:$ exp user/pwd file=/dir/xxx.dmp log=xxx.log tables=table1,table2
??? 导出某张表的部分数据
??? $ exp user/pwd file=/dir/xxx.dmp log=xxx.log tables=table1 query=\“where col1=\‘…\’and col2 \…\”
??? 导入:导入一张或几张表
??? $? imp? user/pwd? file=/dir/xxx.dmp? log=xxx.log? tables=table1,
??? table2? fromuser=dbuser touser=dbuser2 commit=y ignore=y
??? (2)用户方式,将指定用户的所有对象及数据导出/导入。
??? 导出:$ exp user/pwd file=/dir/xxx.dmp log=xxx.log owner=(xx, yy)
??? 只导出数据对象,不导出数据? (rows=n )
??? $ exp user/pwd file=/dir/xxx.dmp log=xxx.log owner=user rows=n
??? 导入:$? imp? user/pwd? file=/dir/xxx.dmp? log=xxx.log? fromuser=dbuser? touser=dbuser2
??? commit=y ignore=y
??? (3)全库方式,将数据库中的所有对象导出/导入导出:
??? $ exp user/pwd file=/dir/xxx.dmp log=xxx.log full=ycommit=y ignore=y
??? 导入:$ imp user/pwd file=/dir/xxx.dmp log=xxx.log fromuser=dbuser touser=dbuser2
1.2? 高级选项
??? 1.? 分割成多个文件
??? 以多个固定大小文件方式导出:这种做法通常用在表数据量较大,单个 dump文件可能会超出文件系统的限制的情况
??? $ exp user/pwd file=1.dmp,2.dmp,3.dmp,…filesize=1000m??? log=xxx.log full=y
??? 以多个固定大小文件方式导入
??? $? imp? user/pwd file=1.dmp,2.dmp,3.dmp,…? filesize=1000m
??? tables=xxx? fromuser=dbuser touser=dbuser2??? commit=y ignore=y
??? 2.? 增量导出/导入
??? // oracle 9i? 以后 exp? 不再支持? inctype
??? 必须为? SYS? 或? SYSTEM? 才可执行增量导出导入
??? 增量导出:?? 包括三个类型:
??? (1)“完全”增量导出(Complete)? //? 备份整个数据库
??? $ exp user/pwd file=/dir/xxx.dmp log=xxx.log inctype=complete
??? (2)“增量型”增量导出????? 导出上一次备份后改变的数据。
??? $ exp user/pwd file=/dir/xxx.dmp log=xxx.log inctype=incremental
??? (3)? “累计型”增量导出(Cumulative)只导出自上次“完全”导出之后数据库中
显示全部