Oracle GoldenGate 安装、配置、管理




Oracle GoldenGate主要由如下一些组件组成

● Extract

● Data pump

● Replicat

● Trails or extract files

● Checkpoints

● Manager

● Collector


1Data Pump是一个次级的Extract Group,如果你的GG环境中不使用Data Pump的话,那么Primary Extract Group必须直接将trail通过网络写到Target系统上.参见后面的示例6:配置Data Pump实现一对多拓扑方案.

2、默认情况下,Replicat是实时复制的,如果因为某种需要需要延迟复制的话,那么可以通过Replicat Group的如下DEFERAPPLYINTERVAL参数来控制,该参数允许delay的最大时间是7天。

按照Oracle GoldenGate的工作原理和体系结构,在每个复制数据源和目标端都需要安装一套GoldenGate软件,同时需要分别启动一个 GoldenGate实例,一个GoldenGate实例就是一个管理进程(Manager process),这个管理进程也是整个GoldenGate实例运行时最主要的控制进程。

GoldenGate操作系统内存的使用是通过操作系统来控制的,而不是通过GoldenGate程序控制的,GoldenGate进程会根据需要从OS那里分配相应的virtual memory.

l  GoldenGate GGSCI命令接口工具对于每个GoldenGate实例可以支持并发300ExtractReplicat进程。

每个ExtractReplicat进程需要大约25-55 MB内存,这主要取决于transaction的大小和并发的transaction数量。

所以,根据上面2个条件,GoldenGate对操作系统内存的需求主要取决于Extractoracle 新建用户Replicat进程数。

工作目录

每个GoldenGate实例的工作目录(working directories and binaries),大约需要40M的空间,如果你要同一台Server安装多个GoldenGate实例到不同的目录/文件系统下话,那么就需要多倍的空间分配,在考虑空间分配的时候,也需要考虑这个因数。

辅助空间

这部分空间主要用于存放GoldenGate Trails,它包含了工作数据。这部分空间的消耗取决于Trail,依赖于将要处理的数据量。

根据实际的数据库系统的规模,每天产生的日志量的大小,建议这部分空间从1GB-100G不等,可以保存7-10天的GoldenGate队列文件即可。

对于RAC环境

对于RAC环境,GoldenGate的相关软件和工作目录需要配置在shared disk环境中,从而保证对所有node都是可用的,从任何一个node都可以启动GoldenGate的进程,当其中一个node出现异常时,可以在剩余的node启动而无须修改任何配置参数.否则如果运行在单个node上的话,需要将剩余node中的归档日志通过一定的技术共享出来并加载到 GoldenGate运行节点.

对于RAC环境,GoldenGate要求所有node必须保持时钟同步,同时必须保持所有RAC node和运行extract进程的node节点保持时钟同步.因为GoldenGate会比较本地的系统时间和commit的时间戳.所以不能忽略这个设置.否则可能导致数据复制的紊乱.

网络要求

l  Configure the system to use TCP/IP services, including DNS

l  GoldenGate 使用主机名或者IP地址进行连接,主机名的方式更容易使用

l  GoldenGate需要无限制的和自由的TCP/IP端口:

一个port用于两个GoldenGateManager process之间通信(比如SourceManager processTargetManager process)本地GoldenGate进程间通信使用的端口范围:缺省的端口范围从7840开始,或者可以定义一个从7840+256的端口

建议保存一份分配给GoldenGate的端口使用记录

配置防火墙允许接受来自GoldenGate端口的请求

如果可能的话,可以设置FTP端口用于GoldenGate传输数据、参数和来自SourceTargetreport.否则的话,需要提供其他的传输方法。

GoldenGate for Oracle

1.支持的平台

支持的Oracle Database 版本

在当前的Oracle GoldenGate 10.4版本中,支持如下Oracle Database版本

√Oracle 8i (DML support only)

√Oracle 9.1 and 9.2 (DML and DDL support)

√Oracle 10.1 and 10.2 (DML and DDL support)

√Oracle 11g (DML and DDL support)

支持的操作系统平台

几乎所有主流的操作系统,GoldenGate都支持

√Windows 2000, 2003, XP

√Linux

√Sun Solaris

√HP NonStop

√HP-UX

√HP TRU64

√IBM AIX

√IBM z/OS

2.操作系统需求

内存要求

