您的当前位置:首页正文

Oracle GoldenGate 安装、配置、管理

2024-04-05 来源:易榕旅网
Oracle GoldenGate 安装、配置、管理

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

● Extract ● Data pump ● Replicat

● Trails or extract files ● Checkpoints ● Manager ● Collector

1、Data 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实例可以支持并发300个Extract和Replicat进程。

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

所以,根据上面2个条件,GoldenGate对操作系统内存的需求主要取决于Extract和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用于两个GoldenGate的Manager process之间通信(比如Source的Manager process和Target的Manager process)本地GoldenGate进程间通信使用的端口范围:缺省的端口范围从7840开始,或者可以定义一个从7840+256的端口

l 建议保存一份分配给GoldenGate的端口使用记录 l 配置防火墙允许接受来自GoldenGate端口的请求

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

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实例可以支持并发300个Extract和Replicat进程.

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

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

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用于两个GoldenGate的Manager process之间通信(比如Source的Manager process和Target的Manager process)

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

? 建议保存一份分配给GoldenGate的端口使用记录 ? 配置防火墙允许接受来自GoldenGate端口的请求

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

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),GoldenGate的Extract进程需要一个用户来访问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 .tar.gz | 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中的study.zrp到oragg2的实时数据同步,在配置OGG实现同步前,先把两个系统中的zrp表中的数据完成初始化同步。

说明:完成这个数据同步的技术很多,我这里仅仅是为了说明如何利用GoldenGate的Direct Load的方法实现数据的同步。

把源端数据库的数据同步到目标数据库

初始环境:利用系统的测试脚本(demo_ora_create.sql、demo_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的表TCUSTMER、TCUSTORD,并插入记录: >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的表TCUSTMER、TCUSTORD,不需要插入记录: >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、在source和target端检查管理进程是否启动: 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 trandata gate01.tcustmer

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

GGSCI (source) 7> add trandata gate01.tcustord

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=)

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=)

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 TRANSACTION_ID

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

WILL 30-SEP-94 CAR 144 17520 3 100 JANE 11-NOV-95 PLANE 256 133300 1 100

SQL>

PRODUCT_AMOUNT

因篇幅问题不能全部显示,请点此查看更多更全内容