mardi 9 mars 2010

Oracle BAM 11g - icommand

La fonction d'import / export du BAM version 11g change :

D:\productORACLE\v11.2\Oracle_SOA1\bam\bin>iCommand -CMD export -NAME "/test/Conso" -TYPE DATAOBJECT -FILE MonDataObject.xml


D:\productORACLE\v11.2\Oracle_SOA1\bam\bin>iCommand -CMD export -NAME "/public/Report/BAM" -TYPE REPORT -FILE CAReport.xml

Le détail de la command et de ses options:
D:\productORACLE\v11.2\Oracle_SOA1\bam\bin>icommand


Oracle BAM - Utilitaire de commande [Build 7562, RÚfÚrentiel BAM version 2025] C
opyright ® 2002, 2009, Oracle et/ou ses filiales. Tous droits rÚservÚs.

ICOMMAND
-CMDFILE file_name
[-DOMAIN domain_name]
[-USERNAME user_name]
[-LOGFILE file_name]
[-LOGMODE APPEND OVERWRITE]

Or:

ICOMMAND
-CMD command_name
[command parameters]
[-DOMAIN domain_name]
[-USERNAME user_name]
[-LOGFILE file_name]
[-LOGMODE APPEND OVERWRITE]

If DOMAIN is omitted, "main" will be used.
If "main" is used, ADC location in the config file will be used.
The -USERNAME specifies the BAM login user to be used.
If -USERNAME is used then ICOMMAND will prompt for a password.
If LOGMODE is omitted, OVERWRITE will be used.
Command and parameter names are not case-sensitive.
Parameter values that contain spaces should be enclosed in quotes.

Commands and their parameters:

EXPORT
-FILE file_name
[-NAME item_name]
[-TYPE DATAOBJECT SECURITYFILTERS FOLDER REPORT RULE DISTRIBUTIONLIST EMS EDS ALL]
[-MATCH dos_pattern]
[-REGEX regular_expression]
[-ALL [0 1]]
[-SYSTEMOBJECTS [0 1]]
[-DEPENDENCIES [0 1]]
[-LAYOUT [0 1]]
[-CONTENTS [0 1]]
[-PERMISSIONS [0 1]]
[-OWNER [0 1]]
[-HEADER [0 1]]
[-FOOTER [0 1]]
[-APPEND [0 1]]
[-PREVIEW [0 1]]

IMPORT
-FILE file_name
[-DELAY milliseconds]
[-UPDATELAYOUT [0 1]]
[-MODE PRESERVEID UPDATE OVERWRITE APPEND RENAME ERROR]
[-PRESERVEOWNER]
[-SETCOL[n] column_name/NULL NOW VALUE:value]
[-CONTINUEONERROR [0 1]]
[-PREVIEW [0 1]]

DELETE
[-NAME item_name]
[-TYPE DATAOBJECT SECURITYFILTERS FOLDER REPORT RULE DISTRIBUTIONLIST EMS EDS
ALL]
[-MATCH dos_pattern]
[-REGEX regular_expression]
[-ALL [0 1]]
[-SYSTEMOBJECTS [0 1]]

RENAME
-NAME item_name
-NEWNAME new_item_name
[-TYPE DATAOBJECT FOLDER REPORT RULE DISTRIBUTIONLIST EMS EDS]

CLEAR
-NAME item_name
[-TYPE DATAOBJECT FOLDER DISTRIBUTIONLIST]

Sample Object names:
Data Object: "/Samples/Call Center"
Private Report: "/private:userid/Report/My folder/My report"
Public Report: "/public/Report/Some folder/Some report"
rule (Alert): "/private:userid/Rule/My alert"

Sample command file:
<?xml version="1.0" encoding="utf-8"?>
<OracleBAMCommands>
<Export name="/My folder/My data object" file="MyFile.xml" contents="0" />
<Delete name="/My folder/My data object" />
</OracleBAMCommands>

ICommand regular expressions:
The behavior of ICommand -regex is exactly like java.util.regex package for
matching character sequences against patterns specified by regular expressions.


2 commentaires:

Unknown a dit…

Hello Hugu,
Merci de tes éléments, Icommand est une commmande très pratique, lorsque celle-ci est exécutée sous le Compte d'installation de la SOA, ca se passe bien. Par contre, si on utilise un autre compte (compte d'exploitation) c'est un peu plus difficile :-( par exemple, j'ai des messages de ce type :
Oracle BAM Command Utility [Build 7562, BAM Repository Version 2025] Copyright  © 2002, 2009, Oracle and/or its affiliates. All rights reserved.
Enter Password:
Can't load log handler "java.util.logging.FileHandler"
java.io.IOException: Couldn't get lock for utility.log
java.io.IOException: Couldn't get lock for utility.log
at java.util.logging.FileHandler.openFiles(FileHandler.java:372)
at java.util.logging.FileHandler.(FileHandler.java:208)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstruct orAccessorImpl.java:39)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingC onstructorAccessorImpl.java:27)
at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
at java.lang.Class.newInstance0(Class.java:355)
at java.lang.Class.newInstance(Class.java:308)
at java.util.logging.LogManager$7.run(LogManager.java:895)
at java.security.AccessController.doPrivileged(Native Method)
at java.util.logging.LogManager.initializeGlobalHandlers(LogManager.java :887)
at java.util.logging.LogManager.access$900(LogManager.java:129)
at java.util.logging.LogManager$RootLogger.getHandlers(LogManager.java:9 94)
at java.util.logging.Logger.log(Logger.java:468)
at java.util.logging.Logger.doLog(Logger.java:494)
at java.util.logging.Logger.log(Logger.java:583)
at oracle.bam.middleware.icommandengine.Controller.go(Controller.java:22 6)
at oracle.bam.middleware.icommandengine.Controller.go(Controller.java:18 5)
at oracle.bam.icommand.ConsoleController.go(ConsoleController.java:158)
at oracle.bam.icommand.Application.main(Application.java:56)
BAM-01261: Cannot connect to the Oracle BAM Server.
[ErrorSource="ActiveDataCache", ErrorID="ADCServerConnectionError"]

As-tu une idée pour résoudre ce point ?
J'précise l'appel est effectué sur la 11gR1.
@ bientôt

Mon profil sous linkedin a dit…

Pop, il faudrait modifier le fichier suivant et spécifier le bon port du serveur BAM ainsi que son IP:

BAMICommandConfig.xml

et notamment la balise:

ADCServerName
ADCServerPort