oracle 批量导出表名是 sy_ 开头的所有表4
发布网友
发布时间:2023-10-28 03:58
我来回答
共3个回答
热心网友
时间:2023-12-17 04:49
多个方法,通过第三方工具或者批处理。第三方工具可以使用PLSQL
作为傻瓜式的,我建议使用批处理,我前几天刚好写了个exp单个表的,你拿去改改,弄成多个就是了,获取sy_开头的表名是这样的:select * from user_tables t where t.tablename like 'SY_%';--一定记得大写。
:subStart
@echo off&cls
color 03
@echo ***********************************************************************
@echo * Oracle单表导出(dmp文件) *
@echo ***********************************************************************
@echo.
set /p databasename=数据库名:
set /p databaseusername=数据库用户名:
set /p databasepasswords=数据库密码:
set /p backupTableName=需要导出的表名:
set /p backupFilePath=备份文件存放路径(相对或绝对路径、可空):
@echo off&cls
@echo ***********************************************************************
@echo * Oracle单表导出(dmp文件) *
@echo ***********************************************************************
if "%backupFilePath%"=="" set backupFilePath=AutoCreateBackUpFolder
if not exist %backupFilePath% md %backupFilePath%
set dataFilePath=%backupFilePath%\%backupTableName%
if exist %dataFilePath%.dmp set dataFilePath=%backupFilePath%\%backupTableName%%DATE:~0,4%%DATE:~5,2%%DATE:~8,2%%TIME:~0,2%%TIME:~3,2%%TIME:~6,2%
exp %databaseusername%/%databasepasswords%@%databasename% tables=(%backupTableName%) file=%dataFilePath%.dmp log=%dataFilePath%.log buffer=655000 compress=y
color 0a
@echo.
@echo ***********************************************************************
@echo * 导出结束,请先检查备份日志文件,查看是否有错误发生,谢谢!
@echo * 备份数据文件:%dataFilePath%.dmp
@echo * 备份日志文件:%dataFilePath%.log
@echo ***********************************************************************
@echo.
set /p IsNeedContinueToExport=是否需要继续导出(y/n):
if /i %IsNeedContinueToExport% equ y goto :subStart
@echo 导出中止
pause
热心网友
时间:2023-12-17 04:50
oracle exp命令批量导出数据库的方法:
1 假如数据库名为:TEST 、,用户名system 密码manager 导出到D:/chu.dmp中
exp system/manager@TEST file=d:/chu.dmp full=y
如果要导出指定的表,方法如下:
假如要导出数据库中的表'sy_%'导出
exp aichannel/aichannel@TESTDB2 file= d:/data/newsmgnt.dmp owner=(PRO) tables=(PRO.sy_%)
热心网友
时间:2023-12-17 04:50
select table_name,tablespace_name,temporary from user_tables where table_name like 'SY%';
注意:表名变量值必须大写(此处SY必须大写)追问你没看懂,,知道 exp 命令吗?