单实例到RAC数据迁移
测试过程如下:
(1) 在单实例数据库上统计数据文件,对象数量等
(2) 单实例服务器中创建directory ,供导出数据使用
(3) 打开监控
(4) 使用SYSTEM用户导出SHEMA数据
(5) 到导出目录“/home/oracle/dump”检查备份文件
(6) 拷贝数据文件到RAC服务器上
(7) RAC创建一致的表空间名称,具体文件可以不一,保证表空间一致性
(8) RAC服务器中创建directory :imp_dir
(9) 导入数据
验证字符集和国家字符集
SQL> select * from nls_database_parameters where parameter in ('NLS_CHARACTERSET','NLS_NCHAR_CHARACTERSET');
PARAMETER VALUE
NLS_CHARACTERSET AL32UTF8
NLS_NCHAR_CHARACTERSET UTF8
一. 统计对象数量
SQL> select m.FILE_NAME,user_bytes/1024/1024/1024 "USE(GM)" from dba_data_files M;
FILE_NAME USE(GB)
1 /ora_data/MESPROD/MESPROD/system01.dbf 1.9912109375
2 /ora_data/MESPROD/MESPROD/sysaux01.dbf 0.6630859375
3 /ora_data/MESPROD/MESPROD/undotbs01.dbf 0.2041015625
4 /ora_data/MESPROD/MESPROD/users01.dbf 0.00390625
5 /ora_data/MESPROD/MESPROD/insite01.dbf 3.96331787109375
6 /ora_data/MESPROD/MESPROD/insite02.dbf 3.935546875
7 /ora_data/MESPROD/MESPROD/insite03.dbf 3.91705322265625
8 /ora_data/MESPROD/MESPROD/insite04.dbf 3.9210205078125
已选择8行。
-- 对象统计
select M.OBJECT_TYPE,count(1) from user_objects M group by M.OBJECT_TYPE
1 |
SEQUENCE |
6 |
2 |
PROCEDURE |
28 |
3 |
LOB |
42 |
4 |
PACKAGE BODY |
3 |
5 |
PACKAGE |
5 |
6 |
TYPE BODY |
2 |
7 |
TRIGGER |
6 |
8 |
TABLE |
1242 |
9 |
INDEX |
2453 |
10 |
VIEW |
31 |
11 |
FUNCTION |
14 |
12 |
TYPE |
24 |
select M.OBJECT_NAME,M.OBJECT_TYPE,M.status,M.TEMPORARY from user_objects M where STATUS <> 'VALID'
-- 无效对象统计
1 |
D_SCDATE |
PROCEDURE |
INVALID |
N |
2 |
CSICREATEINDEXES |
PROCEDURE |
INVALID |
N |
3 |
CSI24HRFACTPERFSUMSTVIEW |
VIEW |
INVALID |
N |
4 |
CSIFACTPERFSUMSTVIEW |
VIEW |
INVALID |
N |
5 |
CSIYIELDSTVIEW |
VIEW |
INVALID |
N |
6 |
CSIGETISSUEDHIERARCHY_BO |
PROCEDURE |
INVALID |
N |
7 |
CSIGETISSUEDHIERARCHY |
PROCEDURE |
INVALID |
N |
8 |
CSI_QUALITY_OBJECT_INQUIRY |
PACKAGE BODY |
INVALID |
N |
9 |
EVENT_CAPA_V |
VIEW |
INVALID |
N |
10 |
CSIGETEVENTLOTSTATUS |
FUNCTION |
INVALID |
N |
11 |
CSIEVENTVIEW |
VIEW |
INVALID |
N |
12 |
CSIAPPROVALCYCLEVIEW |
VIEW |
INVALID |
N |
13 |
EQUIPMENTDISPATCH |
PACKAGE BODY |
INVALID |
N |
14 |
CSIRBACCREATEPERMISSIONSFORQRY |
PROCEDURE |
INVALID |
N |
二. 创建directory ,供导出数据使用
SQL> sqlplus / as sysdba
SQL> create or replace directory exp_dir as '/home/oracle/dump'
三 打开监控
Tail -1000f alert_MES1.log;
四 使用SYSTEM用户导出SHEMA所有数据
[oracle@localhost ~]$ expdp system/ANAN@MESPROD SCHEMAS=INSITE directory=exp_dir DUMPFILE=InSite_20141105.DMP LOGFILE=InSite_20141115.log reuse_dumpfiles=y
******************************************************************************
Dump file set for SYSTEM.SYS_EXPORT_SCHEMA_01 is:
/ora_bkup/exp_dir/InSite_20141105.DMP
Job "SYSTEM"."SYS_EXPORT_SCHEMA_01" successfully completed at 14:26:25
五 . 到导出目录“/home/oracle/dump”检查备份文件
[oracle@fps-mes-data01 exp_dir]$ ls -hl
total 13G
-rw-r-----. 1 oracle dba 12G Nov 5 14:26 InSite_20141105.DMP
4.2 在RAC服务器上创建导入directory,
注:完全可以不一致,文件夹名称,具体OS路径均可不一致
SQL> create or replace directory exp_dir as '/home/oracle/dump'
Directory created.
SQL> select directory_name,directory_path from dba_directories;
DIRECTORY_NAME DIRECTORY_PATH
------------------------------ ------------------------------------------------------------
EXP_DIR /home/oracle/dump
六.拷贝数据文件到RAC服务器上
[oracle@fps-mes-data01exp_dir]$
scp InSite_20141105.DMP oracle@192.168.224.71:/home/oracle/dump
oracle@192.168.224.71's password:
InSite_20141105.DMP 100% 11GB 41.5MB/s 04:33
七. 创建一致的表空间名称,具体文件可以不一,保证表空间一致性
:一定要保证表空间单点服务器,导出的服务器是一致的!
八 创建文件夹 imp_dir
九 导入数据
[oracle@rac1 MES1]$ export ORACLE_SID=MES1
[oracle@rac1 MES1]$ impdp system/ANAN DIRECTORY=imp_dir DUMPFILE=InSite_20141105.DMP logfile=20141105imp.log REMAP_SCHEMA=INSITE:INSITE