技术开发 频道

Step by step 配置Oracle Stream

  4 测试场景

  本文档建立了针对hr用户的Stream 复制环境,如果没有特别声明,以下测试场景均以hr用户身份执行。

  4.1 建一张表测试

  主数据库

  SQL> CREATE TABLE TTT(id NUMBER PRIMARY KEY,

  2 name VARCHAR2(50)

  3 )

  4 /

  Table created.

  从数据库

  SQL> desc TTT

  Name Null? Type

  ID NOT NULL NUMBER

  NAME VARCHAR2(50)

  4.2 表中插入一行数据

  主数据库

  SQL> insert into ttt values (1,'sdfsdfsdfsdf');

  1 row created.

  SQL> commit;

  Commit complete.

  SQL>

  从数据库

  SQL> select * from TTT;

  ID NAME

  1 sdfsdfsdfsdf

  1 sdfsdfsdfsdf

  变更一下表的结构,添加一列

  主数据库

  SQL> ALTER TABLE TTT ADD(age NUMBER(2));

  Table altered

  从数据库

  SQL> desc TTT

  Name Null? Type

  ID NOT NULL NUMBER

  NAME VARCHAR2(50)

  AGE NUMBER(2)

  4.4 将表换一个表空间

  主数据库

  SQL> SELECT table_name,tablespace_name FROM user_tables

  2 WHERE table_name='TTT';

  TABLE_NAME TABLESPACE_NAME

  TTT USERS

  SQL> ALTER TABLE TTT MOVE TABLESPACE tbs_stream;

  Table altered

  SQL> SELECT table_name,tablespace_name FROM user_tables

  WHERE table_name='TTT';

  TABLE_NAME TABLESPACE_NAME

  TTT TBS_STREAM

  从数据库

  SQL> SELECT table_name,tablespace_name FROM user_tables

  WHERE table_name='TTT';

  TABLE_NAME TABLESPACE_NAME

  SQL> SELECT table_name,tablespace_name FROM user_tables

  WHERE table_name='TTT';

  TABLE_NAME TABLESPACE_NAME

  4.5 表上

  Name列建一索引

  主数据库

  SQL> CREATE INDEX ttt_name_idx ON TTT(name);

  Index created

  从数据库

  SQL> SELECT table_name, index_name FROM user_indexes WHERE table_name = 'TTT';

  TABLE_NAME INDEX_NAME

  ------------------------------ ------------------------------

  TTT TTT_NAME_IDX

  TTT SYS_C005721

  4.6 Rebuild索引测试

  主数据库

  SQL> ALTER INDEX ttt_name_idx REBUILD;

  Index altered

  从数据库

  SQL> SELECT table_name, index_name FROM user_indexes WHERE table_name = 'TTT';

  TABLE_NAME INDEX_NAME

  TTT TTT_NAME_IDX

  TTT SYS_C005721

  4.7 4.7

  主数据库

  SQL> ALTER INDEX ttt_name_idx REBUILD TABLESPACE tbs_stream;

  Index altered

  从数据库

  SQL> SELECT table_name,index_name,tablespace_name FROM user_indexes

  WHERE table_name = 'TTT';

  TABLE_NAME INDEX_NAME TABLESPACE_NAME

  TTT TTT_NAME_IDX TBS_STREAM

  TTT SYS_C005721 USERS

  4.8 删除索引测试

  主数据库

  SQL> DROP INDEX ttt_name_idx;

  Index dropped

  从数据库

  SQL> SELECT table_name,index_name,tablespace_name FROM user_indexes

  WHERE table_name = ‘TTT’;

  TABLE_NAME INDEX_NAME TABLESPACE_NAME

  TTT SYS_C005721 USERS

  4.9 删除表测试

  主数据库

  SQL> DROP TABLE ttt;

  Table dropped

  从数据库

  SQL> DESC ttt;

  Object ttt does not exist.

  4.10 建一张带有

  LOB类型字段的表测试

  主数据库

  SQL> CREATE TABLE tttclob(id NUMBER PRIMARY KEY, memo CLOB);

  Table created

  从数据库

  SQL> DESC tttclob;

  Name Null? Type

  ID NOT NULL NUMBER

  MEMO CLOB

  4.11 表中插入一行数据

  主数据库

  SQL> INSERT INTO tttclob VALUES(1,'clob_test');

  1 row inserted

  SQL> commit;

  Commit complete

  从数据库

  SQL> SELECT * FROM tttclob;

  ID MEMO

  1 clob_test

  4.12 4.12 建

  Type测试

  主数据库

  SQL> CREATE or REPLACE TYPE ttttype;

  2/

  Type created

  从数据库

  SQL> SELECT * FROM user_types WHERE type_name='TTTTYPE';

  TYPE_NAME TYPE_OID TYPECODE

  ATTRIBUTES METHODS PREDEFINED INCOMPLETE FINAL INSTANTIABLE

  SUPERTYPE_OWNER SUPERTYPE_NAME

  LOCAL_ATTRIBUTES LOCAL_METHODS TYPEID

  TTTTYPE 1B36AAF10DA8301DE040A8C0289A77B4 OBJECT

  0 0 NO YES YES YES

  4.13 删除

  Type测试

  主数据库

  SQL> DROP TYPE ttttype;

  Type dropped

  从数据库

  SQL> SELECT * FROM user_types WHERE type_name='TTTTYPE';

  TYPE_NAME TYPE_OID TYPECODE

  ATTRIBUTES METHODS PREDEFINED INCOMPLETE FINAL INSTANTIABLE

  SUPERTYPE_OWNER SUPERTYPE_NAME

  LOCAL_ATTRIBUTES LOCAL_METHODS TYPEID

0
相关文章