(V7.3) PARTITION VIEW 테스트 REPORT

제품 : ORACLE SERVER
작성날짜 : 2004-08-13
SCOPE
8~10g Standard Edition 에서는 Partitioning Option 은 지원하지 않습니다.
1. 개요
대용량 Database를 구축하고 관리하는 데 있어서 필연적으로 나타날 수 있는
문제는 시간적 증가 또는 지역적으로 확대됨에 따라 어느 TABLE의 SIZE가
증가함에 따라 이에 따른 관리 방법의 효율화일 것이다.
이는 주기적인 재편성(Re-Organization) 뿐만 아니라 Backup, Index의 비대화
등에 따른 Query의 효율 저하 등 여러가지 문제를 야기시킬 수 있다.
이에 대한 해결책인 Partition View(Ver.7.3 이상)를 실무적용 사례를 통해서
구축방법, Partition View의 효율적 사용방법, 주의할 점 등을 알아보고자 한다.
2. 구축과정
1) Partition View를 위한 Parameter
init$ORACLE_SID.ora 화일에 다음의 Parameter를 Setting
partition_view_enabled=TRUE
2) Partition View 대상 Table 및 Partition Column을 선정
이는 물리적 설계 시 결정
Partition Column의 주요 후보는 일시, 지역 등 명확히 구분되는
Column이어야 함
3) Table Create --> Partition Column에 반드시 해당 범위의 Check
Constraint를 반드시 주어야 함.
( 주의 사항 )
Partition Column의 DATATYPE을 CHAR로 하지 말 것
(BUG) --> VARCHAR2 사용 ( BUG로 등록되어 있음 )
Partition View를 구성하는 모든 Table Scheme는 완전히 동일해야 함
(Column의 갯수, Datatype, Null허용 여부 등)
실제로 비씨카드에서 TYPE의 불일치로 문제가 발생했었음.
1996.01월 Table(TBCARDUSE_199601)의 한 Column의 Type이 다른
Table은 모두 VARCHAR(9)였는데 이 Table만 VARCHAR2(10)로
되어 있어서 Partition View를 JOIN하면 VIEW 내의 모든 TABLE이
FULL TABLE SCAN을 함. DATATYPE을 동일하게 해준 후 정상적으로
동작
4) Index Create --> 모든 Table이 반드시 동일한 Index를 가져야 함.
Partition Column에 Index가 반드시 필요한 것은 아님.
5) 각 Table에 ANALYZE TABLE을 수행(가능한 한 COMPUTE STATISTICS로)
6) Partition 내의 모든 Table을 UNION ALL 한 Partition View를 생성
3. 구축 사례
TBCARDUSE_199507 - TBCARDUSE_199609 ( 15개 Table )
각 Table의 예상 Row 수는 최소 1,200 만 이상으로 15개월을 보관함을
원칙으로 하여 총 Row는 2억건 정도이다.
CREATE TABLE TBCARDUSE_199507
(USE_NO varchar2(8) not null,
CARD_NO varchar2(16) not null,
REQ_REJ_CLSS char(1) not null,
LO_AB_CLSS char(1) not null,
MER_MGMT_NO varchar2(9) not null,
AUTH_CLSS char(2) not null,
AUTH_DATE varchar2(8) not null,->Partition Column
AUTH_TIME char(6) not null,
AUTH_AMT number(13,2) not null,
EN_MODE char(2) not null,
AUTH_REQ_MTHD char(2) not null,
AUTH_REQ_CLSS char(1) not null,
SALE_REF_PL char(2) ,
REQ_MER_MGMT_NO varchar2(9) ,
SALE_PL_NO varchar2(12) ,
REQ_VALD_LIM char(6) ,
USE_AMT number(11) ,
RCP_AMT number(11) ,
MER_RCP_FEE number(11) ,
RCP_DATE char(8) ,
POS_CODE char(2) ,
CONSTRAINT C_AUTH_DATE_199507
CHECK (AUTH_DATE BETWEEN '19950701' AND '19950731'))
---> Partition Column Constraint
TABLESPACE TS_TUNING01
PCTFREE 10
STORAGE(INITIAL 100M NEXT 100M PCTINCREASE 0
MAXEXTENTS UNLIMITED FREELISTS 10);
* Index 정보
Index 1 : CARD_NO
CREATE INDEX TBCARDUSE_199507_IDX1
ON TBCARDUSE_199507(CARD_NO)
TABLESPACE TS_TUNING_I01
STORAGE(INITIAL 50M NEXT 50M PCTINCREASE 0
MAXEXTENTS UNLIMITED)
PARALLEL (DEGREE 4);
Index 2 : USE_NO
CREATE INDEX TBCARDUSE_199507_IDX2
ON TBCARDUSE_199507(USE_NO)
TABLESPACE TS_TUNING_I01
STORAGE(INITIAL 50M NEXT 50M PCTINCREASE 0
MAXEXTENTS UNLIMITED)
PARALLEL (DEGREE 4);
Index 3 : AUTH_DATE + MER_MGMT_NO
CREATE INDEX TBCARDUSE_199507_IDX3
ON TBCARDUSE_199507(AUTH_DATE,MER_MGMT_NO)
TABLESPACE TS_TUNING_I01
STORAGE(INITIAL 50M NEXT 50M PCTINCREASE 0
MAXEXTENTS UNLIMITED)
PARALLEL (DEGREE 4);
Index 4 : MER_MGMT_NO + AUTH_DATE
CREATE INDEX TBCARDUSE_199507_IDX4
ON TBCARDUSE_199507(MER_MGMT_NO, AUTH_DATE)
TABLESPACE TS_TUNING_I01
STORAGE(INITIAL 50M NEXT 50M PCTINCREASE 0
MAXEXTENTS UNLIMITED)
PARALLEL (DEGREE 4);
* Table Analyzing
analyze table TBCARDUSE_199507 compute statistics;
* Partition View Creation
CREATE OR REPLACE VIEW PV_TBCARDUSE
AS
SELECT * FROM TBCARDUSE_199507
UNION ALL
SELECT * FROM TBCARDUSE_199508
UNION ALL
SELECT * FROM TBCARDUSE_199509
UNION ALL
SELECT * FROM TBCARDUSE_199510
UNION ALL
SELECT * FROM TBCARDUSE_199511
UNION ALL
SELECT * FROM TBCARDUSE_199512
UNION ALL
SELECT * FROM TBCARDUSE_199601
UNION ALL
SELECT * FROM TBCARDUSE_199602
UNION ALL
SELECT * FROM TBCARDUSE_199603
UNION ALL
SELECT * FROM TBCARDUSE_199604
UNION ALL
SELECT * FROM TBCARDUSE_199605
UNION ALL
SELECT * FROM TBCARDUSE_199606
UNION ALL
SELECT * FROM TBCARDUSE_199607
UNION ALL
SELECT * FROM TBCARDUSE_199608
UNION ALL
SELECT * FROM TBCARDUSE_199609
4. Test Procedure
1) Partition View의 동작 여부 확인
(1) Partition Column이 '='로 비교 되었을 때
SELECT CARD_NO,USE_NO,AUTH_DATE,AUTH_AMT
FROM PV_TBCARDUSE
WHERE USE_NO = '00002037'
AND AUTH_DATE = '19960723';
Rows Execution Plan
0 SELECT STATEMENT GOAL: CHOOSE
1 VIEW OF 'PV_TBCARDUSE'
1 UNION-ALL (PARTITION)
0 FILTER
0 TABLE ACCESS OF 'TBCARDUSE_199507'
0 INDEX (RANGE SCAN) OF 'TBCARDUSE_199507_IDX2'
0 FILTER
0 TABLE ACCESS OF 'TBCARDUSE_199508'
0 INDEX (RANGE SCAN) OF 'TBCARDUSE_199508_IDX2'
0 FILTER
0 TABLE ACCESS OF 'TBCARDUSE_199509'
0 INDEX (RANGE SCAN) OF 'TBCARDUSE_199509_IDX2'
0 FILTER ---> Access 불 필요 Skip Operation
0 TABLE ACCESS OF 'TBCARDUSE_199510'
0 INDEX (RANGE SCAN) OF 'TBCARDUSE_199510_IDX2'
0 FILTER
0 TABLE ACCESS OF 'TBCARDUSE_199511'
0 INDEX (RANGE SCAN) OF 'TBCARDUSE_199511_IDX2'
0 FILTER
0 TABLE ACCESS OF 'TBCARDUSE_199512'
0 INDEX (RANGE SCAN) OF 'TBCARDUSE_199512_IDX2'
0 FILTER
0 TABLE ACCESS OF 'TBCARDUSE_199601'
0 INDEX (RANGE SCAN) OF 'TBCARDUSE_199601_IDX2'
0 FILTER
0 TABLE ACCESS OF 'TBCARDUSE_199602'
0 INDEX (RANGE SCAN) OF 'TBCARDUSE_199602_IDX2'
0 FILTER
0 TABLE ACCESS OF 'TBCARDUSE_199603'
0 INDEX (RANGE SCAN) OF 'TBCARDUSE_199603_IDX2'
0 FILTER
0 TABLE ACCESS OF 'TBCARDUSE_199604'
0 INDEX (RANGE SCAN) OF 'TBCARDUSE_199604_IDX2'
0 FILTER
0 TABLE ACCESS OF 'TBCARDUSE_199605'
0 INDEX (RANGE SCAN) OF 'TBCARDUSE_199605_IDX2'
0 FILTER
0 TABLE ACCESS OF 'TBCARDUSE_199606'
0 INDEX (RANGE SCAN) OF 'TBCARDUSE_199606_IDX2'
1 TABLE ACCESS OF 'TBCARDUSE_199607'
2 INDEX (RANGE SCAN) OF 'TBCARDUSE_199607_IDX2'
0 FILTER
0 TABLE ACCESS OF 'TBCARDUSE_199608'
0 INDEX (RANGE SCAN) OF 'TBCARDUSE_199608_IDX2'
0 FILTER
0 TABLE ACCESS OF 'TBCARDUSE_199609'
0 INDEX (RANGE SCAN) OF 'TBCARDUSE_199609_IDX2'
( 설명 ) Partition View의 가장 일반적인 사용 Case로 Partition
Column이 *=*로 비교 되었을 때는 Access 불 필요
Table은 Skip하는 Operation (FILTER)이 동작 함.
(2) Partition Column이 " BETWEEN ~ AND ~ "로 비교 될 때
SELECT CARD_NO,USE_NO,AUTH_DATE,AUTH_AMT
FROM PV_TBCARDUSE
WHERE USE_NO = '00002037'
AND AUTH_DATE BETWEEN '19960701' AND '19960731'
Rows Execution Plan
0 SELECT STATEMENT GOAL: CHOOSE
1 VIEW OF 'PV_TBCARDUSE'
1 UNION-ALL (PARTITION)
0 FILTER
0 TABLE ACCESS OF 'TBCARDUSE_199507'
0 INDEX (RANGE SCAN) OF 'TBCARDUSE_199507_IDX2'
0 FILTER
0 TABLE ACCESS OF 'TBCARDUSE_199508'
0 INDEX (RANGE SCAN) OF 'TBCARDUSE_199508_IDX2'
0 FILTER
0 TABLE ACCESS OF 'TBCARDUSE_199509'
0 INDEX (RANGE SCAN) OF 'TBCARDUSE_199509_IDX2'
0 FILTER
0 TABLE ACCESS OF 'TBCARDUSE_199510'
0 INDEX (RANGE SCAN) OF 'TBCARDUSE_199510_IDX2'
0 FILTER
0 TABLE ACCESS OF 'TBCARDUSE_199511'
0 INDEX (RANGE SCAN) OF 'TBCARDUSE_199511_IDX2'
0 FILTER
0 TABLE ACCESS OF 'TBCARDUSE_199512'
0 INDEX (RANGE SCAN) OF 'TBCARDUSE_199512_IDX2'
0 FILTER
0 TABLE ACCESS OF 'TBCARDUSE_199601'
0 INDEX (RANGE SCAN) OF 'TBCARDUSE_199601_IDX2'
0 FILTER
0 TABLE ACCESS OF 'TBCARDUSE_199602'
0 INDEX (RANGE SCAN) OF 'TBCARDUSE_199602_IDX2'
0 FILTER
0 TABLE ACCESS OF 'TBCARDUSE_199603'
0 INDEX (RANGE SCAN) OF 'TBCARDUSE_199603_IDX2'
0 FILTER
0 TABLE ACCESS OF 'TBCARDUSE_199604'
0 INDEX (RANGE SCAN) OF 'TBCARDUSE_199604_IDX2'
0 FILTER
0 TABLE ACCESS OF 'TBCARDUSE_199605'
0 INDEX (RANGE SCAN) OF 'TBCARDUSE_199605_IDX2'
0 FILTER
0 TABLE ACCESS OF 'TBCARDUSE_199606'
0 INDEX (RANGE SCAN) OF 'TBCARDUSE_199606_IDX2'
1 TABLE ACCESS OF 'TBCARDUSE_199607'
2 INDEX (RANGE SCAN) OF 'TBCARDUSE_199607_IDX2'
0 FILTER
0 TABLE ACCESS OF 'TBCARDUSE_199608'
0 INDEX (RANGE SCAN) OF 'TBCARDUSE_199608_IDX2'
0 FILTER
0 TABLE ACCESS OF 'TBCARDUSE_199609'
0 INDEX (RANGE SCAN) OF 'TBCARDUSE_199609_IDX2'
( 설명 ) Partition Column이 BETWEEN~AND~ 로 비교 되었을 때는
Access 불 필요 Table은 Skip하는 Operation(FILTER)이
동작 함
(3) Partition Column이 " LIKE "로 비교 될 때
SELECT CARD_NO,USE_NO,AUTH_DATE,AUTH_AMT
FROM PV_TBCARDUSE
WHERE USE_NO = '00002037'
AND AUTH_DATE LIKE '199607%'
Rows Execution Plan
0 SELECT STATEMENT GOAL: CHOOSE
1 VIEW OF 'PV_TBCARDUSE'
1 UNION-ALL (PARTITION)
0 TABLE ACCESS OF 'TBCARDUSE_199507'
1 INDEX (RANGE SCAN) OF 'TBCARDUSE_199510_IDX2'
0 TABLE ACCESS OF 'TBCARDUSE_199508'
1 INDEX (RANGE SCAN) OF 'TBCARDUSE_199510_IDX2'
0 TABLE ACCESS OF 'TBCARDUSE_199509'
1 INDEX (RANGE SCAN) OF 'TBCARDUSE_199510_IDX2'
0 TABLE ACCESS OF 'TBCARDUSE_199510'
1 INDEX (RANGE SCAN) OF 'TBCARDUSE_199510_IDX2'
0 TABLE ACCESS OF 'TBCARDUSE_199511'
1 INDEX (RANGE SCAN) OF 'TBCARDUSE_199511_IDX2'
0 TABLE ACCESS OF 'TBCARDUSE_199512'
1 INDEX (RANGE SCAN) OF 'TBCARDUSE_199512_IDX2'
0 TABLE ACCESS OF 'TBCARDUSE_199601'
1 INDEX (RANGE SCAN) OF 'TBCARDUSE_199601_IDX2'
1 TABLE ACCESS OF 'TBCARDUSE_199602'
2 INDEX (RANGE SCAN) OF 'TBCARDUSE_199602_IDX2'
0 TABLE ACCESS OF 'TBCARDUSE_199603'
1 INDEX (RANGE SCAN) OF 'TBCARDUSE_199603_IDX2'
0 TABLE ACCESS OF 'TBCARDUSE_199604'
1 INDEX (RANGE SCAN) OF 'TBCARDUSE_199604_IDX2'
0 TABLE ACCESS OF 'TBCARDUSE_199605'
1 INDEX (RANGE SCAN) OF 'TBCARDUSE_199605_IDX2'
0 TABLE ACCESS OF 'TBCARDUSE_199606'
1 INDEX (RANGE SCAN) OF 'TBCARDUSE_199606_IDX2'
1 TABLE ACCESS OF 'TBCARDUSE_199607'
2 INDEX (RANGE SCAN) OF 'TBCARDUSE_199607_IDX2'
0 TABLE ACCESS OF 'TBCARDUSE_199608'
1 INDEX (RANGE SCAN) OF 'TBCARDUSE_199608_IDX2'
0 TABLE ACCESS OF 'TBCARDUSE_199609'
1 INDEX (RANGE SCAN) OF 'TBCARDUSE_199609_IDX2'
( 설명 ) Partition Column이 LIKE로 비교 되었을 때는
FILTER가 동작하지 않음. (주의 요망)
(4) Partition Column이 " OR "로 비교 될 때
SELECT CARD_NO,USE_NO,AUTH_DATE,AUTH_AMT
FROM PV_TBCARDUSE
WHERE USE_NO = '00002037'
AND ( AUTH_DATE BETWEEN '19960601' AND '19960630'
OR AUTH_DATE BETWEEN '19960701' AND '19960730')
Rows Execution Plan
0 SELECT STATEMENT GOAL: CHOOSE
1 VIEW OF 'PV_TBCARDUSE'
1 UNION-ALL (PARTITION)
0 TABLE ACCESS OF 'TBCARDUSE_199507'
1 INDEX (RANGE SCAN) OF 'TBCARDUSE_199510_IDX2'
0 TABLE ACCESS OF 'TBCARDUSE_199508'
1 INDEX (RANGE SCAN) OF 'TBCARDUSE_199510_IDX2'
0 TABLE ACCESS OF 'TBCARDUSE_199509'
1 INDEX (RANGE SCAN) OF 'TBCARDUSE_199510_IDX2'
0 TABLE ACCESS OF 'TBCARDUSE_199510'
1 INDEX (RANGE SCAN) OF 'TBCARDUSE_199510_IDX2'
0 TABLE ACCESS OF 'TBCARDUSE_199511'
1 INDEX (RANGE SCAN) OF 'TBCARDUSE_199511_IDX2'
0 TABLE ACCESS OF 'TBCARDUSE_199512'
1 INDEX (RANGE SCAN) OF 'TBCARDUSE_199512_IDX2'
0 TABLE ACCESS OF 'TBCARDUSE_199601'
1 INDEX (RANGE SCAN) OF 'TBCARDUSE_199601_IDX2'
1 TABLE ACCESS OF 'TBCARDUSE_199602'
2 INDEX (RANGE SCAN) OF 'TBCARDUSE_199602_IDX2'
0 TABLE ACCESS OF 'TBCARDUSE_199603'
1 INDEX (RANGE SCAN) OF 'TBCARDUSE_199603_IDX2'
0 TABLE ACCESS OF 'TBCARDUSE_199604'
1 INDEX (RANGE SCAN) OF 'TBCARDUSE_199604_IDX2'
0 TABLE ACCESS OF 'TBCARDUSE_199605'
1 INDEX (RANGE SCAN) OF 'TBCARDUSE_199605_IDX2'
0 TABLE ACCESS OF 'TBCARDUSE_199606'
1 INDEX (RANGE SCAN) OF 'TBCARDUSE_199606_IDX2'
1 TABLE ACCESS OF 'TBCARDUSE_199607'
2 INDEX (RANGE SCAN) OF 'TBCARDUSE_199607_IDX2'
0 TABLE ACCESS OF 'TBCARDUSE_199608'
1 INDEX (RANGE SCAN) OF 'TBCARDUSE_199608_IDX2'
0 TABLE ACCESS OF 'TBCARDUSE_199609'
1 INDEX (RANGE SCAN) OF 'TBCARDUSE_199609_IDX2'
( 설명 ) Partition Column이 OR로 비교 되었을 때는
FILTER가 동작하지 않음. ( BUG로 등록되어 있음 )
(5) Partition Column이 " BETWEEN "으로 비교되고 다른 비교
Column이 없을 때
SELECT CARD_NO,USE_NO,AUTH_DATE,AUTH_AMT
FROM PV_TBCARDUSE
WHERE AUTH_DATE BETWEEN '19960601' AND '19960630'
EXECUTION PLAN
SELECT STATEMENT
VIEW PV_TBCARDUSE
UNION-ALL (PARTITION)
FILTER
TABLE ACCESS (BY ROWID) OF TBCARDUSE_199507
INDEX (RANGE SCAN) TBCARDUSE_199510_IDX3
FILTER
TABLE ACCESS (BY ROWID) OF TBCARDUSE_199508
INDEX (RANGE SCAN) TBCARDUSE_199510_IDX3
FILTER
TABLE ACCESS (BY ROWID) OF TBCARDUSE_199509
INDEX (RANGE SCAN) TBCARDUSE_199510_IDX3
FILTER
TABLE ACCESS (BY ROWID) OF TBCARDUSE_199510
INDEX (RANGE SCAN) TBCARDUSE_199510_IDX3
FILTER
TABLE ACCESS (BY ROWID) OF TBCARDUSE_199511
INDEX (RANGE SCAN) TBCARDUSE_199511_IDX3
FILTER
TABLE ACCESS (BY ROWID) OF TBCARDUSE_199512
INDEX (RANGE SCAN) TBCARDUSE_199512_IDX3
FILTER
TABLE ACCESS (BY ROWID) OF TBCARDUSE_199601
INDEX (RANGE SCAN) TBCARDUSE_199601_IDX3
FILTER
TABLE ACCESS (BY ROWID) OF TBCARDUSE_199602
INDEX (RANGE SCAN) TBCARDUSE_199602_IDX3
FILTER
TABLE ACCESS (BY ROWID) OF TBCARDUSE_199603
INDEX (RANGE SCAN) TBCARDUSE_199603_IDX3
FILTER
TABLE ACCESS (BY ROWID) OF TBCARDUSE_199604
INDEX (RANGE SCAN) TBCARDUSE_199604_IDX3
FILTER
TABLE ACCESS (BY ROWID) OF TBCARDUSE_199605
INDEX (RANGE SCAN) TBCARDUSE_199605_IDX3
TABLE ACCESS FULL TBCARDUSE_199606
FILTER
TABLE ACCESS (BY ROWID) OF TBCARDUSE_199607
INDEX (RANGE SCAN) TBCARDUSE_199607_IDX3
FILTER
TABLE ACCESS (BY ROWID) OF TBCARDUSE_199608
INDEX (RANGE SCAN) TBCARDUSE_199608_IDX3
FILTER
TABLE ACCESS (BY ROWID) OF TBCARDUSE_199609
INDEX (RANGE SCAN) TBCARDUSE_199609_IDX3
(6) Partition Column이 " OR "로 비교되고 다른 비교 Column이
없을 때.
SELECT CARD_NO,USE_NO,AUTH_DATE,AUTH_AMT
FROM PV_TBCARDUSE
WHERE AUTH_DATE BETWEEN '19960501' AND '19960531'
OR AUTH_DATE BETWEEN '19960601' AND '19960630'
OR AUTH_DATE BETWEEN '19960701' AND '19960731'
EXECUTION PLAN
SELECT STATEMENT
VIEW PV_TBCARDUSE
UNION-ALL (PARTITION)
TABLE ACCESS FULL TBCARDUSE_199507
TABLE ACCESS FULL TBCARDUSE_199508
TABLE ACCESS FULL TBCARDUSE_199509
TABLE ACCESS FULL TBCARDUSE_199510
TABLE ACCESS FULL TBCARDUSE_199511
TABLE ACCESS FULL TBCARDUSE_199512
TABLE ACCESS FULL TBCARDUSE_199601
TABLE ACCESS FULL TBCARDUSE_199602
TABLE ACCESS FULL TBCARDUSE_199603
TABLE ACCESS FULL TBCARDUSE_199604
TABLE ACCESS FULL TBCARDUSE_199605
TABLE ACCESS FULL TBCARDUSE_199606
TABLE ACCESS FULL TBCARDUSE_199607
TABLE ACCESS FULL TBCARDUSE_199608
TABLE ACCESS FULL TBCARDUSE_199609
# 최악의 경우
(7) 위 (6)의 Query를 " BETWEEN "으로 변환 경우
SELECT /*+ FULL(PV_TBCARDUSE) */
CARD_NO,USE_NO,AUTH_DATE,AUTH_AMT
FROM PV_TBCARDUSE
WHERE AUTH_DATE BETWEEN '19960501' AND '19960731'
EXECUTION PLAN
SELECT STATEMENT
VIEW PV_TBCARDUSE
UNION-ALL (PARTITION)
FILTER
TABLE ACCESS (BY ROWID) OF TBCARDUSE_199507
INDEX (RANGE SCAN) TBCARDUSE_199510_IDX3
FILTER
TABLE ACCESS (BY ROWID) OF TBCARDUSE_199508
INDEX (RANGE SCAN) TBCARDUSE_199510_IDX3
FILTER
TABLE ACCESS (BY ROWID) OF TBCARDUSE_199509
INDEX (RANGE SCAN) TBCARDUSE_199510_IDX3
FILTER
TABLE ACCESS (BY ROWID) OF TBCARDUSE_199510
INDEX (RANGE SCAN) TBCARDUSE_199510_IDX3
FILTER
TABLE ACCESS (BY ROWID) OF TBCARDUSE_199511
INDEX (RANGE SCAN) TBCARDUSE_199511_IDX3
FILTER
TABLE ACCESS (BY ROWID) OF TBCARDUSE_199512
INDEX (RANGE SCAN) TBCARDUSE_199512_IDX3
FILTER
TABLE ACCESS (BY ROWID) OF TBCARDUSE_199601
INDEX (RANGE SCAN) TBCARDUSE_199601_IDX3
FILTER
TABLE ACCESS (BY ROWID) OF TBCARDUSE_199602
INDEX (RANGE SCAN) TBCARDUSE_199602_IDX3
FILTER
TABLE ACCESS (BY ROWID) OF TBCARDUSE_199603
INDEX (RANGE SCAN) TBCARDUSE_199603_IDX3
FILTER
TABLE ACCESS (BY ROWID) OF TBCARDUSE_199604
INDEX (RANGE SCAN) TBCARDUSE_199604_IDX3
TABLE ACCESS FULL TBCARDUSE_199605
TABLE ACCESS FULL TBCARDUSE_199606
TABLE ACCESS FULL TBCARDUSE_199607
FILTER
TABLE ACCESS (BY ROWID) OF TBCARDUSE_199608
INDEX (RANGE SCAN) TBCARDUSE_199608_IDX3
FILTER
TABLE ACCESS (BY ROWID) OF TBCARDUSE_199609
INDEX (RANGE SCAN) TBCARDUSE_199609_IDX3
2) Insert, Delete, Update의 사용
현재까지는 Partition View에 직접적으로 Insert/Delete/Update를
할 수 없다.
(이는 8.0 Version에 가능] 따라서 현재는 2 가지 방법으로 가능.
(1) DYNAMIC SQL을 이용하는 방법
(2) LOGIC적으로 IF-ELSE 방법을사용하여 가능한 일어 날 수 있는 모든
경우를 기술하는 방법
(비교) (1)의 방법은 Application 작성이 간단하기는 하나 LOOP안에서
수행되거나 빈번히 수행되는 경우에는 Parsing Overhead가
심각해 질 정도로 증가 됨.
(2)의 방법은 (1)의 단점을 해소 할 수 있으나 Partition
Table이 추가, 변경됨 따라 주기적으로 APPLICATION이 같이
변경해 주어야 한다.
3) Partition View의 효율적인 사용 방법
(1) Parsing Time의 감소
Partition View는 많은 수의 Table을 UNION ALL View로 만든
것이므로 Query 수행 시 Parsing Time의 Overhead로 인해 성능
저하를 가져 올 수 있다.
이에 대해서 물리적인 방법(HOLD_CURSOR,
CURSOR_SPACE_FOR_TIME=true 등)으로 Re-Parsing Time을 줄일
수 있으나 Partion View를 효율적으로 생성하므로써 Overhead를
줄일 수 있다.
(가) 수직적 분할
(사례)에서는 약 100개 정도의 Column에 대해서 "Select * "의
형태로 되어 있어 Data Dictionary Call이 그만큼 많아 진다.
그러나 Table의 속성을 보면 필수 NOT NULL Column(10ro)을
제외한 90개의 Column이 실제적으로는 '신용판매','현금서비스',
'해외이용'의 3가지로 GROUPING 되는 것으로 PARTITION VIEW
자체를 3개 정도로 분할(수직적인 분할)하고 사용하여 Overhead
를 줄인다.
(나) 수평적 분할
가장 ACTIVE한 범위를 정하여 수평적으로 분할하여 Partition
View를 생성한다.
(사례)에서는 3개월,6개월,9개월 단위의 Partition View를
만들어 사용하고 있다.
(2) Partition Column이 비교절에 나오지 않을때
이 때는 어쩔 수 없이 Partition Column이 사용 될 수 없으므로
일반적인 UNION-ALL View형태로 Access 될 수 밖에 없다. 그러나
SELECT 결과가 1건일 경우에는 ROWNUM 제한을 시켜 될 수 있는 한
TABLE ACCESS를 제한시킨다.
( UNION ALL의 순서를 역순으로 하여 VIEW를 생성 )
CREATE OR REPLACE VIEW PV_TBCARDUSE1
AS
SELECT * FROM TBCARDUSE_199609
UNION ALL
SELECT * FROM TBCARDUSE_199608
UNION ALL
SELECT * FROM TBCARDUSE_199607
UNION ALL
SELECT * FROM TBCARDUSE_199606
UNION ALL
SELECT * FROM TBCARDUSE_199605
UNION ALL
SELECT * FROM TBCARDUSE_199604
UNION ALL
SELECT * FROM TBCARDUSE_199603
UNION ALL
SELECT * FROM TBCARDUSE_199602
UNION ALL
SELECT * FROM TBCARDUSE_199601
UNION ALL
SELECT * FROM TBCARDUSE_199512
UNION ALL
SELECT * FROM TBCARDUSE_199511
UNION ALL
SELECT * FROM TBCARDUSE_199510
UNION ALL
SELECT * FROM TBCARDUSE_199509
UNION ALL
SELECT * FROM TBCARDUSE_199508
UNION ALL
SELECT * FROM TBCARDUSE_199507
SELECT * FROM PV_TBCARDUSE1
WHERE USE_NO = '123456' ---+
AND CARD_NO = '45991276182212' ---+ (UNQUE)
AND ROWNUM = 1;
(사례)에서 시간적으로 최근의 TABLE을 먼저 UNION ALL하여
사용하였다. 이는 원하는 정보가 최근에 있을 확률이 높기때문에
먼저 찾게되면 더이상 TABLE의 ACCESS를 하지 않기때문이다.
(3) HINT의 사용
Partition View에 Hint 사용은 보통의 Query에 대해서와 같이
사용한다.
(1) PARALLEL HINT
SELECT /*+ PARALLEL(PV_TBCARDUSE,2) */
SUM(AUTH_AMT)
FROM PV_TBCARDUSE
WHERE AUTH_DATE BETWEEN '19960501' AND '19960731'
TBCARDUSE_199605,TBCARDUSE_199606,TBCARDUSE_199607
Table을 Parallel로 처리한다.
(2) INDEX_DESC HINT
이는 INDEX이름이 HINT내에 들어가야 하므로 원칙적으로는
불가능하지만 사용 될 Table이 명확하게 정의된다면 사용 할
수도 있다.
SELECT /*+ INDEX_DESC(a TBACRDUSE_199605_IDX1) */
FROM PV_TBCARDUSE a
WHERE CARD_NO = '4599243141847231'
AND AUTH_DATE BETWEEN '19960501' AND '19960531'
AND ROWNUM = 1

