RunCat



  1. Runcat Obiee 12c
  2. Runcati
  3. Runcati Size Table
[ Previous |Next |Contents |Glossary |Home |Search ]AIX Version 4.3 Commands Reference, Volume 4

runcat Command

  • RunCat is a small-packed tool written in C#, a low-level programming language that is suitable for programs which should integrate very well in your Window OS. The tool is free, open-source,.
  • RunCat – Mac メニューバーでCPU利用率を表示できるApp Storeでhttps.

Using the runcat Command Line Interface to Manage Security-Related Tasks in the Oracle BI Presentation Catalog You can invoke the command line utility on supported platforms for Oracle Business Intelligence such as Windows, Linux, IBM-AIX, Sun Solaris, and HP-UX.

Purpose

Pipes output data from the mkcatdefs command to the gencat command. Ahnlab que es.

runcatCatalogNameSourceFile [ CatalogFile ]

Description

The runcat command invokes the mkcatdefs command and pipes the message catalog source data (the output from mkcatdefs) to the gencat program.

The file specified by the SourceFile parameter contains the message text with your symbolic identifiers. The mkcatdefs program uses the CatalogName parameter to generate the name of the symbolic definition file by adding _msg.h to the end of the CatalogName value, and to generate the symbolic name for the catalog file by adding MF_ to the beginning of the CatalogName value. The definition file must be included in your application program. The symbolic name for the catalog file can be used in the library functions (such as the catopen subroutine).

The CatalogFile parameter is the name of the catalog file created by the gencat command. If you do not specify this parameter, the gencat command names the catalog file by adding .cat to the end of the CatalogName value. This file name can also be used in the catopen library function.

Example

To generate a catalog named test.cat from the message source file test.msg, enter:

File

/usr/bin/runcat Contains the runcat command.

Runcat Obiee 12c

Related Information

The dspcat command, dspmsg command, gencat command, mkcatdefs command.

The catclose subroutine, catgets subroutine, catopen subroutine.

Message Facility Overview for System Management in AIX Version 4.3 System Management Guide: Operating System and Devices.

[ Previous |Next |Contents |Glossary |Home |Search ]

I wrote a blog post a while ago describing the catalog validation: an automated process performing a consistency check of the catalog and reporting or deleting the inconsistent artifacts.
In the post I stated that catalog validation should be implemented regularly as part of the cleanup routines and provides precious additional information during the pre and post upgrade phases.

However some time later I noted Oracle's support Doc ID 2199938.1 stating that the startup procedure I detailed in the previous blog post is not supported in any OBI release since 12.2.1.1.0. You can imagine my reaction..

The question then became: How do we run the catalog validation since the known procedure is unsupported? The answer is in catalog manager and the related command line call runcat.sh which, in the server installations (like the SampleApp v607p), can be found under $DOMAIN_HOME/bitools/bin.

As for most of command line tools, when you don't have a clue on how it works, the best approach is to run with the -help option which provides the list of parameters to pass.

Unfortunately none of the options in the list seems to be relevant for catalog validation, but with a close look at the recently updated Doc ID 2199938.1 I could find the parameter to pass: validate.
The full command then looks like

In my previous blog I mentioned different types of validation. What type of validation is the default command going to implement? How can I change the behaviour? Again the -help option provides the list of instructions.

Few bits to notice:

  • -offline: the catalog validation needs to happen offline. Either with services down or on a copy of the live catalog. Running catalog validation on a online catalog is dangerous especially with 'Clean' options since could delete content in use.
  • -folder: the catalog validation can be run only for a subset of the catalog
  • None | Report | Clean: each validation can be skipped (None), logged (Report) or solved via removal of the inconsistent object (Clean)
  • Also, '-accounts' cannot be 'None'.: some validations are a prerequisite for others to happen
  • Default is 'Clean': some validations have a 'Clean' as default value, meaning that will solve the issue by removing the inconsistent object, this may be inappropriate in some cases.

As written before, the initial catalog validation should be done with all options set on Report since this will give a log file of all inconsistencies without deleting pieces of the catalog that could still be valuable. In order to do so the command to execute is:

runcat.sh output is displayed direcly in the console, I'm redirecting it to a file called cat_validation.log for further analysis. Is google chrome better than safari on ipad.