Oracle GoldenGate的工作原理和体系结构,在每个复制数据源和目标端都需要安装一套GoldenGate软件,同时需要分别启动一个 GoldenGate实例,一个GoldenGate实例就是一个管理进程(Manager process),这个管理进程也是整个GoldenGate实例运行时最主要的控制进程.

?  GoldenGate是操作系统内存的使用是通过操作系统来控制的,而不是通过GoldenGate程序控制的,GoldenGate进程会根据需要从OS那里分配相应的virtual memory.

?  GoldenGate GGSCI命令接口工具对于每个GoldenGate实例可以支持并发300ExtractReplicat进程.

每个ExtractReplicat进程需要大约25-55 MB内存,这主要取决于transaction的大小和并发的transaction数量. 

所以,根据上面2个条件,GoldenGate对操作系统内存的需求主要取决于ExtractReplicat进程数.

DISK空间需求

安装文件

Oracle download下来的GoldenGate 压缩软件包大约是50M,所以在分配磁盘空间前你需要提高考虑到这些额外的资源开销,当然了,安装完毕后,你就可以把这个压缩软件包删除了.

工作目录

GoldenGate实例的工作目录(working directories and binaries),大约需要40M的空间,如果你要同一台Server安装多个GoldenGate实例到不同的目录/文件系统下话,那么就需要多倍的空间分配,在考虑空间分配的时候,也需要考虑这个因数.

辅助空间

这部分空间主要用于存放GoldenGate Trails,它包含了工作数据。这部分空间的消耗取决于Trail,依赖于将要处理的数据量。

根据实际的数据库系统的规模,每天产生的日志量的大小,建议这部分空间从1GB-100G不等,可以保存7-10天的GoldenGate队列文件即可.

对于RAC环境

对于RAC环境,GoldenGate的相关软件和工作目录需要配置在shared disk环境中,从而保证对所有node都是可用的,从任何一个node都可以启动GoldenGate的进程,当其中一个node出现异常时,可以在剩余的node启动而无须修改任何配置参数.否则如果运行在单个node上的话,需要将剩余node中的归档日志通过一定的技术共享出来并加载到 GoldenGate运行节点。

RAC环境,GoldenGate要求所有node必须保持时钟同步,同时必须保持所有RAC node和运行extract进程的node节点保持时钟同步.因为GoldenGate会比较本地的系统时间和commit的时间戳.所以不能忽略这个设置,否则可能导致数据复制的紊乱。

网络要求

?  Configure the system to use TCP/IP services, including DNS

?  GoldenGate 使用主机名或者IP地址进行连接,主机名的方式更容易使用

?  GoldenGate需要无限制的和自由的TCP/IP端口:

