第四部分:修改实例名,以及数据库名相关内容可以参见先前的文章:Oracle数据库实例的重命名( http://blog.sina.com.cn/s/blog_67be3b4501016dgu.html )
SYS@test > shutdown immediate;
SYS@test > startup mount
修改数据文件、控制文件中的数据库名称,修改之后会关闭数据库
SYS@test > !nid target=sys/oracle dbname=test2 logfile=/tmp/change_name2test2.log
启动数据库,这个时候会报数据库名称不一致的错误,不去管他(ORA-01103: database name 'MAI' in control file is not 'TEST')
SYS@test > startup mount
将数据库名更新到spfile文件中
SYS@test > alter system set db_name='test2' scope=spfile;
SYS@test > create pfile from spfile;
SYS@test > shutdown immediate;
$ oracle@model ~> export ORACLE_SID=test2
$ oracle@model ~> sqlplus / as sysdba
SYS@test2 > startup pfile='/u02/app/oracle/product/10.2.0/db_1/dbs/inittest.ora'
SYS@test2 > create spfile from pfile='/u02/app/oracle/product/10.2.0/db_1/dbs/inittest.ora';
SYS@test2 > shutdown immediate;
SYS@test2 > startup mount;
SYS@test2 > create pfile from spfile;
SYS@test2 > alter database open resetlogs;
将ORACLE_SID=test2写入到oracle用户的.bash_profile文件中:
$ oracle@model ~> echo export ORACLE_SID=test2 >> .bash_profile
至此呢,数据库迁移才算是彻底的完成了。
第五部分:最后的校验
1、MAI用户验证:
MAI@test2 > select * from tab;
TNAME TABTYPE CLUSTERID
------------------------------ ------- ----------
BONUS TABLE
DEPT TABLE
EMP TABLE
SALGRADE TABLE
TEST TABLE
TEST01 TABLE
2、数据库名验证:
SYS@test2 > select name,open_mode from v$database;
NAME OPEN_MODE
--------- ----------
TEST2 READ WRITE
3、实例名验证:
SYS@test2 > select instance_name,status from v$instance;
INSTANCE_NAME STATUS
---------------- ------------
test2 OPEN
4、进程验证:
$ oracle@model ~> ps aux | grep ora_ | grep -v grep
oracle 25592 0.0 1.2 261864 12756 ? Ss 00:23 0:00 ora_pmon_test2
oracle 25594 0.0 1.0 261252 11104 ? Ss 00:23 0:00 ora_psp0_test2
oracle 25596 0.0 1.3 261252 13848 ? Ss 00:23 0:00 ora_mman_test2
oracle 25598 0.0 1.3 263320 13708 ? Ss 00:23 0:00 ora_dbw0_test2
oracle 25600 0.0 2.9 276804 30644 ? Ss 00:23 0:00 ora_lgwr_test2
oracle 25602 0.0 1.6 261236 16956 ? Ss 00:23 0:00 ora_ckpt_test2
oracle 25604 0.0 3.4 261784 35812 ? Ss 00:23 0:00 ora_smon_test2
oracle 25606 0.0 1.6 261252 17224 ? Ss 00:23 0:00 ora_reco_test2
oracle 25608 0.0 2.2 262812 22948 ? Ss 00:23 0:00 ora_cjq0_test2
oracle 25610 0.1 4.2 262988 43768 ? Ss 00:23 0:00 ora_mmon_test2
oracle 25612 0.0 1.2 261252 12832 ? Ss 00:23 0:00 ora_mmnl_test2
oracle 25614 0.0 1.0 261248 10672 ? Ss 00:23 0:00 ora_d000_test2
oracle 25616 0.0 1.0 261248 10656 ? Ss 00:23 0:00 ora_d001_test2
oracle 25626 0.0 2.6 276804 27168 ? Ss 00:24 0:00 ora_arc0_test2
oracle 25628 0.0 2.6 276804 27040 ? Ss 00:24 0:00 ora_arc1_test2
oracle 25630 0.0 2.6 276804 26920 ? Ss 00:24 0:00 ora_arc2_test2
oracle 25632 0.0 1.5 261252 15660 ? Ss 00:24 0:00 ora_qmnc_test2
oracle 25638 0.0 1.1 261248 11656 ? Ss 00:24 0:00 ora_q000_test2
oracle 25640 0.0 1.3 261248 13912 ? Ss 00:24 0:00 ora_q001_test2
5、oracle用户的变量验证:
$ oracle@model ~> env | grep ORACLE
ORACLE_SID=test2
ORACLE_BASE=/u02/app/oracle
ORACLE_HOME=/u02/app/oracle/product/10.2.0/db_1
验证完成,验证的结果表明,迁移确实已经成功,并且已经达到了预期的目的。