Oracle 10g到11g的数据迁移:步骤与权限设置

2星 需积分: 46 67 下载量 94 浏览量 更新于2024-09-15 收藏 18KB DOCX 举报
本文档主要介绍了如何将Oracle 10g数据库的表空间数据迁移到Oracle 11g数据库的过程。迁移步骤分为数据导出和数据导入两个阶段。 首先,准备工作是在源主机上进行的。1. 在源主机的根目录下创建一个名为"data_bak"的新目录,并设置其权限以便Oracle用户访问: ```shell [root@localhost~]# mkdir data_bak [root@localhost~]# chmod 777 data_bak ``` 接着,作为Oracle用户(例如:assysdba)登录SQL*Plus,创建一个别名目录"data"并为其分配读写权限给需要的用户(如smc_yanshi和useradmin_yanshi): ```sql SQL> createdirectory data as '/data_bak'; SQL> grant read, write on directory data to smc_yanshi; SQL> grant read, write on directory data to useradmin_yanshi; ``` 然后,通过"expdp"命令从源数据库导出数据。对于不同的用户(smc_yanshi和useradmin_yanshi),分别执行以下命令: ```shell [oracle@localhost~]$ expdp smc_yanshi/123qwe@orcl217 schemas=smc_yanshi dumpfile=smc.dmp DIRECTORY=data logfile=smc.log [oracle@localhost~]$ expdp useradmin_yanshi/123qwe@orcl217 schemas=useradmin_yanshi dumpfile=useradmin.dmp DIRECTORY=data logfile=useradmin.log ``` 在数据导出后,接下来是在目标主机上进行数据导入的准备工作。同样,在目标主机的根目录下创建"data_bak"目录并设置权限,然后登录到目标数据库,但这里是Oracle 11.2.0.1.0版本: ```shell [oracle@rhel5~]$ sqlplus/nolog SQL*Plus: Release 11.2.0.1.0 Production ``` 由于文档没有提供具体的导入步骤,通常情况下,数据导入会使用"impdp"命令,与"expdp"命令类似,但方向相反,即从备份文件恢复到目标数据库。具体命令可能会涉及指定dump文件路径、目标数据库连接信息等。 这个过程包括在源数据库上创建别名目录、赋予用户权限、使用expdp导出数据,以及在目标数据库上为数据导入做相应的目录和权限设置。确保在迁移过程中,数据库的结构和权限保持一致,以保证数据的完整性和一致性。