一个port用于两个GoldenGateManager process之间通信(比如SourceManager processTargetManager process

本地GoldenGate进程间通信使用的端口范围:缺省的端口范围从7840开始,或者可以定义一个从7840+256的端口

建议保存一份分配给GoldenGate的端口使用记录

配置防火墙允许接受来自GoldenGate端口的请求

如果可能的话,可以设置FTP端口用于GoldenGate传输数据、参数和来自SourceTargetreport.否则的话,需要提供其他的传输方法.

Database user

在数据库中创建一个供GoldenGate使用的专用用,GoldenGate的所有进程可以使用这个用户连接到数据库中:

Extract (source database)

Replicat (target database)

Manager (source database, if using DDL support)

DEFGEN (source or target database)

从系统安全的角度出发,这个GoldenGate用户建议不给任何其他应用使用,仅供GoldenGate使用。

对于Oracle 10g及以后的版本,如果使用了Automatic Storage Management (ASM),GoldenGateExtract进程需要一个用户来访问ASM实例,GoldenGate不支持O/S认证的授权方式,所以你可以使用sys或任何其他具有sysdba/sysasm权限的用户来连接到ASM实例.

建议保留一份数据库用户的记录

这些用户信息需要在GoldenGate参数文件中使用.

USERID 是用户名,PASSWORD是口令

对于ASM user,可以通过TRANLOGOPTIONS (带有ASMUSER ASMPASSWORD选项)参数来配置。

Database Configuration

对于Source Oracle Database要求

数据库处于归档模式下

打开补充日志

打开force logging

GoldenGate的安装非常的简单,我以linux平台下的install为例简单的说一下步骤,详细的说明在对应的document上都有介绍

1. 将软件ftp(二进制模式上传)到目标服务器上的指定目录下

2. 解压缩安装文件到指定目录

gzip -dc <filename>. | tar -xvof –

3. 进入到GoldenGate的安装目录.

4. 运行GGSCI

5. In GGSCI, issue the following command to create the GoldenGate working directories.

CREATE SUBDIRS

6. Issue the following command to exit GGSCI.

EXIT

就这么简单,就装完了

在配置GoldenGate环境时,刚开始的时候,我们总是需要先初始化把Source Database中需要复制的表的数据先load到目标库中,除非Source Database是一个新建的库或需要复制的对象中还没有任何数据。

目标:为了实现oragg1中的poragg2的实时数据同步,在配置OGG实现同步前,先把两个系统中的zrp表中的数据完成初始化同步。

说明:完成这个数据同步的技术很多,我这里仅仅是为了说明如何利用GoldenGateDirect Load的方法实现数据的同步。
把源端数据库的数据同步到目标数据库

初始环境:利用系统的测试脚本(demo_ora_create.sqldemo_ora_insert.sql)完成源端建表和数据插入,目标端的建表工作。

1、为gate01建立专用的表空间

SQL> create tablespace ggs

  2  datafile '/oracle/oradata/hrss2/ggs01.dbf' size 50M,

  3  '/oracle/oradata/hrss2/ggs02.dbf' size 50m;



Tablespace created.

2、在源数据库上建数据库用户gate01

SQL> create user gate01 identified by gate01

  2  default tablespace ggs

  3  temporary tablespace TEMP

  4  quota unlimited on ggs;



User created.



SQL> grant connect,resource,dba to gate01;



Grant succeeded.

3、在源数据库上建数据库用户gate01的表TCUSTMERTCUSTORD,并插入记录

>conn gate01/gate01

>@demo_ora_create.sql

>@demo_ora_insert.sql

4、为gate02建立专用的表空间

SQL> create tablespace ggs

  datafile '/oracle/oradata/hrss1/ggs01.dbf' size 50M,

   '/oracle/oradata/hrss1/ggs02.dbf' size 50m;



Tablespace created.

5、在源数据库上建数据库用户gate02

create user gate02 identified by gate02

   default tablespace ggs

   temporary tablespace TEMP

  quota unlimited on ggs;



User created.

SQL> grant connect,resource,dba to gate02;



Grant succeeded.

6、在目标数据库上建数据库用户gate02的表TCUSTMERTCUSTORD,不需要插入记录

>conn gate02/gate02

>@ SQL> @/oracle/ggs/demo_ora_create.sql

    7、在源数据上配置管理进程MGR

     GGSCI (source) 1> edit params mgr





port 7809



~

"dirprm/mgr.prm" [New] 2L, 11C written

GGSCI (source) 2> start mgr –启动管理进程



Manager started.

    8、在目标数据库上配置管理进程MGR

     GGSCI (target) 1> edit params mgr



port 7809

~

~

~

"dirprm/mgr.prm" [New] 1L, 10C written





GGSCI (target) 2> start mgr



Manager started.

9、在sourcetarget端检查管理进程是否启动

GGSCI (source) 3> info mgr



Manager is running (IP port source.7809).



GGSCI (target) 3> info mgr



Manager is running (IP port target.7809).

   10、在源数据库上增加需要传输的用户表

    GGSCI (source) 4> dblogin userid gate01,password gate01

Successfully logged into database.



GGSCI (source) 5> add ustmer



Logging of supplemental redo data enabled for table GATE01.TCUSTMER.



GGSCI (source) 7> add ustord



Logging of supplemental redo data enabled for table GATE01.TCUSTORD.



GGSCI (source) 9> info trandata gate01.*



Logging of supplemental redo log data is enabled for table GATE01.TCUSTMER



Logging of supplemental redo log data is enabled for table GATE01.TCUSTORD



GGSCI (source) 10>

11、在源数据库上配置extract进程 Eora01

GGSCI (source) 10> add extract eora01,sourceistable

EXTRACT added.





GGSCI (source) 11> info extract *, tasks



EXTRACT    EORA01    Initialized   2011-02-22 20:17   Status STOPPED

Checkpoint Lag      Not Available

Log Read Checkpoint  Not Available

                     First Record         Record 0

Task                 SOURCEISTABLE



GGSCI (source) 12> edit params eora01





extract eora01

userid gate01, password gate01

rmthost 192.168.1.20, mgrport 7809

rmttask replicat, group rora01

table gate01.*;

"dirprm/eora01.prm" [New] 5L, 127C written

12、在目标数据库上配置replicat进程 Rora01

GGSCI (target) 4> ADD REPLICAT Rora01, SPECIALRUN

REPLICAT added.





GGSCI (target) 5> INFO REPLICAT *, TASKS



REPLICAT   RORA01    Initialized   2011-02-22 20:23   Status STOPPED

Checkpoint Lag      00:00:00 (updated 00:00:18 ago)

Log Read Checkpoint  Not Available

Task                 SPECIALRUN



GGSCI (target) 6> EDIT PARAMS Rora01





REPLICAT Rora01

ASSUMETARGETDEFS

USERID gate02, PASSWORD "gate02"

DISCARDFILE ./dirrpt/Rora01.dsc, PURGE

MAP gate01.*, TARGET gate02.*;



~

~

"dirprm/rora01.prm" [New] 6L, 137C written

13、在源数据库上执行初始化过程

START EXTRACT Eora01

VIEW REPORT EORA01(在源数据上查看是否有报错)

GGSCI (source) 6> VIEW REPORT EORA01





2011-02-22 21:12:57  INFO    OGG-01017  Wildcard resolution set to IMMEDIATE because SOURCEISTABLE is us

ed.



***********************************************************************

                 Oracle GoldenGate Capture for Oracle

                     Version 11.1.1.0.0 Build 078

   Linux, x86, 32bit (optimized), Oracle 10 on Jul 28 2010 16:16:35



Copyright (C) 1995, 2010, Oracle and/or its affiliates. All rights reserved.





                    Starting at 2011-02-22 21:12:57

***********************************************************************



Operating System Version:

Linux

Version #1 SMP Fri Jul 25 14:41:56 EDT 2008, Release 2.6.9-78.0.0.0.1.ELsmp

Node: source

Machine: i686

                        soft limit   hard limit

Address Space Size   :    unlimited    unlimited

Heap Size            :    unlimited    unlimited

File Size            :    unlimited    unlimited

CPU Time            :    unlimited    unlimited



Process id: 6305



Description:



***********************************************************************

**            Running with the following parameters                  **

***********************************************************************

extract eora01

userid gate01, password ******

rmthost 192.168.1.20, mgrport 7809

rmttask replicat, group rora01

table gate01.*;

TABLEWildcard  resolved (entry GATE01.*):

  table GATE01.TCUSTMER;



Using the following key columns for source table GATE01.TCUSTMER: CUST_CODE.

TABLEWildcard  resolved (entry GATE01.*):

  table GATE01.TCUSTORD;



Using the following key columns for source table GATE01.TCUSTORD: CUST_CODE, ORDER_DATE, PRODUCT_CODE, O

RDER_ID.





CACHEMGR virtual memory values (may have been adjusted)

CACHEBUFFERSIZE:                        64K

CACHESIZE:                                2G

CACHEBUFFERSIZE (soft max):               4M

CACHEPAGEOUTSIZE (normal):                4M

PROCESS VM AVAIL FROM OS (min):        2.89G

CACHESIZEMAX (strict force to disk):   2.65G



Database Version:

Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Prod

PL/SQL Release 10.2.0.1.0 - Production

CORE    10.2.0.1.0      Production

TNS for Linux: Version 10.2.0.1.0 - Production

NLSRTL Version 10.2.0.1.0 - Production



Database Language and Character Set:

NLS_LANG environment variable specified has invalid format, default value will be used.

NLS_LANG environment variable not set, using default value AMERICAN_AMERICA.US7ASCII.

NLS_LANGUAGE     = "AMERICAN"

NLS_TERRITORY    = "AMERICA"

NLS_CHARACTERSET = "ZHS16GBK"



Warning: your NLS_LANG setting does not match database server language setting.

Please refer to user manual for more information.



Processing table GATE01.TCUSTMER



Processing table GATE01.TCUSTORD



***********************************************************************

*                  ** Run Time Statistics **                        *

***********************************************************************





Report at 2011-02-22 21:13:10 (activity since 2011-02-22 21:12:57)



Output to rora01:



From Table GATE01.TCUSTMER:

      #                  inserts:         2

      #                  updates:         0

      #                  deletes:         0

      #                  discards:         0

From Table GATE01.TCUSTORD:

      #                  inserts:         2

      #                  updates:         0

      #                  deletes:         0

      #                  discards:         0







GGSCI (source) 7>

VIEW REPORT RORA01(在目标数据上查看是否有报错)

GGSCI (target) 11> VIEW REPORT RORA01





***********************************************************************

                 Oracle GoldenGate Delivery for Oracle

                     Version 11.1.1.0.0 Build 078

   Linux, x86, 32bit (optimized), Oracle 10 on Jul 28 2010 16:38:15



Copyright (C) 1995, 2010, Oracle and/or its affiliates. All rights reserved.





                    Starting at 2011-02-22 21:13:27

***********************************************************************



Operating System Version:

Linux

Version #1 SMP Fri Jul 25 14:41:56 EDT 2008, Release 2.6.9-78.0.0.0.1.ELsmp

Node: target

Machine: i686

                        soft limit   hard limit

Address Space Size   :    unlimited    unlimited

Heap Size            :    unlimited    unlimited

File Size            :    unlimited    unlimited

CPU Time            :    unlimited    unlimited



Process id: 28268



Description:



***********************************************************************

**            Running with the following parameters                  **

***********************************************************************

REPLICAT Rora01

ASSUMETARGETDEFS

USERID gate02, PASSWORD "******"

DISCARDFILE ./dirrpt/Rora01.dsc, PURGE

MAP gate01.*, TARGET gate02.*;





CACHEMGR virtual memory values (may have been adjusted)

CACHEBUFFERSIZE:                        64K

CACHESIZE:                              512M

CACHEBUFFERSIZE (soft max):               4M

CACHEPAGEOUTSIZE (normal):                4M

PROCESS VM AVAIL FROM OS (min):           1G

CACHESIZEMAX (strict force to disk):    881M



Database Version:

Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Prod

PL/SQL Release 10.2.0.1.0 - Production

CORE    10.2.0.1.0      Production

TNS for Linux: Version 10.2.0.1.0 - Production

NLSRTL Version 10.2.0.1.0 - Production



Database Language and Character Set:

NLS_LANG environment variable specified has invalid format, default value will be used.

NLS_LANG environment variable not set, using default value AMERICAN_AMERICA.US7ASCII.

NLS_LANGUAGE     = "AMERICAN"

NLS_TERRITORY    = "AMERICA"

NLS_CHARACTERSET = "ZHS16GBK"



Warning: your NLS_LANG setting does not match database server language setting.

Please refer to user manual for more information.



***********************************************************************

**                     Run Time Messages                             **

***********************************************************************





Wildcard MAP resolved (entry GATE01.*):

  MAP GATE01.TCUSTMER, TARGET gate02.TCUSTMER;

Using following columns in default map by name:

  CUST_CODE, NAME, CITY, STATE



Using the following key columns for target table GATE02.TCUSTMER: CUST_CODE.





Wildcard MAP resolved (entry GATE01.*):

  MAP GATE01.TCUSTORD, TARGET gate02.TCUSTORD;

Using following columns in default map by name:

  CUST_CODE, ORDER_DATE, PRODUCT_CODE, ORDER_ID, PRODUCT_PRICE,

  PRODUCT_AMOUNT, TRANSACTION_ID



Using the following key columns for target table GATE02.TCUSTORD: CUST_CODE, ORDER_DATE, PRODUCT_CODE, O

RDER_ID.





***********************************************************************

*                  ** Run Time Statistics **                        *

***********************************************************************





Report at 2011-02-22 21:13:44 (activity since 2011-02-22 21:13:38)



From Table GATE01.TCUSTMER to GATE02.TCUSTMER:

      #                  inserts:         2

      #                  updates:         0

      #                  deletes:         0

      #                  discards:         0

From Table GATE01.TCUSTORD to GATE02.TCUSTORD:

      #                  inserts:         2

      #                  updates:         0

      #                  deletes:         0

      #                  discards:         0





CACHE OBJECT MANAGER statistics



CACHE MANAGER VM USAGE

vm current     =      0    vm anon queues =      0

vm anon in use =      0    vm file        =      0

vm used max    =      0    ==> CACHE BALANCED



CACHE CONFIGURATION

cache size      = 512M   cache force paging = 881M

buffer min      =  64K   buffer highwater   =   4M

pageout eligible size =   4M



CACHE Transaction Stats

trans active   =      0    max concurrent =      0

non-zero total =      0    trans total    =      0



CACHE File Caching

disk current   =      0    disk total  =      0

disk caching   =      0    file cached =      0

file retrieves =      0



CACHE MANAGEMENT

buffer links  =      0   anon gets   =      0

forced unmaps =      0   cnnbl try   =      0

cached out    =      0   force out   =      0



Allocation Request Distribution

< 128B:      0

128B:        0         0     | 512B:        0         0

   2K:        0         0     |   8K:        0         0

  32K:        0         0     | 128K:        0         0

512K:        0         0     |   2M:        0         0

   8M:        0         0     |  32M:        0         0

128M:        0         0     | 512M:        0         0

   2G:        0         0     |   8G:        0



Cached Transaction Size Distribution

    0:        0

< 4K:        0

   4K:        0         0     |  16K:        0         0

  64K:        0         0     | 256K:        0         0

   1M:        0         0     |   4M:        0         0

  16M:        0         0     |  64M:        0         0

256M:        0         0     |   1G:        0         0

   4G:        0         0     |  16G:        0         0

  64G:        0         0     | 256G:        0         0

   1T:        0         0     |   4T:        0         0

  16T:        0         0     |  64T:        0         0

256T:        0         0     |1024T:        0         0





QUEUE Statistics:

num queues    =     15     default index =      0

cur len      =      0     max len      =      0

q vm current  =      0     vm max        =      0

q hits        =      0     q misses      =      0



queue size  q hits  curlen  maxlen     cannibalized

  0   64K      0      0      0      0

  1  128K      0      0      0      0

  2  256K      0      0      0      0

  3  512K      0      0      0      0

  4    1M      0      0      0      0

  5    2M      0      0      0      0

  6    4M      0      0      0      0

  7    8M      0      0      0      0

  8   16M      0      0      0      0

  9   32M      0      0      0      0

10   64M      0      0      0      0

11  128M      0      0      0      0

12  256M      0      0      0      0

13  512M      0      0      0      0

14    1G      0      0      0      0



================================================================================

CACHE POOL #0

POOL INFO   group: rora01  id: p28268_BLOB

trans active  =      0   trans concurrent (max) =     0

trans total   =      0   (0 )

flag          = 0x00000000

last error    = (0=<none>)



Allocation Request Distribution

< 128B:      0

128B:        0         0     | 512B:        0         0

   2K:        0         0     |   8K:        0         0

  32K:        0         0     | 128K:        0         0

512K:        0         0     |   2M:        0         0

   8M:        0         0     |  32M:        0         0

128M:        0         0     | 512M:        0         0

   2G:        0         0     |   8G:        0





QUEUE Statistics:

num queues    =     15     default index =      0

cur len      =      0     max len      =      0

q vm current  =      0     vm max        =      0

q hits        =      0     q misses      =      0



queue size  q hits  curlen  maxlen     cannibalized

  0   64K      0      0      0      0

  1  128K      0      0      0      0

  2  256K      0      0      0      0

  3  512K      0      0      0      0

  4    1M      0      0      0      0

  5    2M      0      0      0      0

  6    4M      0      0      0      0

  7    8M      0      0      0      0

  8   16M      0      0      0      0

  9   32M      0      0      0      0

10   64M      0      0      0      0

11  128M      0      0      0      0

12  256M      0      0      0      0

13  512M      0      0      0      0

14    1G      0      0      0      0



================================================================================

CACHE POOL #0

POOL INFO   group: rora01  id: p28268_BLOB

trans active  =      0   trans concurrent (max) =     0

trans total   =      0   (0 )

flag          = 0x00000000

last error    = (0=<none>)



Allocation Request Distribution

< 128B:      0

128B:        0         0     | 512B:        0         0

   2K:        0         0     |   8K:        0         0

  32K:        0         0     | 128K:        0         0

512K:        0         0     |   2M:        0         0

   8M:        0         0     |  32M:        0         0

128M:        0         0     | 512M:        0         0

   2G:        0         0      |   8G:        0







GGSCI (target) 12>



SQL> SELECT * FROM TCUSTMER;



CUST NAME                           CITY                 ST

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

WILL BG SOFTWARE CO.                SEATTLE              WA

JANE ROCKY FLYER INC.               DENVER               CO



SQL> SELECT * FROM TCUSTORD;



CUST ORDER_DAT PRODUCT_   ORDER_ID PRODUCT_PRICE PRODUCT_AMOUNT TRANSACTION_ID

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

WILL 30-SEP-94 CAR            144         17520              3            100

JANE 11-NOV-95 PLANE           256        133300              1            100



SQL>

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。