源数据库为两台集群64位hp-unix的oracle11gr2数据库,目标数据库为1台64位linux的oracle11gr2的数据库,把源数据库的某个用户的数
描述:
源数据库为两台集群64位hp-unix的oracle11gr2数据库,
目标数据库为1台64位linux的oracle11gr2的数据库,
把源数据库的某个用户的数据传输到目标数据库中
1、源数据库、目标数据库均为归档模式
源:
sql> archive log list;
database log mode archive mode
automatic archival enabled
archive destination +archdg
oldest online log sequence 60
next log sequence to archive 61
current log sequence 61
目标:
sql> archive log list;
database log mode no archive mode
automatic archival disabled
archive destination use_db_recovery_file_dest
oldest online log sequence 54
current log sequence 56
sql> startup mount
oracle instance started.
total system global area 6747725824 bytes
fixed size 2213976 bytes
variable size 4697622440 bytes
database buffers 2013265920 bytes
redo buffers 34623488 bytes
database mounted.
sql> alter database archivelog;
database altered.
sql> alter database open;
database altered.
2、设置源、目标数据库的相关参数
源:
sql> show parameter global_names
name type value
------------------------------------ ----------- ------------------------------
global_names boolean false
sql>
sql> alter system set global_names=true scope=both;
system altered.
sql> show parameter aq_tm_processes
name type value
------------------------------------ ----------- ------------------------------
aq_tm_processes integer 0
sql> alter system set aq_tm_processes=2 scope=both;
system altered.
目标:
sql> show parameter global_names
name type value
------------------------------------ ----------- ------------------------------
global_names boolean false
sql>
sql> alter system set global_names=true scope=both;
system altered.
sql> show parameter aq_tm_processes
name type value
------------------------------------ ----------- ------------------------------
aq_tm_processes integer 0
sql> alter system set aq_tm_processes=2 scope=both;
system altered.
3、在源数据库启用追加日志
启用辅助日志
sql> alter database add supplemental log data;
database altered.
4、在源、目标数据库创建表空间、用户、授权
源:
查看数据文件位置:
select file_name from dba_data_files
创建表空间:
create tablespace streams_space
datafile '+datadg/cboms/datafile/streams_space.dbf'
size 5m autoextend on
创建用户:
create user strmadmin
identified by strmadmin
default tablespace streams_space
授予dba角色:
grant dba to strmadmin
授予流管理权限:
exec dbms_streams_auth.grant_admin_privilege('strmadmin') ----使用sys 或 system在命令行执行
目标:
查看数据文件位置:
select file_name from dba_data_files
创建表空间:
create tablespace streams_space
datafile '/u01/app/oracle/oradata/bhoms/streams_space.dbf'
size 5m autoextend on
创建用户:
create user strmadmin
identified by strmadmin
default tablespace streams_space
授予dba角色:
grant dba to strmadmin
授予流管理权限:
exec dbms_streams_auth.grant_admin_privilege('strmadmin') ----使用sys 或 system在命令行执行
5、配置源、目标数据库的tnsnames.ora
源数据库节点1:
cbdbs01-> cd $oracle_home
cbdbs01-> pwd
/oracle/db/product/11.2.0/db_1
cbdbs01-> cd network/admin
cbdbs01-> vi tnsnames.ora
在文件中末尾增加:
bhoms_192.168.2.2 =
(description =
(address = (protocol = tcp)(host = 192.168.2.2)(port = 1521))
(connect_data =
(server = dedicated)
(service_name = bhoms)
)
)
测试连接到目标数据库
cbdbs01-> sqlplus testuser/testpassword@bhoms_192.168.2.2
源数据库节点2:
源数据库节点1:
cbdbs02-> cd $oracle_home
cbdbs02-> pwd
/oracle/db/product/11.2.0/db_1
cbdbs02-> cd network/admin
cbdbs02-> vi tnsnames.ora
在文件中末尾增加:
bhoms_192.168.2.2 =
(description =
(address = (protocol = tcp)(host = 192.168.2.2)(port = 1521))
(connect_data =
(server = dedicated)
(service_name = bhoms)
)
)
测试连接到目标数据库
cbdbs02-> sqlplustestuser/testpassword@bhoms_192.168.2.2
目标数据库:
[@linuxidc ~]$ cd $oracle_home
[@linuxidc dbhome_1]$ cd network
[@linuxidc network]$ cd admin
[@linuxidc admin]$ pwd
/u01/app/oracle/product/11.2.0/dbhome_1/network/admin
在这目录下没有tnsnames.ora文件,新建一个tnsnames.ora文件,,然后增加下面的内容:
[@linuxidc admin]$ vi tnsnames.ora
cboms =
(description =
(address = (protocol = tcp)(host = 192.168.1.1)(port = 1568))
(address = (protocol = tcp)(host = 192.168.1.2)(port = 1568))
(load_balance = yes)
(failover = on)
(connect_data =
(server = dedicated)
(service_name = cboms)
(failover_mode =
(type = select)
(method = basic)
)
)
)
测试是否连接到源数据库。
[@linuxidc admin]$ sqlplus testuser/testpassword@cboms
6、在源、目标数据库创建到目标数据库的db_link
源:
sql> conn strmadmin/strmadmin
sql>create database link bhoms connect to strmadmin identified by strmadmin using 'bhoms_192.168.2.2';
测试:
select * fromglobal_name@bhoms
目标:
sql> conn strmadmin/strmadmin
sql>create database link cboms connect to strmadmin identified by strmadmin using 'cboms';
测试:
select * fromglobal_name@cboms