以root用户登录主库所在服务器,执行
su - oracle
再执行
export ORACLE_SID=主库实例名
然后执行
sqlplus / as sysdba
进入数据库; 查看数据库名,确定没进错库
show parameter db_name;
查看空间权限:
col directory_path for a60
col directory_name for a30
set line 300
select * from dba_directories;
如上,可以直接使用DUMP_CHUSHI 的文件夹 进行导出;
下面需要先退出Oracle模式
exit;
在Linux命令下执行导出
导出命令如下:
expdp system/**********(密码) directory=DUMP_CHUSHI dumpfile=H2.dmp logfile=H2.log full=y
也可以修改导出文件的名字 避免重复或者文件找不到的情况 例如:
expdp system/**********(密码) directory=DUMP_CHUSHI dumpfile=H2_2025022701.dmp logfile=H2_2025022701.log full=y
导入文件命令如下:
impdp system/**********(密码) directory=DUMP_CHUSHI dumpfile=H2.DMP logfile=H2.log full=y table_exists_action=replace
只覆盖单个表(四个备份文件直接覆盖):
impdp \"/ as sysdba\" directory=DUMP_CHUSHI dumpfile=EXPDP_HYDEEKF_20241210_%U.dmp parallel=4 logfile=h2.log tables=H2.s_function full=n
单个文件直接覆盖
impdp \"/ as sysdba\" directory=DUMP_CHUSHI dumpfile=H2.dmp logfile=h2.log tables=H2.s_function full=n
单个表覆盖需要drop整个表 再导入(或许可以不drop,没深入研究)
测试