关于Oracle Stream的安装、配置和使用
2009-10-19 22:25
411 查看
原创于2008年12月21日,2009年10月19日迁移至此。
关于Oracle
Stream的安装
、配置和使用
因项目预研需要,所以想找一个能够满足内外网数据库 同步方案,前面先是测试 了一下Oracle的高级复制功能,未果;才转而进行Oracle Stream的测试,大概是我水平太差了,前后测试了3.5遍总算把Oracle Stream运行正常起来了。
错误的原因其实称不上原因,无他,读文档读的不细致,手误、本身对这方面也缺乏理论认识。
关于Oracle流的原理
Oracle 流能够共享信息。Oracle流每个单元的共享信息来自于消息,我们可以在流中共享这些消息。流可以在同一个数据库或不同数据库之间传播信息。"流路由"指定信息到达特定的目的地。流比起传统的在不同数据库之间捕获、管理
、共享消息的解决方案,有着更强大的功能和灵活性。流提供的功能可用于分布式企业程序、数据仓库和高可用性解决方案。我们可以在同一时刻使用oracle流的所有功能。我们可以使用流的新功能而不会严重影响数据库的性能。
使
用Oracle流,我们可以控制流里的信息,流的流向,流进入目标数据库时,消息怎样运作,中止流。通过配置流,可以满足我们的特殊需求。基于我们的特殊
情况,流可以在数据库里自动捕获、传播和管理DML、DDL消息。我们可以把用户定义的消息放入流中,流可以自动把信息传播到其它数据库或应用程序。当消
息到达目的数据库时,流可以根据我们的设定应用它们。
本文主要参考文档《Step by step 配置Oracle Stream》杨宝秋(hrb_qiuyb)
《stream_concepts_administration_读书笔记.doc》具体参见
http://www.itpub.net/thread-849868-1-1.html
试验环境采用虚拟机方式,操作系统Windows2003,Oracle版本10.2.0
数据源机器配置 目标机器配置
计算机名 Source Dest
IP地址 192.168.23.130 192.168.23.131
SID Source Dest
第一步:进行Stream前的参数配置,Source和Dest机器上均运行,运行命令可完全一致
SQL> conn sys/inxite as sysdba;
已连接。
SQL> alter system set aq_tm_processes=2 scope=both;
系统已更改。
SQL> alter system set global_names=true scope=both;
系统已更改。
SQL> alter system set job_queue_processes=20 scope=both;
系统已更改。
SQL> alter system set parallel_max_servers=20 scope=both;
系统已更改。
SQL> alter system set undo_retention=3600 scope=both;
系统已更改。
SQL> alter system set nls_date_format='YYYY-MM-DD HH24:MI:SS' scope=spfile;
系统已更改。
SQL> alter system set streams_pool_size=25M scope=spfile;
系统已更改。
SQL> alter system set utl_file_dir='*' scope=spfile;
系统已更改。
SQL> alter system set open_links=4 scope=spfile;
系统已更改。
SQL> alter system set log_archive_dest='e:/OracleDB/arch' scope=spfile;
系统已更改。
SQL> alter system set log_archive_start=TRUE scope=spfile;
系统已更改。
SQL> alter system set log_archive_format='arch%t_%s_%r.arc' scope=spfile;
系统已更改。
第二步:查看系统归档状态(双机可以同时检查,检查方式完全一致)
SQL> shutdown immediate
数据库已经关闭。
已经卸载数据库。
ORACLE 例程已经关闭。
SQL> startup mount
ORA-32004: obsolete and/or deprecated parameter(s) specified
ORACLE 例程已经启动。
Total System Global Area 167772160 bytes
Fixed Size 1247900 bytes
Variable Size 92276068 bytes
Database Buffers 71303168 bytes
Redo Buffers 2945024 bytes
数据库装载完毕。
SQL> alter database archivelog;
数据库已更改。
SQL> alter database open;
数据库已更改。
SQL> archive log list;
数据库日志模式 存档模式
自动存档 启用
存档终点 USE_DB_RECOVERY_FILE_DEST
最早的联机日志序列 1
下一个存档日志序列 2
当前日志序列 2
SQL>
第三步:创建Stream用户和表空间(双机可以同时设置,设置方式完全一致)
#创建主环境的Stream专用表空间
SQL> create tablespace tbs_stream datafile 'e:/OracleDB/tbs_stream01.dbf'
2 size 100m autoextend on next 100m maxsize 1000m segment space management auto;
表空间已创建。
#将logminer 的数据字典从system表空间转移到新建的表空间,防止撑满system表空间
SQL> execute dbms_logmnr_d.set_tablespace('tbs_stream');
PL/SQL 过程已成功完成。
#创建Stream管理用户
SQL> create user strmadmin identified by strmadmin default tablespace tbs_stream
temporary tablespace temp;
用户已创建。
#授权Stream管理用户
SQL> grant connect,resource,dba,aq_administrator_role to strmadmin;
授权成功。
SQL> begin
2 dbms_streams_auth.grant_admin_privilege(
3 grantee => 'strmadmin',
4 grant_privileges => true);
5 end;
6 /
PL/SQL 过程已成功完成。
第四步:配置各自双方的数据库连接
在source机器上添加dest数据源,名称为dest
在dest机器上添加source数据源,名称为source
第五步:启用追加日志
可以基于Database级别或Table级别,启用追加日志(Supplemental Log)。在建立根据Schema
粒度进行复制的Oracle Stream 环境中,如果确认Schema 下所有Table 都有合理的主键
(Primary Key),则不再需要启用追加日志。
#启用Database 追加日志
SQL> alter database add supplemental log data
;
数据库已更改。
#启用Table追加日志
SQL> ALTER DATABASE ADD SUPPLEMENTAL LOG DATA (PRIMARY KEY, UNIQUE, FOREIGN KEY)
COLUMNS;
第六步:创建主数据库数据库链,以连接到从数据库
首先查看两台Oracle服务器的域名是否一致,如果不一致,需要alter database rename global_name to xxx
SQL> select * from global_name;
GLOBAL_NAME
--------------------------------------------------------------------------------
SOURCE.REGRESS.RDBMS.DEV.US.ORACLE.COM
SQL>conn strmadmin/strmadmin;
SQL> create database link dest connect to strmadmin identified by strmadmin using 'dest';
数据库链接已创建。
SQL> select * from tab@dest;
未选定行
第七步:创建从数据库数据库链,以连接到主数据库
SQL> select * from global_name;
GLOBAL_NAME
--------------------------------------------------------------------------------
DEST.REGRESS.RDBMS.DEV.US.ORACLE.COM
SQL>conn strmadmin/strmadmin
SQL> create database link source connect to strmadmin identified by strmadmin using 'source';
数据库链接已创建。
SQL> select * from tab@source;
未选定行
第八步:创建Master(源)流队列
SQL> connect strmadmin/strmadmin
已连接。
SQL> begin
2 dbms_streams_adm.set_up_queue(
3 queue_table => 'source_queue_table',
4 queue_name => 'source_queue');
5 end;
6 /
PL/SQL 过程已成功完成。
第九步:创建Backup(目标)流队列
SQL> connect strmadmin/strmadmin
已连接。
SQL> begin
2 dbms_streams_adm.set_up_queue(
3 queue_table => 'dest_queue_table',
4 queue_name => 'dest_queue');
5 end;
6 /
PL/SQL 过程已成功完成。
第十步:确保需要复制源机器上Schema对象的存在,并将Schema导出
exp userid=test/test@source file='e:/test.dmp' object_consistent=y rows=y
ITPUB个人空间cN^B9k8V,N~H?
ITPUB个人空间+SO9N+z$T/R0e
H7b8gX(j'L6517
w]"}go6GISo:wO6517
S5^WH6]Ey6517
ITPUB个人空间j2i x0eX
;Sod/GSKn-k!?.u6517
ITPUB个人空间EL
n0ID'JOw9P |
p.QM*v.j6517
ITPUB个人空间}3LYetp:I7p
&?:t*mK2Q(A5p6517
ITPUB个人空间J
T6cM)Z
s#~?cB(Z5B6517
ITPUB个人空间`?_?)Sn
!}:qH9gQ,[:r/d6517
W!P%B i4kc{'gA4r6517
jYLR2}7w /{vD6517
(c#X|Pi~'y6517
ITPUB个人空间k2Hg~+U:q{
ITPUB个人空间9i^(d;`1s0g
ITPUB个人空间MFa$p8zTzE
Gjy(_w7x6517
4B;^$f+T&x|jw6517
ITPUB个人空间p%t.W^~
6be$e�XOe6517
ITPUB个人空间)`2lT5tx ef
Q9_
a5y
wc w O5k7Yz_7a7W,t/6517
I,[0x,X b|YF@u6517
-h"|+J
?m_Nx6517
ITPUB个人空间}%Y%txZy(C
*u0|3fP&/d6517
LV;~0]L(v6517
ITPUB个人空间Z[ei$aR2D*~
ITPUB个人空间W1v.N!QM:V#T&j;L
@1^6QHP(i3x6517
ITPUB个人空间w*f0}UzvA0M{
y7~CW.N6]6517
;VS0V6AR!q�C6517
1^+Aq4[L'{J(p6517
ITPUB个人空间`JA!Z{Q$Ct
ITPUB个人空间aaD
HO/xv5uU
P7i#U
o
?Qxjjo6517
S4~)nk!o(ym6517
'~O8_tAY/J?I8nj6517
ITPUB个人空间 mTH^TZvu}G
}K4TpRU%c6517
ITPUB个人空间/Fh(Ttb0EHn
@}B/xN:]L6517
ITPUB个人空间g2i/dzD%{
+|!~9~3PGWZ6517
.O0lZ%R
}m$`1f9j6517
)@Q;V Nxd0cc.e;x6517
ITPUB个人空间~T1dK5}f
H
%ET&j4A`6517
ITPUB个人空间;X#Lr8w4i
R+en Y;eY^%Snk"dp6517
ITPUB个人空间'po8C3LJ}t
'Ys5Ldz%dF6517
ITPUB个人空间S[1m%Q$hB A;kX
ITPUB个人空间,mhlI/e g
ITPUB个人空间Mt.|c"O~-V]
B1`f[6/L[y6517
ITPUB个人空间s)`(`l]�L;}z
t;bk4Q7dZ/w e
jg;/6517
4R+z3u�`1?]6517
ITPUB个人空间`/�QU.E#l
ITPUB个人空间8C8w5pb(p2g
ITPUB个人空间x9J/p6SM
o7X.c$J)G
ITPUB个人空间R5T'ce6ew0vl&SN
ITPUB个人空间 qFR7z5s%T%w [
ITPUB个人空间;}q T5n�N"m
GdD9nsb;Z/e6517
ITPUB个人空间1?dHw'[Z;MJY
/{$lc;zj6517
ITPUB个人空间K|"qZtg
ITPUB个人空间 ?7l`}fC(A9v
ITPUB个人空间 wpc g5QVkr
ITPUB个人空间Q+tTQ?c0^Y
ITPUB个人空间.Rw
BIA-Av*mt
g
N
W*N*B1o6517
"H_|!X#?u;/7s*u6517
A2st;KB1^{x@6517
"Nqt%x7J"^6517
nh.znQ)P%[/`$H6517
ITPUB个人空间+j
XW%B8q1P/D`
ITPUB个人空间4d3y)[
Yj5]t2N
u(ArI8[i J,}k{6517
Zc%[8c^do6517
Z9r7V
ii3M4]p8RE6517
z0I
pYN+k;}%i d$_6517
1J ]"G�i'I`;t#M6517
ITPUB个人空间4v"v}bN"WRm
ITPUB个人空间8^
VT6x2_rhV
ITPUB个人空间/E9Yw7Cb-Z
ITPUB个人空间pV~Hkqy
ITPUB个人空间g*D!?9gs
6y'|4H LdX _6517
j-C(MXP a6517
xg-t*b6^u8cO6517
ITPUB个人空间5rP2`fdt+Zh}D
;X}/`HUcH
v6517
Jm�D.HLF%j6517
ITPUB个人空间 tCM${.os}4y
ITPUB个人空间/I6m zj
W
0F]/GU$i�n&tD6517
ITPUB个人空间7]!@?$t
O�s#H
0C%Fc-y:p~f6517
ITPUB个人空间*FbJ?7v'},x~l
A'u/HN)?V hK/w6517
ITPUB个人空间-n)`px@H3N6v3t/
+_.Z3{ h6f6o6517
9u'f4X�^TpQ:F6517
|zJ.T'Y }Mx h6517
ITPUB个人空间 @ ]H%loh/~
ITPUB个人空间v(UHcg
ITPUB个人空间#k^,G/B g%WrP J
ITPUB个人空间aw|)S J.N1e
d%u-~|2}6i~O6517
-u!ykp2?7u/J6517
ITPUB个人空间1z1i`R.s1l-rq.V
+WFy3dq0Pc6517
ITPUB个人空间3L}
P
~-WM9W
['^oP @O6517
0`6CC$j2tkj/C6517
ITPUB个人空间`br]n/0dG+bn3{3q
ITPUB个人空间H3Z,S|+M)E
ITPUB个人空间^2sf7Ba5QZb/
^'h%} /eA5A6517
?*Rn
q6t6517
ITPUB个人空间z$|B�iIB8m3H
PM0f1E!rI6rs6517
F#K0mB*VRnQ-}4CaC6517
;HTA@$b+ZB;r6517
ITPUB个人空间$RE.zskZ
tsh?'X4r6517
ITPUB个人空间-zX/&H b0l
G3m�o,X8q^oeY
a%q%Q6517
ITPUB个人空间"X8jkj0Lr
TfP/yKt4?Gb6517
cJy:zL:W!|;a]2y6517
o:]"}(w{B^/Cq2B6517
2U7@,jo;T+X8J
g C[6517
ITPUB个人空间%?_|PQS)I2XB
ITPUB个人空间h7Y e h�i&Z!y9Rr
,SnEhTTTeG:a6517
{CPa/T.Nb.K6517
ITPUB个人空间(}*PG.dOL
ITPUB个人空间~9|^$A3Jz
f
ITPUB个人空间(y9^bhQlP"t3i!J
ITPUB个人空间5P|Hqs/
ITPUB个人空间uk0Y5yQ#R$ml+A4}Y
e9j(UWep}+c@)n$G6517
ITPUB个人空间,W7j@{_
ITPUB个人空间&or,I3r0K.K
ITPUB个人空间q,KWhMmt0z/l
^y[ n$dP
xH8XH6517
;D/5x%FAg!|Q'W6517
ITPUB个人空间&u
关于Oracle
Stream的安装
、配置和使用
因项目预研需要,所以想找一个能够满足内外网数据库 同步方案,前面先是测试 了一下Oracle的高级复制功能,未果;才转而进行Oracle Stream的测试,大概是我水平太差了,前后测试了3.5遍总算把Oracle Stream运行正常起来了。
错误的原因其实称不上原因,无他,读文档读的不细致,手误、本身对这方面也缺乏理论认识。
关于Oracle流的原理
Oracle 流能够共享信息。Oracle流每个单元的共享信息来自于消息,我们可以在流中共享这些消息。流可以在同一个数据库或不同数据库之间传播信息。"流路由"指定信息到达特定的目的地。流比起传统的在不同数据库之间捕获、管理
、共享消息的解决方案,有着更强大的功能和灵活性。流提供的功能可用于分布式企业程序、数据仓库和高可用性解决方案。我们可以在同一时刻使用oracle流的所有功能。我们可以使用流的新功能而不会严重影响数据库的性能。
使
用Oracle流,我们可以控制流里的信息,流的流向,流进入目标数据库时,消息怎样运作,中止流。通过配置流,可以满足我们的特殊需求。基于我们的特殊
情况,流可以在数据库里自动捕获、传播和管理DML、DDL消息。我们可以把用户定义的消息放入流中,流可以自动把信息传播到其它数据库或应用程序。当消
息到达目的数据库时,流可以根据我们的设定应用它们。
本文主要参考文档《Step by step 配置Oracle Stream》杨宝秋(hrb_qiuyb)
《stream_concepts_administration_读书笔记.doc》具体参见
http://www.itpub.net/thread-849868-1-1.html
试验环境采用虚拟机方式,操作系统Windows2003,Oracle版本10.2.0
数据源机器配置 目标机器配置
计算机名 Source Dest
IP地址 192.168.23.130 192.168.23.131
SID Source Dest
第一步:进行Stream前的参数配置,Source和Dest机器上均运行,运行命令可完全一致
SQL> conn sys/inxite as sysdba;
已连接。
SQL> alter system set aq_tm_processes=2 scope=both;
系统已更改。
SQL> alter system set global_names=true scope=both;
系统已更改。
SQL> alter system set job_queue_processes=20 scope=both;
系统已更改。
SQL> alter system set parallel_max_servers=20 scope=both;
系统已更改。
SQL> alter system set undo_retention=3600 scope=both;
系统已更改。
SQL> alter system set nls_date_format='YYYY-MM-DD HH24:MI:SS' scope=spfile;
系统已更改。
SQL> alter system set streams_pool_size=25M scope=spfile;
系统已更改。
SQL> alter system set utl_file_dir='*' scope=spfile;
系统已更改。
SQL> alter system set open_links=4 scope=spfile;
系统已更改。
SQL> alter system set log_archive_dest='e:/OracleDB/arch' scope=spfile;
系统已更改。
SQL> alter system set log_archive_start=TRUE scope=spfile;
系统已更改。
SQL> alter system set log_archive_format='arch%t_%s_%r.arc' scope=spfile;
系统已更改。
第二步:查看系统归档状态(双机可以同时检查,检查方式完全一致)
SQL> shutdown immediate
数据库已经关闭。
已经卸载数据库。
ORACLE 例程已经关闭。
SQL> startup mount
ORA-32004: obsolete and/or deprecated parameter(s) specified
ORACLE 例程已经启动。
Total System Global Area 167772160 bytes
Fixed Size 1247900 bytes
Variable Size 92276068 bytes
Database Buffers 71303168 bytes
Redo Buffers 2945024 bytes
数据库装载完毕。
SQL> alter database archivelog;
数据库已更改。
SQL> alter database open;
数据库已更改。
SQL> archive log list;
数据库日志模式 存档模式
自动存档 启用
存档终点 USE_DB_RECOVERY_FILE_DEST
最早的联机日志序列 1
下一个存档日志序列 2
当前日志序列 2
SQL>
第三步:创建Stream用户和表空间(双机可以同时设置,设置方式完全一致)
#创建主环境的Stream专用表空间
SQL> create tablespace tbs_stream datafile 'e:/OracleDB/tbs_stream01.dbf'
2 size 100m autoextend on next 100m maxsize 1000m segment space management auto;
表空间已创建。
#将logminer 的数据字典从system表空间转移到新建的表空间,防止撑满system表空间
SQL> execute dbms_logmnr_d.set_tablespace('tbs_stream');
PL/SQL 过程已成功完成。
#创建Stream管理用户
SQL> create user strmadmin identified by strmadmin default tablespace tbs_stream
temporary tablespace temp;
用户已创建。
#授权Stream管理用户
SQL> grant connect,resource,dba,aq_administrator_role to strmadmin;
授权成功。
SQL> begin
2 dbms_streams_auth.grant_admin_privilege(
3 grantee => 'strmadmin',
4 grant_privileges => true);
5 end;
6 /
PL/SQL 过程已成功完成。
第四步:配置各自双方的数据库连接
在source机器上添加dest数据源,名称为dest
在dest机器上添加source数据源,名称为source
第五步:启用追加日志
可以基于Database级别或Table级别,启用追加日志(Supplemental Log)。在建立根据Schema
粒度进行复制的Oracle Stream 环境中,如果确认Schema 下所有Table 都有合理的主键
(Primary Key),则不再需要启用追加日志。
#启用Database 追加日志
SQL> alter database add supplemental log data
;
数据库已更改。
#启用Table追加日志
SQL> ALTER DATABASE ADD SUPPLEMENTAL LOG DATA (PRIMARY KEY, UNIQUE, FOREIGN KEY)
COLUMNS;
第六步:创建主数据库数据库链,以连接到从数据库
首先查看两台Oracle服务器的域名是否一致,如果不一致,需要alter database rename global_name to xxx
SQL> select * from global_name;
GLOBAL_NAME
--------------------------------------------------------------------------------
SOURCE.REGRESS.RDBMS.DEV.US.ORACLE.COM
SQL>conn strmadmin/strmadmin;
SQL> create database link dest connect to strmadmin identified by strmadmin using 'dest';
数据库链接已创建。
SQL> select * from tab@dest;
未选定行
第七步:创建从数据库数据库链,以连接到主数据库
SQL> select * from global_name;
GLOBAL_NAME
--------------------------------------------------------------------------------
DEST.REGRESS.RDBMS.DEV.US.ORACLE.COM
SQL>conn strmadmin/strmadmin
SQL> create database link source connect to strmadmin identified by strmadmin using 'source';
数据库链接已创建。
SQL> select * from tab@source;
未选定行
第八步:创建Master(源)流队列
SQL> connect strmadmin/strmadmin
已连接。
SQL> begin
2 dbms_streams_adm.set_up_queue(
3 queue_table => 'source_queue_table',
4 queue_name => 'source_queue');
5 end;
6 /
PL/SQL 过程已成功完成。
第九步:创建Backup(目标)流队列
SQL> connect strmadmin/strmadmin
已连接。
SQL> begin
2 dbms_streams_adm.set_up_queue(
3 queue_table => 'dest_queue_table',
4 queue_name => 'dest_queue');
5 end;
6 /
PL/SQL 过程已成功完成。
第十步:确保需要复制源机器上Schema对象的存在,并将Schema导出
exp userid=test/test@source file='e:/test.dmp' object_consistent=y rows=y
ITPUB个人空间cN^B9k8V,N~H?
ITPUB个人空间+SO9N+z$T/R0e
H7b8gX(j'L6517
w]"}go6GISo:wO6517
S5^WH6]Ey6517
ITPUB个人空间j2i x0eX
;Sod/GSKn-k!?.u6517
ITPUB个人空间EL
n0ID'JOw9P |
p.QM*v.j6517
ITPUB个人空间}3LYetp:I7p
&?:t*mK2Q(A5p6517
ITPUB个人空间J
T6cM)Z
s#~?cB(Z5B6517
ITPUB个人空间`?_?)Sn
!}:qH9gQ,[:r/d6517
W!P%B i4kc{'gA4r6517
jYLR2}7w /{vD6517
(c#X|Pi~'y6517
ITPUB个人空间k2Hg~+U:q{
ITPUB个人空间9i^(d;`1s0g
ITPUB个人空间MFa$p8zTzE
Gjy(_w7x6517
4B;^$f+T&x|jw6517
ITPUB个人空间p%t.W^~
6be$e�XOe6517
ITPUB个人空间)`2lT5tx ef
Q9_
a5y
wc w O5k7Yz_7a7W,t/6517
I,[0x,X b|YF@u6517
-h"|+J
?m_Nx6517
ITPUB个人空间}%Y%txZy(C
*u0|3fP&/d6517
LV;~0]L(v6517
ITPUB个人空间Z[ei$aR2D*~
ITPUB个人空间W1v.N!QM:V#T&j;L
@1^6QHP(i3x6517
ITPUB个人空间w*f0}UzvA0M{
y7~CW.N6]6517
;VS0V6AR!q�C6517
1^+Aq4[L'{J(p6517
ITPUB个人空间`JA!Z{Q$Ct
ITPUB个人空间aaD
HO/xv5uU
P7i#U
o
?Qxjjo6517
S4~)nk!o(ym6517
'~O8_tAY/J?I8nj6517
ITPUB个人空间 mTH^TZvu}G
}K4TpRU%c6517
ITPUB个人空间/Fh(Ttb0EHn
@}B/xN:]L6517
ITPUB个人空间g2i/dzD%{
+|!~9~3PGWZ6517
.O0lZ%R
}m$`1f9j6517
)@Q;V Nxd0cc.e;x6517
ITPUB个人空间~T1dK5}f
H
%ET&j4A`6517
ITPUB个人空间;X#Lr8w4i
R+en Y;eY^%Snk"dp6517
ITPUB个人空间'po8C3LJ}t
'Ys5Ldz%dF6517
ITPUB个人空间S[1m%Q$hB A;kX
ITPUB个人空间,mhlI/e g
ITPUB个人空间Mt.|c"O~-V]
B1`f[6/L[y6517
ITPUB个人空间s)`(`l]�L;}z
t;bk4Q7dZ/w e
jg;/6517
4R+z3u�`1?]6517
ITPUB个人空间`/�QU.E#l
ITPUB个人空间8C8w5pb(p2g
ITPUB个人空间x9J/p6SM
o7X.c$J)G
ITPUB个人空间R5T'ce6ew0vl&SN
ITPUB个人空间 qFR7z5s%T%w [
ITPUB个人空间;}q T5n�N"m
GdD9nsb;Z/e6517
ITPUB个人空间1?dHw'[Z;MJY
/{$lc;zj6517
ITPUB个人空间K|"qZtg
ITPUB个人空间 ?7l`}fC(A9v
ITPUB个人空间 wpc g5QVkr
ITPUB个人空间Q+tTQ?c0^Y
ITPUB个人空间.Rw
BIA-Av*mt
g
N
W*N*B1o6517
"H_|!X#?u;/7s*u6517
A2st;KB1^{x@6517
"Nqt%x7J"^6517
nh.znQ)P%[/`$H6517
ITPUB个人空间+j
XW%B8q1P/D`
ITPUB个人空间4d3y)[
Yj5]t2N
u(ArI8[i J,}k{6517
Zc%[8c^do6517
Z9r7V
ii3M4]p8RE6517
z0I
pYN+k;}%i d$_6517
1J ]"G�i'I`;t#M6517
ITPUB个人空间4v"v}bN"WRm
ITPUB个人空间8^
VT6x2_rhV
ITPUB个人空间/E9Yw7Cb-Z
ITPUB个人空间pV~Hkqy
ITPUB个人空间g*D!?9gs
6y'|4H LdX _6517
j-C(MXP a6517
xg-t*b6^u8cO6517
ITPUB个人空间5rP2`fdt+Zh}D
;X}/`HUcH
v6517
Jm�D.HLF%j6517
ITPUB个人空间 tCM${.os}4y
ITPUB个人空间/I6m zj
W
0F]/GU$i�n&tD6517
ITPUB个人空间7]!@?$t
O�s#H
0C%Fc-y:p~f6517
ITPUB个人空间*FbJ?7v'},x~l
A'u/HN)?V hK/w6517
ITPUB个人空间-n)`px@H3N6v3t/
+_.Z3{ h6f6o6517
9u'f4X�^TpQ:F6517
|zJ.T'Y }Mx h6517
ITPUB个人空间 @ ]H%loh/~
ITPUB个人空间v(UHcg
ITPUB个人空间#k^,G/B g%WrP J
ITPUB个人空间aw|)S J.N1e
d%u-~|2}6i~O6517
-u!ykp2?7u/J6517
ITPUB个人空间1z1i`R.s1l-rq.V
+WFy3dq0Pc6517
ITPUB个人空间3L}
P
~-WM9W
['^oP @O6517
0`6CC$j2tkj/C6517
ITPUB个人空间`br]n/0dG+bn3{3q
ITPUB个人空间H3Z,S|+M)E
ITPUB个人空间^2sf7Ba5QZb/
^'h%} /eA5A6517
?*Rn
q6t6517
ITPUB个人空间z$|B�iIB8m3H
PM0f1E!rI6rs6517
F#K0mB*VRnQ-}4CaC6517
;HTA@$b+ZB;r6517
ITPUB个人空间$RE.zskZ
tsh?'X4r6517
ITPUB个人空间-zX/&H b0l
G3m�o,X8q^oeY
a%q%Q6517
ITPUB个人空间"X8jkj0Lr
TfP/yKt4?Gb6517
cJy:zL:W!|;a]2y6517
o:]"}(w{B^/Cq2B6517
2U7@,jo;T+X8J
g C[6517
ITPUB个人空间%?_|PQS)I2XB
ITPUB个人空间h7Y e h�i&Z!y9Rr
,SnEhTTTeG:a6517
{CPa/T.Nb.K6517
ITPUB个人空间(}*PG.dOL
ITPUB个人空间~9|^$A3Jz
f
ITPUB个人空间(y9^bhQlP"t3i!J
ITPUB个人空间5P|Hqs/
ITPUB个人空间uk0Y5yQ#R$ml+A4}Y
e9j(UWep}+c@)n$G6517
ITPUB个人空间,W7j@{_
ITPUB个人空间&or,I3r0K.K
ITPUB个人空间q,KWhMmt0z/l
^y[ n$dP
xH8XH6517
;D/5x%FAg!|Q'W6517
ITPUB个人空间&u
相关文章推荐
- 关于Oracle Stream的安装、配置和使用
- 关于Oracle Stream的安装、配置和使用
- 关于Oracle Stream的安装、配置和使用
- 关于cacti安装、配置、使用中的问题小结
- win10 关于oracle和PLSQL Developer的安装、配置,以及常见问题解决
- .Net+EF连接Oracle 10、11 开发,ODAC安装配置与使用详解
- 关于chrome浏览器插件的选择、安装、配置与使用的过程和结论
- 关于Oracle的安装、卸载、配置
- 免安装Oracle客户端软件-使用pl/sql配置登陆
- oracle不能使用EM怎么办 oracle11g如何正确安装配置EM
- 关于tomcat的安装配置和使用
- [转]plsql 远程连接,不用安装Oracle客户端,使用pl/sql配置远程登陆
- oracle 11g安装后的配置及使用
- 免安装Oracle客户端软件-使用plsql配置登陆
- 关于oracle -- 用Instant Client,不安装oracle客户端使用sqlplus连接远程数据库
- 免安装Oracle客户端软件-使用pl/sql配置登陆
- 关于miniconda的安装,配置以及包批量安装和使用
- 在WIN7下安装ORACLE并配置listener.ora和tnsnames.ora文件,以此使用PLSQL
- windows7 下 oracle 11g 标准版安装、配置及初步使用
- 免安装Oracle客户端软件-使用pl/sql配置登陆及tnsnames.ora listener.ora