oracle如何导出dmp 从11g版本导入到12c
时间: 2024-10-19 14:09:06 浏览: 46
Oracle数据库导出DMP文件(Database Backup Set),通常使用`expdp`工具,这是Oracle 12c引入的新命令行工具,用于高效、安全地备份数据泵。以下是将11g版本的数据导出并导入到12c的基本步骤:
### 导出(11g到12c之前导出为.dmp文件):
1. **登录11g数据库**:
```sql
sqlplus / as sysdba
```
2. **启用数据泵(如果未启用)**:
```sql
ALTER USER your_username DATA Pump;
```
3. **设置环境变量** (例如,保存在~/.bashrc或%USERPROFILE%\environment variables):
```bash
export EXPDP_HOME=<ORACLE_HOME>/bin
```
4. **运行导出命令**(假设你要导出整个数据库,替换 `<username>` 和 `<password>` 为实际用户名和口令):
```bash
expdp <username>/<password>@your_database_name FULL=YES DUMPFILE=your_database.dmp LOGFILE=expdp_your_database.log
```
### 导入(12c版本接收.dmp文件):
1. **登录12c数据库**:
```sql
sqlplus / as sysdba
```
2. **检查数据泵已启用**:
```sql
SELECT * FROM v$data_pump_version;
```
3. **创建目录来存储备份文件**:
```sql
CREATE DIRECTORY backup_dir AS '<path_to_backup_directory>';
```
4. **导入数据**:
```bash
impdp <username>/<password>@your_database_name DIRECTIONS=REPLACE FILE=your_database.dmp LOGFILE=impdp_your_database.log directory=backup_dir dumpfile=your_database.dmp logfile=impdp_your_database.log
```
5. **确认导入成功**:
```sql
SELECT * FROM dba_data_files;
```
阅读全文