從資料庫:
作業系統:AIX 5.2
IP地址:192.168.10.43
資料庫:Oracle 10.2.0.3
ORACLE_SID:h10g
Global_name:h10g
3 環境準備
3.1 設定初始化參數
使用pfile的修改init<SID>.ora檔案,使用spfile的通過alter system命令修改spile檔案。主、從資料庫分別執行如下的語句:
Sqlplus ‘/ as sysdba’
alter system set aq_tm_processes=2 scope=both;
alter system set global_names=true scope=both;
alter system set job_queue_processes=10 scope=both;
alter system set parallel_max_servers=20 scope=both;
alter system set undo_retention=3600 scope=both;
alter system set nls_date_format='YYYY-MM-DD HH24:MI:SS' scope=spfile;
alter system set streams_pool_size=25M scope=spfile;
alter system set utl_file_dir='*' scope=spfile;
alter system set open_links=4 scope=spfile;
執行完畢後重啟資料庫。
3.2 將資料庫置為歸檔模式
設定log_archive_dest_1到相應的位置;設定log_archive_start為TRUE,即啟用自動歸檔功能;設定log_archive_format指定歸檔日誌的命令格式。
舉例:
sqlplus ‘/ as sysdba’
alter system set log_archive_dest_1=’location=/yang/arch’ scope=spfile;
alter system set log_archive_start=TRUE scope=spfile;
alter system set log_archive_format=’ arch%t_%s_%r.arc’ scope=spfile;
shutdown immediate;
startup mount;
alter database archivelog;
alter database open;
資料庫置為歸檔模式後,可以按如下方式檢驗一下:
SQL> archive log list
Database log mode Archive Mode
Automatic archival Enabled
Archive destination /yang/arch
Oldest online log sequence 534
Next log sequence to archive 536
Current log sequence 536
觀註標紅的部分。
3.3 建立stream 系統管理使用者
3.3.1 建立主環境stream系統管理使用者
#以sysdba身份登入
connect / as sysdba
#建立主環境的Stream專用資料表空間
create tablespace tbs_stream datafile '/yang/oradata/prod/tbs_stream01.dbf'
size 100m autoextend on maxsize unlimited segment space management auto;
從資料庫
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
4.3 變更一下表的結構,添加一列
主要資料庫
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';
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
------------------------------ ------------------------------
TTT TBS_STREAM
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 索引換一個資料表空間測試
主要資料庫
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';