RE: Can't create simple MV with FAST refresh

2002-09-09 Thread Seefelt, Beth


Maybe the IN clause is throwing it?

Try it with -

where trans_type = 'A' or trans_type = 'B'

Just a WAG...

Beth

-Original Message-
Sent: Monday, September 09, 2002 2:38 PM
To: Multiple recipients of list ORACLE-L


Hi all,

Using 8.1.7.4.0 on HP/UX with COMPATIBILE set to 8.1.7, I'm not able
to
create the following simple MV:

CREATE MATERIALIZED VIEW qt_gl_trans_ab_mv
TABLESPACE qt_mat_view
BUILD IMMEDIATE
USING INDEX TABLESPACE qt_mat_view PCTFREE 15 INITRANS 2  
REFRESH FAST WITH ROWID
USING LOCAL ROLLBACK SEGMENT rbsbig  
START WITH SYSDATE 
NEXT (TRUNC(SYSDATE+1) + 4/24) 
AS
select fiscal_year, fiscal_period, account_no,
trans_type, trans_amount
from my_general_ledge
where trans_type in ('A','B')

It errors with ORA-12015 cannot create a fast refresh snapshot from a
complex query.  According to MetaLink doc 179466.1, a complex query in
a MV
on 8.1.7 is one that has at least one of:

- a distinct or unique keyword
- an aggregate function (e.g. avg, count, max, min, sum, )
- a connect by clause
- a group by or order by clause
- a set operator (UNION, UNION ALL, INTERSECT and MINUS)
- joins other than those in a subquery

But my query has none of those?  Thinking somethings hosed or I'm
completely
misunderstanding the IN operator of the WHERE clause, I tried where
trans_type = 'A', but with the same results.

Also, I've created the MV log for the fast refresh:

CREATE MATERIALIZED VIEW LOG ON my_general_ledger
WITH  ROWID

I'm just testing out MVs here, but I'm missing something real simple
and/or
stupid here, but for the life of me I can't see what (even after a lunch
break).

Anyone?

Rich Jesse   System/Database Administrator
[EMAIL PROTECTED]  Quad/Tech International, Sussex, WI
USA
-- 
Please see the official ORACLE-L FAQ: http://www.orafaq.com
-- 
Author: Jesse, Rich
  INET: [EMAIL PROTECTED]

Fat City Network Services-- (858) 538-5051  FAX: (858) 538-5051
San Diego, California-- Public Internet access / Mailing Lists

To REMOVE yourself from this mailing list, send an E-Mail message
to: [EMAIL PROTECTED] (note EXACT spelling of 'ListGuru') and in
the message BODY, include a line containing: UNSUB ORACLE-L
(or the name of mailing list you want to be removed from).  You may
also send the HELP command for other information (like subscribing).
--
Please see the official ORACLE-L FAQ: http://www.orafaq.com
--
Author: Seefelt, Beth
  INET: [EMAIL PROTECTED]

Fat City Network Services-- (858) 538-5051  FAX: (858) 538-5051
San Diego, California-- Public Internet access / Mailing Lists

To REMOVE yourself from this mailing list, send an E-Mail message
to: [EMAIL PROTECTED] (note EXACT spelling of 'ListGuru') and in
the message BODY, include a line containing: UNSUB ORACLE-L
(or the name of mailing list you want to be removed from).  You may
also send the HELP command for other information (like subscribing).



RE: Can't create simple MV with FAST refresh

2002-09-09 Thread Jesse, Rich

Thanks, but as I had mentioned, I've already tried that.

One part I didn't include is that the table does not have a primary key and
cannot be made to have one, so I'm using ROWID.

