Oracle dump files

本文介绍了 Oracle 数据库中四种不同类型的日志文件配置:审计信息(adump)、后台进程跟踪(bdump)、核心转储(cdump)及用户跟踪(udump)。详细解释了这些日志的作用和存放位置。

audit_file_dest          = C:\ORACLE\PRODUCT\10.2.0\ADMIN\ORCL\ADUMP

background_dump_dest     = C:\ORACLE\PRODUCT\10.2.0\ADMIN\ORCL\BDUMP

user_dump_dest           = C:\ORACLE\PRODUCT\10.2.0\ADMIN\ORCL\UDUMP

core_dump_dest           = C:\ORACLE\PRODUCT\10.2.0\ADMIN\ORCL\CDUMP

 

adump: audit dump

bdump: background dump

cdump: core dump

udump: user dump

 

从上面可以知道:

 

adump: 审计信息, 记录的是SYS的登录信息,用以审计,可以删除。

bdump: 后台进程trace 和alert log,就是说 alert_sid.log也存在这个目录中。

cdump: 一般是用来记录日志应用程序的,除非数据库出了问题,否则基本上不会有什么信息。

udump: 前台手动trace的 比如sql trace之后session的trace文件。

### Oracle 数据库导出 Dump 文件的方法及工具 #### 使用 `EXP` 命令导出数据 传统的 `EXP` 工具可以通过命令行操作来完成数据的导出工作。以下是基本语法和示例: ```bash exp username/password@sid file=/path/to/dumpfile.dmp log=/path/to/logfile.log owner=(schema_name) ``` 此方法适用于较旧版本的 Oracle 数据库,能够将指定用户的表结构、数据以及其他对象保存到 `.dmp` 文件中[^1]。 --- #### 使用 `EXPDP` (Data Pump Export) 导出数据 `EXPDP` 是一种更高效的数据泵工具,支持并行处理以及更大的数据集导出能力。其主要优点在于性能优越且易于管理大容量数据迁移任务。 ##### 创建备份目录 在执行导出之前,需先定义存储路径以便放置生成的 `.dmp` 文件: ```bash mkdir -p /home/oracle/dumpdir ``` 随后登录 SQL*Plus 并注册该物理位置作为逻辑目录: ```sql CREATE DIRECTORY dump_dir AS '/home/oracle/dumpdir'; GRANT READ, WRITE ON DIRECTORY dump_dir TO username; ``` 确认新建立的目录可用状态可通过查询视图实现: ```sql SELECT * FROM dba_directories WHERE directory_name='DUMP_DIR'; ``` ##### 执行 EXPDP 操作 下面是一个典型的参数化调用例子用于特定表格集合的导出过程: ```bash expdp username/password@ip:port/service_name DUMPFILE=dump_file_name.dmp LOGFILE=log_file_name.log TABLES=table1,table2 REUSE_DUMPFILES=YES ``` 上述脚本中的选项解释如下: - **username/password**: 连接至目标数据库的身份凭证; - **ip:port/service_name**: 定义网络服务地址详情; - **DUMPFILE**: 输出转储文件命名规则; - **LOGFILE**: 日志记录文档名称设定; - **TABLES**: 明确指出待转移的具体关系型实体列表; - **REUSE_DUMPFILES=YES**: 如果同名文件已存在,则允许覆盖写入而不中断进程[^2][^3]. --- #### 脚本自动化案例 为了简化重复性的日常维护作业流程,可编写批处理或者 Shell Script 来封装以上指令序列。例如,在 Linux 系统环境下可能看起来像这样: ```bash #!/bin/bash ORACLE_SID="your_oracle_sid" USER_NAME="scott" PASSWORD="tiger" HOST_IP="localhost" PORT_NUM="1521" SERVICE_NAME="orclpdb1" # Define directories and filenames BACKUP_PATH="/u01/app/oracle/backups/" LOG_FILE="${BACKUP_PATH}export_log_$(date +%Y%m%d%H%M%S).log" DMP_FILE="${BACKUP_PATH}data_export_$(date +%Y%m%d%H%M%S).dmp" # Create backup path if not exists if [ ! -d "$BACKUP_PATH" ]; then mkdir -p $BACKUP_PATH fi # Run expdp command with defined parameters expdp ${USER_NAME}/${PASSWORD}@${HOST_IP}:${PORT_NUM}/${SERVICE_NAME} \ DIRECTORY=DUMP_DIR \ DUMPFILE=${DMP_FILE} \ LOGFILE=${LOG_FILE} \ EXCLUDE=index \ CONTENT=data_only >> "${LOG_FILE}" 2>&1 & echo "Export started at $(date)" | tee -a "${LOG_FILE}" ``` 这段代码片段展示了如何通过 shell script 自动化整个 export 流程,并包含了时间戳标记的日志管理和错误重定向机制[^4]。 --- ### 注意事项 当实施这些方案时需要注意几个关键点以确保顺利完成预期目的: - 验证源端与目的地之间有足够的磁盘空间容纳最终产物大小. - 对敏感信息采取适当保护措施防止未经授权访问. - 根据实际需求调整过滤条件比如仅限某些模式(schema),排除索引等附加元数据.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值