Hello,
Incorrect Display of Tables and Frames in Firefox when DESFORMAT=HTMLCSS (Doc ID 412272.1)
Regards

Similar Messages

  • SSRS: "View Report" button doesn't refresh parameter dropdowns

    So many people have asked similar questions about why SSRS report parameters are not refreshed when "View Report" button is clicked and MSDN simply comes back with an answer "work as designed". It's a bad design, period.
    Here is my suggestion to Microsoft team who works on SSRS: either add a "Refresh Parameters" button at the end of the last parameter dropdown so users can force reload the parameter list, or add "Reload
    Report" after "View Report" button (which should be re-named "Refresh Report" more precisely) to allow user reload the entire report (as if it was Ctrl-F5 is pressed in I.E.), not just to refresh the main report dataset as "Review
    Report" button is currently doing.

    Hi Steve Liu,
    Thanks for your suggestion and you can also submit this suggestion at
    https://connect.microsoft.com/SQLServer/
    If the suggestion mentioned by customers for many times, the product team may consider to add the feature in the next SQL Server version. Your feedback is valuable for us to improve our products and increase the level
    of service provided.
    Thanks for your understanding
    Regards,
    Vicky Liu
    Vicky Liu
    TechNet Community Support

  • Error in viewing reports through Portal favorites.

    Hello Everyone,
    I am facing some issue in viewing reports in my portal.
    I have kept some of my reports as portal favorites,but when i try to open those reports it is giving me an error saying page cannot be found or it may be unavailable.
    Please Help.
    Thanks and Regards,
    Atul Dumbre

    Hi Atul,
        Kindly check in the report's external link in KM.What is the iView its using?
    then check in content administration whether that particular iview is available or not?
    If that iView is not available then change the link.then it should work.
    Naga

  • Crystal 2008, BO XI 3.1, cannot view reports, UserID password dialog shows

    Hello Forum,
    We have Crystal Reports 2008 installed on XP machine, and Business Objects XI 3.1 on a Windows Server 2008 machine. We can view sample reports on Server machine in CMC (right click view in report folder)
    We can also view samples reports in BusinessObjects on XP machine. However if we create a report (simple report with no parameters) on XP machine and save to BusinessObjects server, then try and open report, we get a dialog indicating 'Further information is required' and User Id and Passworsd test box show.
    This dialog shows repeatedly even when we enter credentials relevant to database/report. I have looked in .pdf documentation and forum and not had any success in resolving this. Any help would be appreciated, The report database is SQL Server,
    Thanks,
    Paul James

    DB 'Connection' in Crystal Report (2008) and DNS on BusinessObject (XI 3.1) machine need to be the same, to view report via Central Management Console
    In .NET code calling report against SQL Server (2008) database, Crytal Connection needs to be Microsoft OLE DB SQL Provider for SQL Server.

  • SQL Server Distributed Partitioning Views how to add a new node online

    We are using distributed partitioning views in SQL Server 2012 Enterprise Edition for scaling out our data across more than one servers. Now we faced to question how to add a new node (server) into the scale outed db servers system without sending the servers
    down, so our users will be able to use them during the process as well.
    For example we have 4 servers with scaled out data. When we add the new empty server, the CHECKINGs for the partitioning columns should be reorganized. But during the process the partitioning views are not working.
    The High Availability, Always On or Failover Cluster approaches seem are not resolve the problems.
    So my question is how to add new node online?
    KH

    Thank you Erland for the reply.
    Yes, it's sounds as possible solution but has some not resolvable nuance in it. Let's say we copied some data from Node5 to new added Node6. Let's assume in Node5 we had data in Table1 with partitioning column's values 100,101,102,103,104,105,106.  Now
    we want to copy part of the rows with partitioning column's values 103,104,105,106 from Node5.Table1 into Node6.Table1. With this Node5 will contain less data and will work more quickly (less IO, less CPU usage etc), and the rest data will be contained on
    Node6. But because of Node5 is already in use, the Node5.Table1 contains CHECK CONSTRAINT = ParttionColumn should be from 100 up to 106. This is check for Node5. The Distributed Partitioning Views are already using the CHECKs to identify what server should
    be used to get data from.
    Now when we copied part of the Node5.Table1 rows to Node6.Table1 the views are still using the 103-106 rows from Node5.Table1 because the CHECK points there. Then we include the newest Node6.Table1 in the distributed partitioning views. OK, but we should
    set some CHECK on new Node6.Table1 which will be used by views. We can't set intersecting checking like Node5 has CHECK 100-106 and Node6 has CHECK 103-106. We also can't edit Node5 check and set it 100-102 untill the data will be removed in it. But this means
    that the data will not be available during the execution. 
    So, any ideas ?
    KH

  • Error trying to create a Power View report against a Multi Dimensional SSAS cube

    Hi all,
    We have installed the Power View For Multidimensional Models CTP, released last November 27 on our Analysis Server instances.  I am now trying to create a Power View report in SharePoint that is connected to a Multi-Dimensional cube.
    I have followed the instructions diligently:
    1. Install the CTP
    2. Created a data connection of type "Microsoft BI Semantic Model for Power View" (see attachment #1)
    3. Tested that the connection was valid (all is good here!)
    I then select the "Create Power View Report" option from the data connection that I created above.
    The Power View GUI appears, and then throws an error:
    Error text:
    "An error occurred while loading the model for the item or data source 'http://server/site/SalesVarianceAnalysis_MDX.rsds'. Verify that the connection information is correct and that you have permissions to access the data source."
    The details of the error are:
    <detail><ErrorCode xmlns="rsCannotRetrieveModel</ErrorCode><HttpStatus">http://www.microsoft.com/sql/reportingservices">rsCannotRetrieveModel</ErrorCode><HttpStatus
    xmlns="400</HttpStatus><Message">http://www.microsoft.com/sql/reportingservices">400</HttpStatus><Message xmlns="An">http://www.microsoft.com/sql/reportingservices">An
    error occurred while loading the model for the item or data source 'http://hubtest/sites/broadcasting/thewowzone/Data Connections/SalesVarianceAnalysis_MDX.rsds'. Verify that the connection information is correct and that you have permissions to access the
    data source.</Message><HelpLink xmlns="http://go.microsoft.com/fwlink/?LinkId=20476&EvtSrc=Microsoft.ReportingServices.Diagnostics.Utilities.ErrorStrings&EvtID=rsCannotRetrieveModel&ProdName=Microsoft%20SQL%20Server%20Reporting%20Services&ProdVer=11.0.3000.0</HelpLink><ProductName">http://www.microsoft.com/sql/reportingservices">http://go.microsoft.com/fwlink/?LinkId=20476&amp;EvtSrc=Microsoft.ReportingServices.Diagnostics.Utilities.ErrorStrings&amp;EvtID=rsCannotRetrieveModel&amp;ProdName=Microsoft%20SQL%20Server%20Reporting%20Services&amp;ProdVer=11.0.3000.0</HelpLink><ProductName
    xmlns="Microsoft">http://www.microsoft.com/sql/reportingservices">Microsoft SQL Server Reporting Services</ProductName><ProductVersion xmlns="11.0.3000.0</ProductVersion><ProductLocaleId">http://www.microsoft.com/sql/reportingservices">11.0.3000.0</ProductVersion><ProductLocaleId
    xmlns="127</ProductLocaleId><OperatingSystem">http://www.microsoft.com/sql/reportingservices">127</ProductLocaleId><OperatingSystem xmlns="OsIndependent</OperatingSystem><CountryLocaleId">http://www.microsoft.com/sql/reportingservices">OsIndependent</OperatingSystem><CountryLocaleId
    xmlns="1033</CountryLocaleId><MoreInformation">http://www.microsoft.com/sql/reportingservices">1033</CountryLocaleId><MoreInformation xmlns="<Source>ReportingServicesLibrary</Source><Message">http://www.microsoft.com/sql/reportingservices"><Source>ReportingServicesLibrary</Source><Message
    msrs:ErrorCode="rsCannotRetrieveModel" msrs:HelpLink="http://go.microsoft.com/fwlink/?LinkId=20476&amp;EvtSrc=Microsoft.ReportingServices.Diagnostics.Utilities.ErrorStrings&amp;EvtID=rsCannotRetrieveModel&amp;ProdName=Microsoft%20SQL%20Server%20Reporting%20Services&amp;ProdVer=11.0.3000.0"
    xmlns:msrs="An">http://www.microsoft.com/sql/reportingservices">An error occurred while loading the model for the item or data source '<omitted for security purposes>.
    Verify that the connection information is correct and that you have permissions to access the data source.</Message><MoreInformation><Source></Source><Message>For more information about this error navigate to the report server
    on the local server machine, or enable remote errors</Message></MoreInformation></MoreInformation><Warnings xmlns="http://www.microsoft.com/sql/reportingservices" /></detail>
    So, I can connect with the connection, but I get an error when connecting with Power View. 
    Any suggestions are appreciated.
    Thanks...
    /Peter
    Peter

    Hi Peter - are you specifying the cube name in the connection string?
    Data Source=[server];Initial Catalog=AdventureWorksDW-MD;Cube='Adventure Works'
    Check out
    http://blogs.msdn.com/b/analysisservices/archive/2012/12/09/power-view-for-multidimensional-models-feature-drill-down.aspx

  • A "view report" button in a jsp

    Hi - I have a jsp page that produces a summary of results - I want to add a button that the user can click on to view a print friendly detailed report.
    I want to be able to pass alot of details from the summary jsp to the new detailed report but I'm not sure how to go about it. I'd like to pass the data as Vector's or multidimensional vectors.
    I want a button - but I've only ever used buttons with forms - do I need to turn the summary jsp into a form in order to pass the data? If I do use a button in a form with a bean - am I restricted to Strings or arrays of strings?
    I guess I'm asking the simplest way to implement this - one jsp passing data to another jsp (via vectors) if a button is pushed without making one huge href link full of vector data.
    Thanks

    Hi - I tried the method above but it (JSP1) is passing nul values to the jsp (JSP2) - though the variables I'm setting in the first JSP(JSP1) are not null.
    I'm wondering if it has anything to do with the fact that JSP1 starts out by getting a vector from a servlet that has forwarded to the JSP1 - so JSP1 starts out with this line:
    <%
         Vector results = (Vector)request.getAttribute("tests");
         %>then a summary is created and displayed to the user - at the bottom on this summary I have a button which takes alot of the information from the summary to put in a detailed report (the information that is being passed as null currently)
    I have enclosed it in a form so the request goes to JSP2 like so:
    <form name="resultreport" action="report.jsp" method=post>so that means the bottom of JSP1 looks like this:
            request.setAttribute("totals", totals);
         request.setAttribute("pass_count", pass_count);
          <input type="submit" value="View Report">then JSP2 just looks like this at the moment:
    <%
        String[] totals = (String[]) request.getAttribute("totals");
        String pass_count = (String) request.getAttribute("pass_count");
    %>
    length of array is <%=totals.length%> <BR>
    passcount is <%=pass_count%>
        So I guess my question is - is the problem that JSP1 already calls the request object to get an attribute right at the beginning - then me setting request attributes and sending them to another jsp messes it up and results in nothing being sent? or is it ok to get the request object from another servlet - access attributes then set new attributes and send them to another jsp?

  • List View Report with pipelined function in Mobile application and ORA-01007: variable not in select list

    Hi!
    I have a problem with List View Report in mobile application (theme 50 in apex) after updating to apex 4.2.2. I created Report -> List View. I used select from pipelined function in Region Source. Then when page is running and submited three times (or refreshed three times) I get an error:
    Error during rendering of region "LIST VIEW".
    ORA-01007: variable not in select list
    Technical Info (only visible for developers)
    is_internal_error: true
    apex_error_code: APEX.REGION.UNHANDLED_ERROR
    ora_sqlcode: -1007
    ora_sqlerrm: ORA-01007: variable not in select list
    component.type: APEX_APPLICATION_PAGE_REGIONS
    component.id: 21230833903737364557
    component.name: LIST VIEW
    error_backtrace:
         ORA-06512: at "APEX_040200.WWV_FLOW_DISP_PAGE_PLUGS", line 4613
         ORA-06512: at "APEX_040200.WWV_FLOW_DISP_PAGE_PLUGS", line 3220
    I get this error only when I use select from pipelined function in Region Source (for example: "select value1, value2 from table(some_pipelined_function(param1, param2)) ").
    You can check it on http://apex.oracle.com/pls/apex/f?p=50591 (login - demo, password - demo).
    In this application:
    - I created package TAB_TYPES_PKG:
    create or replace PACKAGE TAB_TYPES_PKG IS
    TYPE cur_rest_r IS RECORD (
        STR_NAME          VARCHAR2(128),
        INFO              VARCHAR2(128)
    TYPE cur_rest_t IS TABLE OF cur_rest_r;
    END TAB_TYPES_PKG;
    - I created pipelined function TEST_FUNC:
    create or replace
    FUNCTION TEST_FUNC
    RETURN TAB_TYPES_PKG.cur_rest_t  PIPELINED IS
    r_cur_rest TAB_TYPES_PKG.cur_rest_r;
    BEGIN
    r_cur_rest.STR_NAME := 'ROW 1';
    r_cur_rest.INFO := '10';
    PIPE ROW (r_cur_rest);
    r_cur_rest.STR_NAME := 'ROW 2';
    r_cur_rest.INFO := '20';
    PIPE ROW (r_cur_rest);
    r_cur_rest.STR_NAME := 'ROW 3';
    r_cur_rest.INFO := '30';
    PIPE ROW (r_cur_rest);
    r_cur_rest.STR_NAME := 'ROW 4';
    r_cur_rest.INFO := '40';
    PIPE ROW (r_cur_rest);
    r_cur_rest.STR_NAME := 'ROW 5';
    r_cur_rest.INFO := '50';
    PIPE ROW (r_cur_rest);
    RETURN;
    END TEST_FUNC;
    - I created List View Report on Page 1:
    Region Source:
    SELECT str_name,
           info
    FROM TABLE (TEST_FUNC)
    We can see error ORA-01007 after refresing (or submiting) Page 1 three times or more.
    How to fix it?

    Hi all
    I'm experiencing the same issue.  Predictably on every third refresh I receive:
    Error
    Error during rendering of region "Results".
    ORA-01007: variable not in select list
    Technical Info (only visible for developers)
    is_internal_error: true
    apex_error_code: APEX.REGION.UNHANDLED_ERROR
    ora_sqlcode: -1007
    ora_sqlerrm: ORA-01007: variable not in select list
    component.type: APEX_APPLICATION_PAGE_REGIONS
    component.id: 6910805644140264
    component.name: Results
    error_backtrace: ORA-06512: at "APEX_040200.WWV_FLOW_DISP_PAGE_PLUGS", line 4613 ORA-06512: at "APEX_040200.WWV_FLOW_DISP_PAGE_PLUGS", line 3220
    OK
    I am running Application Express 4.2.2.00.11 on GlassFish 4 using Apex Listener 2.0.3.221.10.13.
    Please note: this works perfectly using a classic report in my desktop application; however, no joy on the mobile side with a list view.  I will use a classic report in the interim.
    My region source is as follows:
    SELECT description AS "DESCRIPTION", reference AS "REFERENCE" FROM TABLE(AUTOCOMPLETE_LIST_VIEW_FNC('RESULTS'))
    The procedure:
      FUNCTION AUTOCOMPLETE_LIST_VIEW_FNC(
          p_collection_name IN VARCHAR2)
        RETURN list_row_table_type
      AS
        v_tab list_row_table_type := list_row_table_type();
      BEGIN
        DECLARE
          jsonarray json_list;
          jsonobj json;
          json_clob CLOB;
        BEGIN
          SELECT clob001
          INTO json_clob
          FROM apex_collections
          WHERE collection_name = p_collection_name;
          jsonobj              := json(json_clob);
          jsonarray            := json_ext.get_json_list(jsonobj, 'predictions');
          FOR i IN 1..jsonArray.count
          LOOP
            jsonobj := json(jsonArray.get(i));
            v_tab.extend;
            v_tab(v_tab.LAST) := list_row_type(json_ext.get_string(jsonobj, 'description'), json_ext.get_string(jsonobj, 'reference'));
          END LOOP;
          RETURN(v_tab);
        END;  
      END AUTOCOMPLETE_LIST_VIEW_FNC;
    Thanks!
    Tim

  • List View Report (theme 50 - jQuery Mobile Smartphone).

    Hi,
    I am creating a List View Report (theme 50 - jQuery Mobile Smartphone).
    I have say the following settings..
    Text Column - PRODUCT_DESC
    Link Target - f?p=111:22:......
    my PRODUCT_DESC is too long say 150 to 200 characters.
    When I run my application on mobile...
    1. when I am using the Link target, then I am not getting the complete Product Desc values displayed.. it's displaying just initial 15.. 20 characters of Prodcut Desc column and then arrow sign for link..
    2. If I am not using the Link target, then it's displays complete values of Product Desc (all the 150 .. 200 characters) and no link arrown sign.
    My question is I want to use the link target as well as want to display complete value of product desc.. any idea how can I do that..
    Thanks,
    Deepak

    Hi,
    I am creating a List View Report (theme 50 - jQuery Mobile Smartphone).
    I have say the following settings..
    Text Column - PRODUCT_DESC
    Link Target - f?p=111:22:......
    my PRODUCT_DESC is too long say 150 to 200 characters.
    When I run my application on mobile...
    1. when I am using the Link target, then I am not getting the complete Product Desc values displayed.. it's displaying just initial 15.. 20 characters of Prodcut Desc column and then arrow sign for link..
    2. If I am not using the Link target, then it's displays complete values of Product Desc (all the 150 .. 200 characters) and no link arrown sign.
    My question is I want to use the link target as well as want to display complete value of product desc.. any idea how can I do that..
    Thanks,
    Deepak

  • Partition view on 10g and 11g

    Hi All,
    I am on 10.2 Standard edition and 11.1 Standard edition (2 databases in the application, one on 10g, another on 11g).
    Being on standard edition, cannot use many common features e.g. partitioning, bitmap indexes etc.
    I use to think that, partitioned view are no more supported by Oracle. But I can see that it works. I created 3 tables TEMP1, TEMP2 and TEMP3, all with exact same structure (columns and indices). Then created a view TEMP_VIEW, which is like
    select col1, col2, col3 .... from temp1
    union all
    select col1, col2, col3 .... from temp2
    union all
    select col1, col2, col3 .... from temp3Here are the query execution and plans
    /* ----------------- 10g execution plan ----------------------- */
    SQL> select * from temp_view where object_id=2620 and branch_cd = 'XYZ';
    OWNER                          OBJECT_NAME                    SUBOBJECT_NAME                  OBJECT_ID DATA_OBJECT_ID
    OBJECT_TYPE         CREATED   LAST_DDL_ TIMESTAMP           STATUS  T G S BRANC
    SYS                            LOADER_TRIGGER_INFO                                                 2620
    VIEW                18-FEB-09 16-APR-09 2009-02-18:10:07:57 VALID   N N N XYZ
    Elapsed: 00:00:00.29
    Execution Plan
       0      SELECT STATEMENT Optimizer=ALL_ROWS (Cost=2 Card=1 Bytes=132)
       1    0   VIEW OF 'TEMP_VIEW' (VIEW) (Cost=2 Card=1 Bytes=132)
       2    1     UNION-ALL (PARTITION)
       3    2       TABLE ACCESS (BY INDEX ROWID) OF 'TEMP1' (TABLE) (Cost=2 Card=1 Bytes=132)
       4    3         INDEX (UNIQUE SCAN) OF 'TEMP1_PK' (INDEX (UNIQUE)) (Cost=1 Card=1)
       5    2       TABLE ACCESS (BY INDEX ROWID) OF 'TEMP2' (TABLE) (Cost=2 Card=1 Bytes=132)
       6    5         INDEX (UNIQUE SCAN) OF 'TEMP2_PK' (INDEX (UNIQUE)) (Cost=1 Card=1)
       7    2       TABLE ACCESS (BY INDEX ROWID) OF 'TEMP3' (TABLE) (Cost=2 Card=1 Bytes=132)
       8    7         INDEX (UNIQUE SCAN) OF 'TEMP3_PK' (INDEX (UNIQUE)) (Cost=1 Card=1)
    /* ----------------- 11g execution plan ----------------------- */
    SQL> select * from temp_view where object_id=2620 and branch_cd = 'XYZ';
    OWNER                          OBJECT_NAME                    SUBOBJECT_NAME                  OBJECT_ID DATA_OBJECT_ID
    OBJECT_TYPE         CREATED   LAST_DDL_ TIMESTAMP           STATUS  T G S BRANC
    PUBLIC                         GV$XML_AUDIT_TRAIL                                                  2620
    SYNONYM             16-NOV-09 16-NOV-09 2009-11-16:16:36:08 VALID   N N N XYZ
    Elapsed: 00:00:00.03
    Execution Plan
       0      SELECT STATEMENT Optimizer=ALL_ROWS (Cost=6 Card=3 Bytes=396)
       1    0   VIEW OF 'TEMP_VIEW' (VIEW) (Cost=6 Card=3 Bytes=396)
       2    1     UNION-ALL
       3    2       TABLE ACCESS (BY INDEX ROWID) OF 'TEMP1' (TABLE) (Cost=2 Card=1 Bytes=102)
       4    3         INDEX (UNIQUE SCAN) OF 'TEMP1_PK' (INDEX (UNIQUE)) (Cost=1 Card=1)
       5    2       TABLE ACCESS (BY INDEX ROWID) OF 'TEMP2' (TABLE) (Cost=2 Card=1 Bytes=102)
       6    5         INDEX (UNIQUE SCAN) OF 'TEMP2_PK' (INDEX (UNIQUE)) (Cost=1 Card=1)
       7    2       TABLE ACCESS (BY INDEX ROWID) OF 'TEMP3' (TABLE) (Cost=2 Card=1 Bytes=102)
       8    7         INDEX (UNIQUE SCAN) OF 'TEMP3_PK' (INDEX (UNIQUE)) (Cost=1 Card=1)Questions
    1) I am expecting same behaviour on Oracle enterprise edition, will that be the case ?
    2) On 10g, execution plan shows "UNION-ALL (PARTITION)", but on 11g it says, "UNION-ALL". What does that imply?
    3) Which Oracle parameter can affect this behaviour? the old partition_view_enable parameter does not exist
    4) If I go ahead and use this partitioned view, in which cases this can cause problems? At this point, it looks all good if I access the view using indexed columns (of the tables and all tables involved have exactly same indexes).
    Thanks in advance

    Billy Verreynne is an expert in this area and has been introducing people for years to 'partition views' and you can find many of his previous posts about how and when to use them (including example code) right here in these forums (most of them will be in the SQL and PL/SQL forum).
    This feature has been around since Oracle 7 and the 7.3 document that details the info is still at
    http://docs.oracle.com/cd/A57673_01/DOC/server/doc/A48506/partview.htm
    Here is just one of his many other threads with more example code using five tables.
    Table name in from clause

  • Custom secure views report is not restricting the data

    Hi,
    I have created few custom secure views reports and in which I have used the per_people_f , per_assignments_f secure views but when I am running this report from different responsibilities like (US Resp, UK Resp) it is producing the same number of records. From US resp it should produce the US employees and from UK it should produce the UK employees but this is not happening currently.it is a simple sql script which I registered as sql*plus executable.
    Can any one suggest if I am missing some thing? Urgent help would be appreciated.
    Thanks,
    Ashish

    Pl post details of OS, database and EBS versions. How have you implemented security ? What kind of concurrent program are you using ? Pl provide details. Also see these MOS Docs
    How To Enable Hr Security on Custom Reports?          (Doc ID 369345.1)
    Understanding and Using HRMS Security in Oracle HRMS          (Doc ID 394083.1)
    Need Custom Security Profile To Restrict Based On Employees Organization          (Doc ID 445142.1)
    HTH
    Srini

  • Error while creating Power View Report via BISM connection.

    I am able to create a PowerView Report using Microsoft BI Semantic Model connection without any problem. Everything works from home. But when I try to create Power View report using a BISM connection, I am running into errors. I've verified all permissions
    are all set correctly and SQL Browser service is running as well. Please see below error message. Greatly appreciate any pointers.
    Detailed error message
    Throwing Microsoft.ReportingServices.ReportProcessing.ReportProcessingException: , Microsoft.ReportingServices.ReportProcessing.ReportProcessingException: Cannot create a connection to data source 'TemporaryDataSource'. ---> Microsoft.AnalysisServices.AdomdClient.AdomdConnectionException:
    A connection cannot be made to redirector. Ensure that 'SQL Browser' service is running. ---> System.Net.Sockets.SocketException: The requested name is valid, but no data of the requested type was found     at System.Net.Sockets.TcpClient..ctor(String
    hostname, Int32 port)     at Microsoft.AnalysisServices.AdomdClient.XmlaClient.GetTcpClient(ConnectionInfo connectionInfo)     --- End of inner exception stack trace ---     at Microsoft.AnalysisServices.AdomdClient.XmlaClient.GetTcpClient(ConnectionInfo
    connectionInfo)     at Microsoft.AnalysisServices.AdomdClient.XmlaClient.OpenTcpConnection(ConnectionInfo connectionInfo)     at Microsoft.AnalysisServices.AdomdClient.XmlaClient.OpenConnection(ConnectionInfo connectionInfo, Boolean&
    isSessionTokenNeeded)     at Microsoft.AnalysisServices.AdomdClient.XmlaClient.Connect(ConnectionInfo connectionInfo, Boolean beginSession)     at Microsoft.AnalysisServices.AdomdClient.XmlaClient.GetInstancePort(ConnectionInfo connectionInfo)
        at Microsoft.AnalysisServices.AdomdClient.XmlaClient.GetTcpClient(ConnectionInfo connectionInfo)     at Microsoft.AnalysisServices.AdomdClient.XmlaClient.OpenTcpConnection(ConnectionInfo connectionInfo)     at Microsoft.AnalysisServices.AdomdClient.XmlaClient.OpenConnection(ConnectionInfo
    connectionInfo, Boolean& isSessionTokenNeeded)     at Microsoft.AnalysisServices.AdomdClient.XmlaClient.Connect(ConnectionInfo connectionInfo, Boolean beginSession)     at Microsoft.AnalysisServices.AdomdClient.AdomdConnection.XmlaClientProvider.Connect(Boolean
    toIXMLA)     at Microsoft.AnalysisServices.AdomdClient.AdomdConnection.ConnectToXMLA(Boolean createSession, Boolean isHTTP)     at Microsoft.AnalysisServices.AdomdClient.AdomdConnection.Open()     at Microsoft.ReportingServices.DataExtensions.AdoMdConnectionBase.InternalOpen()
        at Microsoft.ReportingServices.Diagnostics.DataExtensionConnectionBase.OpenConnection(IProcessingDataSource dataSourceObj, DataSourceInfo dataSourceInfo, IDbConnection conn)     --- End of inner exception stack trace ---;

    So , have you actually came to a conclusion about the problem. I have a similar one in my environment.
    <detail><ErrorCode xmlns="http://www.microsoft.com/sql/reportingservices">rsCannotRetrieveModel</ErrorCode><HttpStatus
    xmlns="http://www.microsoft.com/sql/reportingservices">400</HttpStatus><Message xmlns="http://www.microsoft.com/sql/reportingservices">Erro
    ao carregar o modelo para o item ou a fonte de dados 'http://gasmignethml/BICenter/Galeria%20PowerPivot/BIGASMIG.bism'. Verifique se as informações de conexão estão corretas e se você tem permissões para acessar a fonte de dados.</Message><HelpLink
    xmlns="http://www.microsoft.com/sql/reportingservices">http://go.microsoft.com/fwlink/?LinkId=20476&amp;EvtSrc=Microsoft.ReportingServices.Diagnostics.Utilities.ErrorStrings&amp;EvtID=rsCannotRetrieveModel&amp;ProdName=Microsoft%20SQL%20Server%20Reporting%20Services&amp;ProdVer=11.0.5058.0</HelpLink><ProductName
    xmlns="http://www.microsoft.com/sql/reportingservices">Microsoft SQL Server Reporting Services</ProductName><ProductVersion xmlns="http://www.microsoft.com/sql/reportingservices">11.0.5058.0</ProductVersion><ProductLocaleId
    xmlns="http://www.microsoft.com/sql/reportingservices">127</ProductLocaleId><OperatingSystem xmlns="http://www.microsoft.com/sql/reportingservices">OsIndependent</OperatingSystem><CountryLocaleId
    xmlns="http://www.microsoft.com/sql/reportingservices">1033</CountryLocaleId><MoreInformation xmlns="http://www.microsoft.com/sql/reportingservices"><Source>ReportingServicesLibrary</Source><Message
    msrs:ErrorCode="rsCannotRetrieveModel" msrs:HelpLink="http://go.microsoft.com/fwlink/?LinkId=20476&amp;EvtSrc=Microsoft.ReportingServices.Diagnostics.Utilities.ErrorStrings&amp;EvtID=rsCannotRetrieveModel&amp;ProdName=Microsoft%20SQL%20Server%20Reporting%20Services&amp;ProdVer=11.0.5058.0"
    xmlns:msrs="http://www.microsoft.com/sql/reportingservices">Erro ao carregar o modelo para o item ou a fonte de dados 'http://gasmignethml/BICenter/Galeria%20PowerPivot/BIGASMIG.bism'.
    Verifique se as informações de conexão estão corretas e se você tem permissões para acessar a fonte de dados.</Message><MoreInformation><Source>Microsoft.ReportingServices.ProcessingCore</Source><Message msrs:ErrorCode="rsErrorOpeningConnection"
    msrs:HelpLink="http://go.microsoft.com/fwlink/?LinkId=20476&amp;EvtSrc=Microsoft.ReportingServices.Diagnostics.Utilities.ErrorStrings&amp;EvtID=rsErrorOpeningConnection&amp;ProdName=Microsoft%20SQL%20Server%20Reporting%20Services&amp;ProdVer=11.0.5058.0"
    xmlns:msrs="http://www.microsoft.com/sql/reportingservices">Não é possível criar uma conexão com a fonte de dados 'TemporaryDataSource'.</Message><MoreInformation><Source>Microsoft.AnalysisServices.AdomdClient</Source><Message>A
    connection cannot be made to redirector. Ensure that 'SQL Browser' service is running.</Message><MoreInformation><Source>System</Source><Message>The
    requested name is valid, but no data of the requested type was found</Message></MoreInformation></MoreInformation></MoreInformation></MoreInformation><Warnings xmlns="http://www.microsoft.com/sql/reportingservices"
    /></detail>
    Any help will be very welcome.
    Thanks in advance
    abcoura | osmanos.org

  • How create animated power view reports using sharepoint list as a data source in sharepoint 2010?

    Hi All,
    I got a client requirement to create reports using SharePoint List as data source. The report should show reflection depends on values changed (I mean animation).
    I have heard about the power view/power pivot which does this kind of animations in reports.
    Can someone please guide me on creating reports which shows animations
    In power view/power pivot using SharePoint List as data source in SharePoint 2010.
    Thanks in advance.
    MercuryMan

    Hi MercuryMan,
    Yes, Power View, a feature of SQL Server 2012 Reporting Services Add-in for Microsoft SharePoint Server 2010 or SharePoint 2013 Enterprise Edition, is an interactive data exploration, visualization, and presentation experience.
    It provides multiple views featuring tiles, slicers, a chart filter, and a number of visualizations, including cards, small multiples, and a bubble chart. So, we can use Power View to do intuitive ad-hoc reporting for business users such as data analysts, business
    decision makers, and information workers.
    Currently, Power View report only supports two types of data models: PowerPivot Worksheet, and data models based on Analysis Services Tabular Model or Multidimensional Cube.
    In your scenario, you can create PowerPivot worksheets using SharePoint List as data source, deploy the PowerPivot worksheet to a SharePoint Library or PowerPivot Gallery, and then generate Power View reports based on the PowerPivot worksheets on the SharePoint
    site.
    To use SharePoint List as data source in Excel PowerPivot, you can refer to the following resource:
    http://blogs.technet.com/b/excel_services__powerpivot_for_sharepoint_support_blog/archive/2013/07/11/excel-services-using-a-sharepoint-list-as-a-data-source.aspx 
    http://technet.microsoft.com/en-us/library/hh230322.aspx 
    To create a Power View report based on PowerPivot model, you can refer to the following links:
    http://technet.microsoft.com/en-us/library/hh231522.aspx 
    http://technet.microsoft.com/en-us/library/hh759325.aspx 
    Regards,
    Mike Yin
    If you have any feedback on our support, please click
    here
    Mike Yin
    TechNet Community Support

  • Zoom bar error in OBIEE11g(version:11.1.1.5.0) in Graph view reports.

    HI,
    we are getting the following error message while trying to perform Zoom in or out option in the graph view reports in IE8 browser .
    Error message:An error occured while processing your request.Please contact your site administrator.
    Note:Its working fine in Mozilla Firefox browser,But my client using IE8 browser, Hence the issue .
    Please help me on this ASAP..
    Thanks & Best regards,
    Purna

    I have exported ODBC path manually.
    export ODBCINI=$ORACLE_INSTANCE/bifoundation/OracleBIApplication/$ORACLE_BI_APPLICATION/setup/odbc.iniAnd then executed the nqcmd command. Now I am getting the different error.
               Oracle BI ODBC Client
               Copyright (c) 1997-2011 Oracle Corporation, All rights reserved
    Initialize client environment failed, possibly caused by incomplete installation
    [nQSError: 47001] Invalid Oracle BI Bin directory:
    /oracle/home/bifoundation/server/bin.
    Initialize client environment failed, possibly caused by incomplete installation
    [nQSError: 47001] Invalid Oracle BI Bin directory:
    /oracle/home/bifoundation/server/bin.
    [0][State: IM004] [DataDirect][ODBC lib] Driver's SQLAllocHandle on SQL_HANDLE_ENV failed Connect open failed

  • Unable to generate Power View report out of Multidimensional report data source

    Hi,
    I have created 'Report Data Source' connection to point to Multidimensional cube on Share Point site. But when I try to create a new Power View report out of it, I get following error message : 
    "An error occured while loading the model for the item or data source 'http://*********/PowerPivot Gallery/TestCube.rsds'. Verify that the connection information is correct and that you have permission to access the data source."
    I can see following message in the <moreInformation> section :
    <Source>Microsoft SQL Server 2012 Analysis Services</Source><Message>Errors in the metadata manager. The current model can only be expressed when the client is requesting tabular view metadata with VERSION restriction of 2.0 or later.</Message>
    Following are the System configurations :
    1) SSAS : SQL Server 2012 + SP2 (version 11.0.5058)
    2) Share Point 2013
    As mentioned in one of the MSDN documents this configuration supports creation of Power View reports on multidimensional cube.
    Can any one suggest what might be the issue?
    Thanks in advance!

    Hi Dipti,
    According to your description, you get the connection failure when creating a power view report, and it throws information "Errors in the metadata manager. The current model can only be expressed when the client is requesting tabular view metadata with
    VERSION restriction of 2.0 or later." Right?
    Based on the error message, the issue should be the SSRS on sharepoint metadata version mismatch when sending to SSAS. There's someone mentioned in a similar thread that this issue can be solved by installing the full package of CU4 for SP1.
    https://social.msdn.microsoft.com/Forums/sqlserver/en-US/133558cd-ffc8-4608-ae45-fdff01770c6d/powerview-sql-2012-sp1-cu4-cannot-connect-to-dimensional-metadata-version-11?forum=sqlreportingservices
    Even you already have SP2 installed, it supposed included CU1~CU9 for SP1. However, it has reported that SP2 doesn't fix all bugs which supposed to be fixed in CU for SP1.
    SQL Server 2012 Service Pack 2 is available - but there's a catch!
    So please re-install the full CU4 for SP1, restart the services and try again.
    Best Regards,
    Simon Hou
    TechNet Community Support

Maybe you are looking for