Oracle 根据用户导出数据库 数据库迁移 imp/exp exdp

 以下操作全部默认cmd命令行操作 

exp根据用户导出数据库

exp  数据库用户名称/密码@ip地址/数据库 file='导出文件的绝对路径/*.dmp'  owner=导出用户名

exp csdnUser/123456@127.0.0.1/orcl file='C:\Users\Admin\Desktop\csdnUserBackUps.dmp' owner=csdnUser

imp导入数据库

 imp 登录名称/密码@IP地址/数据库 file='导出的dmp文件地址' full=是否导入全部内容

 imp prodCsdnUser/2023#07#05csdn@192.168.1.1/orcl  FILE=导出的dmp文件地址 FULL=Y

expdp导出数据库 

 expdp需要一个expdp备份目录 所以先创建一下


--sqlplus

sqlplus / as sysdba; 


--1.创建备份目录  create directory 目录名称 as '存放路径(需要自己创建 不会自动创建)'; 

sqlPlus>create directory backups as 'D:\backups\dump'; 


--2.授权导出用户队备份目录的 读取,写入权限 grant read,write on directory 目录名称 to csdnUser;

sqlPlus>grant read,write on directory backups to csdnUser;

--3.退出
sqlPlus> ^C
 


 开始导出数据

-- 登录名称/密码@ip地址/数据库 directory=备份目录名称 dumpfile='导出文件名称.dmp' schemas=导出用户;

-- 默认是直接存放在备份目录名称下的 即D:\backups\dump\csdnBackUp.dmp 所以dumpfile=不需要写绝对路径


expdp csdnUser/123456@127.0.0.1/orcl directory=backups dumpfile='csdnBackUp.dmp' schemas=csdnUser


Export: Release 19.0.0.0.0 - Production on 星期六 7月 15 17:15:31 2023
Version 19.3.0.0.0

expdp备份目录没有创建好 去看下电脑/服务器上有没有创建  例如这个地址是否存在 D:\backups\dump

ORA-39002: 操作无效
ORA-39070: 无法打开日志文件。
ORA-29283: 无效的文件操作 : 意外的 "LFI" 错误 (1509)[29437]

在Shell脚本中使用Oracle Exports (expdp)工具导出数据库最近一个月的数据并保存为.dmp文件,需要分步骤进行,因为Expdp命令本身并不直接支持按时间范围筛选。以下是大概的步骤: 1. **设置环境变量**: 首先,你需要确保`expdp`命令已经安装,并配置了正确的用户名、密码以及连接到目标数据库的相关环境变量。例如: ```bash export ORACLE_HOME=/path/to/oracle_home export PATH=$PATH:$ORACLE_HOME/bin export EXPDP_HOME=$ORACLE_HOME/admin/expdp ``` 2. **创建作业**: 使用SQL*Plus或TNSnames.ora文件,创建一个Expdp作业,指定路径和文件名模板,以便将数据导出到`.dmp`文件。例如: ```sql expdp username/password directory=dir_path dumpfile=my_database_%Y%m%d.dmp logfile=my_export.log ``` `%Y%m%d`会被当前日期替换。 3. **限定时间范围**: 因为Exdp没有直接的选项来限制导出的时间范围,你需要结合其他数据库查询来获取最近一个月的数据。你可以通过查询如`DBA_DATA_FILES`视图找出一个月前的日志位置,然后调整`logfile_size_limit`参数以覆盖这段时间的数据。这一步通常需要一些SQL知识,比如找到redo log group的开始和结束位置。 4. **调度任务**: 如果你想定期运行这个脚本,你可以将其放入定时任务,如cron job,使其每天或每周自动运行一次。 5. **检查日志**: 导出过程中,记得查看`logfile`中的输出,以确认操作是否成功,是否有错误发生。 请注意,实际操作可能会因数据库版本、权限设置等差异而有所不同。此外,直接从生产环境中导出大量数据也需谨慎处理,以避免影响正常业务。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值