您好,欢迎访问一九零五行业门户网

在Oracle 11g Streams测试Streams数据传输

源数据库为两台集群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
其它类似信息

推荐信息