+ All Categories
Home > Documents > Publish Performance Improvements Oraclepublic.dhe.ibm.com/software/dw/dm/cognos/... · Table-Only...

Publish Performance Improvements Oraclepublic.dhe.ibm.com/software/dw/dm/cognos/... · Table-Only...

Date post: 02-Oct-2020
Category:
Upload: others
View: 5 times
Download: 0 times
Share this document with a friend
13
Proven Practice Table-Only Publish Performance Improvements (Oracle) Product(s): IBM Cognos Planning Area of Interest: Performance
Transcript
Page 1: Publish Performance Improvements Oraclepublic.dhe.ibm.com/software/dw/dm/cognos/... · Table-Only Publish Performance Improvements (Oracle) 10 IBM Cognos Proprietary Information 3.3

Proven Practice

Table-Only Publish Performance Improvements (Oracle)

Product(s): IBM Cognos Planning

Area of Interest: Performance

Page 2: Publish Performance Improvements Oraclepublic.dhe.ibm.com/software/dw/dm/cognos/... · Table-Only Publish Performance Improvements (Oracle) 10 IBM Cognos Proprietary Information 3.3

Table-Only Publish Performance Improvements (Oracle) 2

IBM Cognos Proprietary Information

Copyright

Copyright © 2008 Cognos ULC (formerly Cognos Incorporated). Cognos ULC is an IBM Company. While every attempt has been made to ensure that the information in this document is accurate and complete, some typographical errors or technical inaccuracies may exist. Cognos does not accept responsibility for any kind of loss resulting from the use of information contained in this document. This document shows the publication date. The information contained in this document is subject to change without notice. Any improvements or changes to the information contained in this document will be documented in subsequent editions. This document contains proprietary information of Cognos. All rights are reserved. No part of this document may be copied, photocopied, reproduced, stored in a retrieval system, transmitted in any form or by any means, or translated into another language without the prior written consent of Cognos. Cognos and the Cognos logo are trademarks of Cognos ULC (formerly Cognos Incorporated) in the United States and/or other countries. IBM and the IBM logo are trademarks of International Business Machines Corporation in the United States, or other countries, or both. All other names are trademarks or registered trademarks of their respective companies. Information about Cognos products can be found at www.cognos.com

This document is maintained by the Best Practices, Product and Technology team. You can send comments, suggestions, and additions to [email protected].

Page 3: Publish Performance Improvements Oraclepublic.dhe.ibm.com/software/dw/dm/cognos/... · Table-Only Publish Performance Improvements (Oracle) 10 IBM Cognos Proprietary Information 3.3

Table-Only Publish Performance Improvements (Oracle) 3

IBM Cognos Proprietary Information

Contents

1 INTRODUCTION ............................................................................................ 4

1.1 PURPOSE ............................................................................................................4

1.2 APPLICABILITY .....................................................................................................4

2 WHAT WE WILL ACCOMPLISH...................................................................... 4

3 HOW DO WE DO IT?...................................................................................... 4

Page 4: Publish Performance Improvements Oraclepublic.dhe.ibm.com/software/dw/dm/cognos/... · Table-Only Publish Performance Improvements (Oracle) 10 IBM Cognos Proprietary Information 3.3

Table-Only Publish Performance Improvements (Oracle) 4

IBM Cognos Proprietary Information

1 Introduction

1.1 Purpose

This goal of this document is to teach techniques to improve the Publish times of Table-Only publishes in IBM Cognos Planning.

1.2 Applicability

This document is focused on Oracle 10gR2 and but can be applied to any supported platform from this vendor. It’s also possible to use these guidelines with earlier versions of IBM Cognos Planning that support Table-

Only Publishes.

2 What we will accomplish.

Large Planning models can take exceedingly long times to complete the publish process which hinders the ROI for hardware, and slows down the time to report. We will discuss changes to the publish table, and setting which can be applied in Contributor to increase the performance of the publish. Improvements can range from 20% to over 50% decreases in Publish times.

3 How do we do it?

