视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
单实例数据库迁移到RAC环境
2020-11-09 11:43:35 责编:小采
文档


从本节开始,将介绍下如何将单实例数据库迁移到rac环境。在生产环境中,随着业务和数据量的加大,这种需求和场景不可避免,一般来

从本节开始,将介绍下如何将单实例数据库迁移到rac环境。在生产环境中,随着业务和数据量的加大,这种需求和场景不可避免,一般来讲主要由以下四种方法实现迁移过程!
1:使用expdp/impdp数据泵导出导入,或者使用传统的exp/imp导入导出,后者效率低下;
2: 使用在线表空间迁移技术快速导出导入,前提是数据库的字符集要一致;
3:使用rman的备份进行异机恢复
4: 对单实例数据库构建基于rac的物理备库,进而切换备库为主库,这是生产环境中最为推荐的做法

本节中介绍使用expdp/impdp数据泵导出导入的方式实现迁移!

环境介绍:
数据库的版本均为10.2.0.5
操作系统的版本单实例数据库(源库)为rhel5.4 bit
rac(目标数据库)为ceontos4.8 bit

一:查看源库的版本和表空间情况,同时在源库上建新的表空间和用户,插入数据,建立索引,,创建目录对象,使用expdp到出用户的schema等

SQL> select * from v$version;

BANNER
----------------------------------------------------------------
Oracle Database 10g Enterprise Edition Release 10.2.0.5.0 - bi
PL/SQL Release 10.2.0.5.0 - Production
CORE 10.2.0.5.0 Production
TNS for Linux: Version 10.2.0.5.0 - Production
NLSRTL Version 10.2.0.5.0 - Production

SQL> show parameter compat;

NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
compatible string 10.2.0.5.0
plsql_v2_compatibility boolean FALSE


SQL> select tablespace_name,file_name from dba_data_files;

TABLESPACE_NAME FILE_NAME
-------------------- --------------------------------------------------
USERS /u01/app/oracle/oradata/orcl/users01.dbf
SYSAUX /u01/app/oracle/oradata/orcl/sysaux01.dbf
UNDOTBS1 /u01/app/oracle/oradata/orcl/undotbs01.dbf
SYSTEM /u01/app/oracle/oradata/orcl/system01.dbf
EXAMPLE /u01/app/oracle/oradata/orcl/example01.dbf

SQL> create tablespace exp_rac datafile
2 '/u01/app/oracle/oradata/orcl/exp_rac01.dbf' size 300M
3 autoextend on next 10M maxsize unlimited
4* extent management local
Tablespace created.

SQL> create tablespace exp_rac_index datafile
2 '/u01/app/oracle/oradata/orcl/exp_rac_index01.dbf' size 300M
3 autoextend on next 10M maxsize unlimited
4* extent management local
Tablespace created.

SQL> select tablespace_name,file_name from dba_data_files;

TABLESPACE_NAME FILE_NAME
-------------------- --------------------------------------------------
USERS /u01/app/oracle/oradata/orcl/users01.dbf
SYSAUX /u01/app/oracle/oradata/orcl/sysaux01.dbf
UNDOTBS1 /u01/app/oracle/oradata/orcl/undotbs01.dbf
SYSTEM /u01/app/oracle/oradata/orcl/system01.dbf
EXAMPLE /u01/app/oracle/oradata/orcl/example01.dbf
EXP_RAC /u01/app/oracle/oradata/orcl/exp_rac01.dbf
EXP_RAC_INDEX /u01/app/oracle/oradata/orcl/exp_rac_index01.dbf


SQL> create user test1 identified by oracle
2 default tablespace exp_rac
3 temporary tablespace temp
4 quota unlimited on exp_rac
5* account unlock;
User created.

SQL> grant connect,resource to test1;
Grant succeeded.

SQL> create table test1.source as select * from dba_source;
Table created.

SQL> insert into test1.source select * from test1.source;
295491 rows created.

SQL> /
590982 rows created.

SQL> /
11819 rows created.

SQL> commit;
Commit complete.

SQL> analyze table test1.source compute statistics;
Table analyzed.

SQL> select count(*) from test1.source;

COUNT(*)
----------
2363928

SQL> select sum(bytes/(1024*1024)) MB from dba_extents
2 where segment_name='SOURCE'
3 and owner='TEST1';

MB
----------
408

[oracle@server49 orcl]$ ll -h exp_rac01.dbf
-rw-r----- 1 oracle oinstall 411M Jan 1 19:06 exp_rac01.dbf

SQL> create index test1.i_source
2 on test1.source(type)
3 tablespace exp_rac_index;
Index created.

SQL> select table_name,tablespace_name from dba_indexes
2 where owner='TEST1' and index_name='I_SOURCE';

TABLE_NAME TABLESPACE_NAME
------------------------------ --------------------
SOURCE EXP_RAC_INDEX
SQL> create directory expdp_dir as '/home/oracle/expdp_dir';
Directory created.

SQL> grant read,write on directory expdp_dir to test1;
Grant succeeded.

SQL> !mkdir -p /home/oracle/expdp_dir

[oracle@server49 ~]$ expdp test1/oracle directory=expdp_dir dumpfile=source.dmp logfile=source.log schemas=test1

Export: Release 10.2.0.5.0 - bit Production on Sunday, 01 January, 2012 19:38:30
Copyright (c) 2003, 2007, Oracle. All rights reserved.

Connected to: Oracle Database 10g Enterprise Edition Release 10.2.0.5.0 - bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
Starting "TEST1"."SYS_EXPORT_SCHEMA_01": test1/******** directory=expdp_dir dumpfile=source.dmp logfile=source.log schemas=test1
Estimate in progress using BLOCKS method...
Processing object type SCHEMA_EXPORT/TABLE/TABLE_DATA
Total estimation using BLOCKS method: 408 MB
Processing object type SCHEMA_EXPORT/PRE_SCHEMA/PROCACT_SCHEMA
Processing object type SCHEMA_EXPORT/TABLE/TABLE
Processing object type SCHEMA_EXPORT/TABLE/INDEX/INDEX
Processing object type SCHEMA_EXPORT/TABLE/CONSTRAINT/CONSTRAINT
Processing object type SCHEMA_EXPORT/TABLE/INDEX/STATISTICS/INDEX_STATISTICS
Processing object type SCHEMA_EXPORT/TABLE/COMMENT
Processing object type SCHEMA_EXPORT/TABLE/STATISTICS/TABLE_STATISTICS
. . exported "TEST1"."SOURCE" 280.8 MB 2363928 rows
Master table "TEST1"."SYS_EXPORT_SCHEMA_01" successfully loaded/unloaded
******************************************************************************
Dump file set for TEST1.SYS_EXPORT_SCHEMA_01 is:
/home/oracle/expdp_dir/source.dmp
Job "TEST1"."SYS_EXPORT_SCHEMA_01" successfully completed at 19:39:03

二:复制impdp导出的相关文件到目标库上,同时在目标库上创建相应的用户和表空间以及目录对象等

下载本文
显示全文
专题