Rich Jesse   System/Database Administrator
[EMAIL PROTECTED]  Quad/Tech International, Sussex, WI USA


 -Original Message-
 From: Seefelt, Beth [mailto:[EMAIL PROTECTED]]
 Sent: Monday, September 09, 2002 1:53 PM
 To: Multiple recipients of list ORACLE-L
 Subject: RE: Can't create simple MV with FAST refresh
 
 
 
 Maybe the IN clause is throwing it?
 
 Try it with -
 
 where trans_type = 'A' or trans_type = 'B'
 
 Just a WAG...
 
 Beth
 
 -Original Message-
 Sent: Monday, September 09, 2002 2:38 PM
 To: Multiple recipients of list ORACLE-L
 
 
 Hi all,
 
 Using 8.1.7.4.0 on HP/UX with COMPATIBILE set to 8.1.7, I'm not able
 to
 create the following simple MV:
 
   CREATE MATERIALIZED VIEW qt_gl_trans_ab_mv
   TABLESPACE qt_mat_view
   BUILD IMMEDIATE
   USING INDEX TABLESPACE qt_mat_view PCTFREE 15 INITRANS 2  
   REFRESH FAST WITH ROWID
   USING LOCAL ROLLBACK SEGMENT rbsbig  
   START WITH SYSDATE 
   NEXT (TRUNC(SYSDATE+1) + 4/24) 
   AS
   select fiscal_year, fiscal_period, account_no,
   trans_type, trans_amount
   from my_general_ledge
   where trans_type in ('A','B')
 
 It errors with ORA-12015 cannot create a fast refresh snapshot from a
 complex query.  According to MetaLink doc 179466.1, a 
 complex query in
 a MV
 on 8.1.7 is one that has at least one of:
 
   - a distinct or unique keyword
   - an aggregate function (e.g. avg, count, max, min, sum, )
   - a connect by clause
   - a group by or order by clause
   - a set operator (UNION, UNION ALL, INTERSECT and MINUS)
   - joins other than those in a subquery
 
 But my query has none of those?  Thinking somethings hosed or I'm
 completely
 misunderstanding the IN operator of the WHERE clause, I tried where
 trans_type = 'A', but with the same results.
 
 Also, I've created the MV log for the fast refresh:
 
   CREATE MATERIALIZED VIEW LOG ON my_general_ledger
   WITH  ROWID
 
 I'm just testing out MVs here, but I'm missing something real simple
 and/or
 stupid here, but for the life of me I can't see what (even 
 after a lunch
 break).
 
 Anyone?
 
 Rich Jesse   System/Database Administrator
 [EMAIL PROTECTED]  Quad/Tech International, 
 Sussex, WI
 USA
-- 
Please see the official ORACLE-L FAQ: http://www.orafaq.com
-- 
Author: Jesse, Rich
  INET: [EMAIL PROTECTED]

Fat City Network Services-- (858) 538-5051  FAX: (858) 538-5051
San Diego, California-- Public Internet access / Mailing Lists

To REMOVE yourself from this mailing list, send an E-Mail message
to: [EMAIL PROTECTED] (note EXACT spelling of 'ListGuru') and in
the message BODY, include a line containing: UNSUB ORACLE-L
(or the name of mailing list you want to be removed from).  You may
also send the HELP command for other information (like subscribing).



RE: Can't create simple MV with FAST refresh

2002-09-09 Thread Jesse, Rich

OK, so the MetaLink article seems to be really incomplete, as I found this
hidden in the docs:

The WHERE clause can contain only joins and they must be equi-joins (inner
or outer) and all join predicates must be connected with ANDs. No selection
predicates on individual tables are allowed.

OK, so I can't have selection predicates with a FAST refresh -- at least in
8i.  So I’m not sure an MV is going to give me a significant advantage here
over a trigger.   I just don’t like the impact of several insert/update
triggers (or one big one) on our G/L.

grumble grumble

Rich Jesse   System/Database Administrator
[EMAIL PROTECTED]  Quad/Tech International, Sussex, WI USA

 -Original Message-
 From: Seefelt, Beth [mailto:[EMAIL PROTECTED]]
 Sent: Monday, September 09, 2002 1:53 PM
 To: Multiple recipients of list ORACLE-L
 Subject: RE: Can't create simple MV with FAST refresh
 
 
 
 Maybe the IN clause is throwing it?
 
 Try it with -
 
 where trans_type = 'A' or trans_type = 'B'
 
 Just a WAG...
 
 Beth
--
Please see the official ORACLE-L FAQ: http://www.orafaq.com
--
Author: Jesse, Rich
  INET: [EMAIL PROTECTED]

Fat City Network Services-- (858) 538-5051  FAX: (858) 538-5051
San Diego, California-- Public Internet access / Mailing Lists

To REMOVE yourself from this mailing list, send an E-Mail message
to: [EMAIL PROTECTED] (note EXACT spelling of 'ListGuru') and in
the message BODY, include a line containing: UNSUB ORACLE-L
(or the name of mailing list you want to be removed from).  You may
also send the HELP command for other information (like subscribing).



Re: Can't create simple MV with FAST refresh

2002-09-09 Thread Igor Neyman