When a Table-Only Publish is executed there are often delays, and locking contention errors that are incurred.

Currently the Table Only Publish doesn’t take advantage of the best bulk load options available, and Job servers are frequently under-utilized during publish.

In order to improve the performance of Table-only publishes we must ensure two separate tasks are met.

3.1 Drop the et_table Indexes

The first task involves dropping the Indexes on the et_tables that exist in the Table-Only Publish.

First it is recommended we build the syntax to ensure a successful recreation of the indexes is possible post Publish. Recreating the Indexes helps prepare the Publish Container for optimal reporting performance.

In order to gather the Syntax to recreate the Indexes we need to open Oracle Enterprise Manager, and navigate to the Administration Page. Within there open Indexes within the Database Objects heading.

Page 5: Publish Performance Improvements Oraclepublic.dhe.ibm.com/software/dw/dm/cognos/... · Table-Only Publish Performance Improvements (Oracle) 10 IBM Cognos Proprietary Information 3.3

Table-Only Publish Performance Improvements (Oracle) 5

IBM Cognos Proprietary Information

Next perform a search for all et_tables within the Publish Table Schema

Page 6: Publish Performance Improvements Oraclepublic.dhe.ibm.com/software/dw/dm/cognos/... · Table-Only Publish Performance Improvements (Oracle) 10 IBM Cognos Proprietary Information 3.3

Table-Only Publish Performance Improvements (Oracle) 6

IBM Cognos Proprietary Information

Now we need to open and read the Indexes that currently exist.

By clicking the Index name next to the table the syntax will appear.

Since we don’t need the entire DDL script we only copy what is necessary. Paste the copied syntax into notepad to save for later. Be prepared to complete this task for every Table within the Index.

This step may need to be recreated if the Publish changes such as adding, renaming or deleting cubes as the DDL script is specific to the cube name.

Once you have copied the DDL script for all cubes there is a setting that can

be added to the end of each script to increase the recreation time. In the below example you see PARALLEL (DEGREE 6) which is added to the end of each Index creation script. This will allow multiple Indexes to be loaded at

once rather than one at a time. Also ensure you enter the commit at the end of your script. Finally save your text file with an extension of .sql

Page 7: Publish Performance Improvements Oraclepublic.dhe.ibm.com/software/dw/dm/cognos/... · Table-Only Publish Performance Improvements (Oracle) 10 IBM Cognos Proprietary Information 3.3

Table-Only Publish Performance Improvements (Oracle) 7

IBM Cognos Proprietary Information

Now that we have created a *.sql file that allows an easy recreation of the Indexes we need to create a script to drop the indexes before we execute our Publish.

To drop the Indexes we will use the Schema name from our Publish container and Index name given by Oracle. Again save this as a .sql file using notepad.

Now we must execute the drop index script before running our Publish. From the command line sign into SQLPLUS and execute the drop index script.

Page 8: Publish Performance Improvements Oraclepublic.dhe.ibm.com/software/dw/dm/cognos/... · Table-Only Publish Performance Improvements (Oracle) 10 IBM Cognos Proprietary Information 3.3

Table-Only Publish Performance Improvements (Oracle) 8

IBM Cognos Proprietary Information

Once the Index is dropped we can now execute the Table-Only Publish. During the publish monitor the Average Duration time. Testing in multiple models has shown dramatic improvements. Improvements from 25-90% have been witnessed. Results of 90% are not typical, and model complexity

and the size of the text files being bulk loaded can affect over all improvements. In the example below you see a 26.3% improvement using the same model, and same job servers.

Pre-tuning average execution:

Post-tuning average execution:

Page 9: Publish Performance Improvements Oraclepublic.dhe.ibm.com/software/dw/dm/cognos/... · Table-Only Publish Performance Improvements (Oracle) 10 IBM Cognos Proprietary Information 3.3

Table-Only Publish Performance Improvements (Oracle) 9

IBM Cognos Proprietary Information

3.2 Apply Oracle command line options in the Contributor Console