If, after the initial run with all options to Report you want the catalog validation utility to 'fix' the inconsistent objects, just change the desired options to Clean. Please make sure to take a backup of the catalog before since the automatic fix is done by removing the related objects. Moreover ensure that catalog validation is working on a offline catalog. The command itself can work on top on a online catalog but is never a good idea checking a catalog that could potentially be changed while the tool is running.

Mac the cat

Let's see few examples of how Catalog Validation spots inconsistent objects. For the purpose of this test I'll work with Oracle's Sampleapp.

Abandoned and inaccessible homes

RunCatRuncat

Running the validation against the Sampleapp catalog provides some 'interesting' results: some homes are declared 'abandoned': this could be due to the related user not existing anymore in weblogic console, but that's not the case

Looking deeper in the logs we can see that the same user folders are flagged as

Logging in with the user weblogic doesn't allow me to check the 'My Folders' in the catalog. When switching to 'Admin View' and trying to open 'My Folder' I get the following error

As written in the logs looks like the user folder has permission problems. How can we solve this? One option is to use again the runcat.sh command with the forgetAccounts option to remove the inconsistent homes. However this solution deletes all the content related to the user that was stored under the 'My Folders'.

In order to keep the content we need to overwrite the folder's permission with an administrator account. Unfortunately, when right-clicking on the folder, the 'Permission' option is not available.

As a workaround I found that clicking on Properties and then on Set Ownership of this item and all subitems allows you to grant full access to the administrator which is then able to reset the proper user the relevant access privilege.

Once the workaround is implemented the users is able to check his 'My Folder' content, however the the errors are still present in catalog validation. The solution is storing the relevant artifacts in another part of the catalog, run runcat.sh with forgetAccounts option and then reimport the objects if needed.

Inconsistent Objects

Apowersoft screen recorder not working. The main two reasons generating inconsistent objects are:

  • Invalid XML: The object (analysis or dashboard) XML code is not valid. This can be caused by errors during the write to disk or problems during migrations.
  • Broken Links: analysis contained in a dashboard or linked from other analysis have been renamed or deleted.

Let's see how catalog validation shows the errors.

Invalid XML

To test this case I created a simple analysis with two columns and then went to the Advanced tab and deliberately removed an > to make the XML invalid.

When trying to applying the change I got the following error which denied me the possibility to save.

Since I really wanted to ruin my analysis I went directly to the file system under $BI_HOME/bidata/service_instances/ssi/metadata/content/catalog/root/shared/$REQUEST_PATH and changed the XML directly there.

After than I run the catalog validation with only the flag items equal to Report and the rest set to None since I'm looking only at invalid XMLs.
The result as expected is:

Which tells me that my analysis notworkinganalysis is invalid with an unterminated start tag, exactly the error I was expecting. Now I have two choices: either fixing the analysis XML manually or rerunning the catalog validation with option Clean which will delete the analysis since it's invalid. As said before there is no automated fix.

I wanted to do a further example on this, instead of removing the >, i removed a quotation mark ' to make the analysis invalid

After clicking to Apply OBIEE already tells me that there is something wrong in the analysis. But since it allows me to save and since I feel masochist I saved the analysis.

But.. when running the catalog validation as before I end up seeing 0 errors related to my notworkinganalysis.

The answer to Jackie Chan question is that I got 0 errors since in this second case the XML is still valid. Removing a ' doesn't make the XML syntax invalid! In order to find and solve that error we would need to use Oracle's Baseline Validation Tool.

Broken Links

To test the broken links case I created the following scenario:

  • Analysis SourceAnalysis which has navigation action to TargetAnalysis
  • Dashboard TestDashboard which contains the TargetAnalysis object.

In order to break things I then deleted the TargetAnalysis.

Running catalog validation with the option links to Report. As expected I get a line

But I don't get anything on the SourceRequest object, for which navigation is failing.

But if instead of an action link I use TargetAnalysis to filter the results of SourceAnalysis

Runcati

And then delete TargetAnalysis, I get the expected error:

Summarizing the broken link validation reports if missing objects are included in the main definition of other objects (as filters or as parts of dashboards) but doesn't seem to report if the missing object is only linked via an action.

Runcati Size Table

My experiments show that catalog validation finds some errors like invalid homes, XML files and broken links which otherwise users would hit at the run-time and that won't make them happy. But there are still some errors which it doesn't log like analysis with wrong column syntax, luckily for most of the cases other tools like the Baseline Validation can spot them easily so use all you have, use as frequently as possible and if you want more details about how it works and how it can be included in the automatic checks for code promotions don't hesitate to contact us!