Jesse,

don't have much experience with mv, but shouldn't rowid be included in
select list?

Igor Neyman, OCP DBA
[EMAIL PROTECTED]



- Original Message -
To: Multiple recipients of list ORACLE-L [EMAIL PROTECTED]
Sent: Monday, September 09, 2002 4:18 PM


 Thanks, but as I had mentioned, I've already tried that.

 One part I didn't include is that the table does not have a primary key
and
 cannot be made to have one, so I'm using ROWID.

 Rich Jesse   System/Database Administrator
 [EMAIL PROTECTED]  Quad/Tech International, Sussex, WI
USA


  -Original Message-
  From: Seefelt, Beth [mailto:[EMAIL PROTECTED]]
  Sent: Monday, September 09, 2002 1:53 PM
  To: Multiple recipients of list ORACLE-L
  Subject: RE: Can't create simple MV with FAST refresh
 
 
 
  Maybe the IN clause is throwing it?
 
  Try it with -
 
  where trans_type = 'A' or trans_type = 'B'
 
  Just a WAG...
 
  Beth
 
  -Original Message-
  Sent: Monday, September 09, 2002 2:38 PM
  To: Multiple recipients of list ORACLE-L
 
 
  Hi all,
 
  Using 8.1.7.4.0 on HP/UX with COMPATIBILE set to 8.1.7, I'm not able
  to
  create the following simple MV:
 
  CREATE MATERIALIZED VIEW qt_gl_trans_ab_mv
  TABLESPACE qt_mat_view
  BUILD IMMEDIATE
  USING INDEX TABLESPACE qt_mat_view PCTFREE 15 INITRANS 2
  REFRESH FAST WITH ROWID
  USING LOCAL ROLLBACK SEGMENT rbsbig
  START WITH SYSDATE
  NEXT (TRUNC(SYSDATE+1) + 4/24)
  AS
  select fiscal_year, fiscal_period, account_no,
  trans_type, trans_amount
  from my_general_ledge
  where trans_type in ('A','B')
 
  It errors with ORA-12015 cannot create a fast refresh snapshot from a
  complex query.  According to MetaLink doc 179466.1, a
  complex query in
  a MV
  on 8.1.7 is one that has at least one of:
 
  - a distinct or unique keyword
  - an aggregate function (e.g. avg, count, max, min, sum, )
  - a connect by clause
  - a group by or order by clause
  - a set operator (UNION, UNION ALL, INTERSECT and MINUS)
  - joins other than those in a subquery
 
  But my query has none of those?  Thinking somethings hosed or I'm
  completely
  misunderstanding the IN operator of the WHERE clause, I tried where
  trans_type = 'A', but with the same results.
 
  Also, I've created the MV log for the fast refresh:
 
  CREATE MATERIALIZED VIEW LOG ON my_general_ledger
  WITH  ROWID
 
  I'm just testing out MVs here, but I'm missing something real simple
  and/or
  stupid here, but for the life of me I can't see what (even
  after a lunch
  break).
 
  Anyone?
 
  Rich Jesse   System/Database Administrator
  [EMAIL PROTECTED]  Quad/Tech International,
  Sussex, WI
  USA
 --
 Please see the official ORACLE-L FAQ: http://www.orafaq.com
 --
 Author: Jesse, Rich
   INET: [EMAIL PROTECTED]

 Fat City Network Services-- (858) 538-5051  FAX: (858) 538-5051
 San Diego, California-- Public Internet access / Mailing Lists
 
 To REMOVE yourself from this mailing list, send an E-Mail message
 to: [EMAIL PROTECTED] (note EXACT spelling of 'ListGuru') and in
 the message BODY, include a line containing: UNSUB ORACLE-L
 (or the name of mailing list you want to be removed from).  You may
 also send the HELP command for other information (like subscribing).

-- 
Please see the official ORACLE-L FAQ: http://www.orafaq.com
-- 
Author: Igor Neyman
  INET: [EMAIL PROTECTED]

Fat City Network Services-- (858) 538-5051  FAX: (858) 538-5051
San Diego, California-- Public Internet access / Mailing Lists

To REMOVE yourself from this mailing list, send an E-Mail message
to: [EMAIL PROTECTED] (note EXACT spelling of 'ListGuru') and in
the message BODY, include a line containing: UNSUB ORACLE-L
(or the name of mailing list you want to be removed from).  You may
also send the HELP command for other information (like subscribing).