The second task is to insert the command line options Direct=True, Parallel=True within Contributor Admin Options, and save your settings. By

using this Oracle Command line option it helps avoid many of the locking contention errors into the et_tables because it directly loads, and allows multiple loads in parallel.

� DIRECT=TRUE

• Load entire file in one step, no commits occur until the load is complete.

� PARALLEL=TRUE

• Load many files at once without waits

• Index must be dropped to use parallel=true

� Both

• Insert directly to datafiles, allow for multiple session to do this at the same time

• No need to deal with bindsize parameter using these options

� Applies to all Oracle versions

Page 10: Publish Performance Improvements Oraclepublic.dhe.ibm.com/software/dw/dm/cognos/... · Table-Only Publish Performance Improvements (Oracle) 10 IBM Cognos Proprietary Information 3.3

Table-Only Publish Performance Improvements (Oracle) 10

IBM Cognos Proprietary Information

3.3 Enhance for Reporting (rebuild the et_table Indexes)

In order to recreate the Indexes we must now execute the script we created earlier. This can be executed in the same manner as the drop index script.

Once the Index has been recreated the Table-Only publish container is now ready to be consumed for reporting.

3.4 Automate:

In order to automate the entire process (dropping the indexes, publishing the data, and recreating the indexes) utilizing the Execute Command Line macro from the Contributor Macros selection is necessary.

To do this create batch file with the syntax similar to below where the uid/pwd equal the signon to the oracle instance, @orcl is the Oracle Service, and the @”c:\drop_index.sql” is the path to the drop_index.sql script.

sqlplus uid/pwd@orcl @"c:\drop_index.sql"

Also create another batch file with a very similar syntax except the path to the SQL script will now point to the create index script from earlier.

sqlplus uid/pwd@orcl @"c:\create_index.sql"

Next within in Contributor we will create a new Macro

Page 11: Publish Performance Improvements Oraclepublic.dhe.ibm.com/software/dw/dm/cognos/... · Table-Only Publish Performance Improvements (Oracle) 10 IBM Cognos Proprietary Information 3.3

Table-Only Publish Performance Improvements (Oracle) 11

IBM Cognos Proprietary Information

Select Execute a Command Line as the first element.

Enter the path to the drop_index.bat file, and provide a Success Return Code.

Page 12: Publish Performance Improvements Oraclepublic.dhe.ibm.com/software/dw/dm/cognos/... · Table-Only Publish Performance Improvements (Oracle) 10 IBM Cognos Proprietary Information 3.3

Table-Only Publish Performance Improvements (Oracle) 12

IBM Cognos Proprietary Information

Next create a 2nd element that executes the Table-Only Publish, and finally a 3rd element that again called the Execute Command Line macro option and executes the create_index.bat file. You should now see a macro with the

three elements required.

This macro can be executed directly from the Contributor admin console, scheduled in IBM Cognos Connection or Windows scheduler.

Appendix:

Many of these options should be discussed with the DBA, and ensure that the changes will not affect production logging, or performance.

1. Publish containers, if possible, should be contained on separate Database server to the Production applications. This allows read/writes which may be very high during publishes to not be hindered, or affect the application

database.

2. It is beneficial to have the data files and the redo log files stored on different disks. This allow writes to the disk to happen more quickly as both disks are able to execute the writes simultaneously versus having the write for the database and log on the same disk.

3. Redo logging for the schema containing the publish containers should be turned off. Keep in mind that if the forced logging flag is set to Y at the database level, than regardless of what the tablespace logging is set to,

redo logs will continue to be generated. There is no need to generate redo logs for a published container due to the fact that Publish containers are simply re-populated during the next full publish.

Page 13: Publish Performance Improvements Oraclepublic.dhe.ibm.com/software/dw/dm/cognos/... · Table-Only Publish Performance Improvements (Oracle) 10 IBM Cognos Proprietary Information 3.3

Table-Only Publish Performance Improvements (Oracle) 13

IBM Cognos Proprietary Information


Recommended