Showing posts with label Admin. Show all posts
Showing posts with label Admin. Show all posts

Sunday, December 10, 2023

Extracting Private key and certificate from .PEM file using OpenSSL


OpenSSL, a popular open-source tool for working with cryptographic operations, can be used to extract the.pem and.key files from a.pfx (or.p12) file. 
The steps are as follows:


Extraction of.pem and.key from.pfx File:

Install OpenSSL as follows:

Check that your system has OpenSSL installed. You can get it from the OpenSSL website or install it with a package manager such as Homebrew on macOS or apt-get on Linux.



Conversion Method:

OpenSSL is used to extract the private key and certificate from the.pfx file.

Code:-
openssl pkcs12 -in yourfile.pfx -nocerts -out privatekey.key

Change yourfile.pfx to the name of privatekey.key file. The private key will be extracted and saved to privatekey.key using this command.


Code:-
openssl pkcs12 -in yourfile.pfx -clcerts -nokeys -out certificate.pem

This command will extract the certificate and save it to certificate.pem.


K@run@

Saturday, September 9, 2023

Migration of Traditional Reports to Power BI - Quick Guide

Moving reports from traditional analytical tools to Power BI represents a significant stride in harnessing advanced visualization and data analysis capabilities. Below is an initial guide to assist you in the process.

Evaluation and Strategy:
  1. Ascertain which reports to transfer, prioritizing them based on their business significance and complexity.
  2. Gain insight into the data sources utilized in current reports. Determine if they are compatible with Power BI or proceed with prerequisites and pre-processing to achieve the state.
  3. Clearly outline the migration's scope and objectives. Consider whether you're merely relocating reports or if there are opportunities to enhance them using Power BI's functionalities.
Data Readiness:
  1. Ensure that your data sources possess appropriate structure and have been thoroughly cleansed. Power BI performs optimally with well-organized, clean data.
  2. If your data resides in a database, confirm that you possess the requisite credentials and permissions to access it via Power BI.
Power BI Desktop:
  1. Download and install Power BI Desktop if you haven't already. This is the tool you'll employ to design and craft your reports.
  2. Launch Power BI Desktop and acquaint yourself with its interface and capabilities.
Establishing Data Connections:
  1. Within Power BI Desktop, navigate to the "Home" tab and select "Get Data." Choose the relevant data source (e.g., Excel, SQL Server).
  2. Connect to your data source by supplying the necessary connection particulars.
  3. Opt for data import or establish a direct connection, depending on your data source and specific requirements.
Data Transformation:
  1. Utilize Power Query Editor (accessible from the "Home" tab) to modify and structure your data as required.
  2. Undertake data cleansing, establish calculated columns, and implement any necessary transformations.
Report Development:
  1. Construct your reports by dragging and dropping visuals onto the canvas.
  2. Customize the visuals using the formatting choices found in the "Format" and "Visualizations" panels.
  3. Establish relationships between tables if your data necessitates such connections.
DAX Formulas:
  1. Familiarize yourself with Data Analysis Expressions (DAX), Power BI's formula language used for crafting custom calculations.
  2. Compose DAX calculations to derive insights that may not be readily accessible within your data source.
Report Design:
  1. Concentrate on creating reports that are visually captivating and easily comprehensible.
  2. Exploit Power BI's array of visualization options to effectively convey insights.
Interactive Elements:
  1. Leverage Power BI's interactive capabilities, including drill-through functionality, slicers, and bookmarks, to augment user engagement.
Publication:
  1. After finalizing your report, save it as a Power BI Desktop (.pbix) file.
  2. Log in to your Power BI account (or sign up for a free account if you don't have one).
  3. Select the "Publish" button to upload your report to the Power BI service.
Sharing and Collaboration:
  1. Configure suitable permissions to govern report access. Use AD groups to provide access to the workspaces and any published App for the business.
  2. Disseminate the report to colleagues and stakeholders via direct links, embedded reports, or dashboards. 
Maintenance and Oversight:
  1. Make sure the scheduled refreshes are working fine and the data quality checks are in place.
  2. Monitor report usage and gather feedback to facilitate continuous enhancement.

Note:- 
Bear in mind that transitioning reports to Power BI might entail a learning curve, especially for newcomers to the platform. Exercise patience and make the most of the abundant online resources, encompassing tutorials, forums, and documentation, to aid in your journey.

Learning:
For starting the Power BI journey as a Novice , refer to my previous post on training/learning library

Friday, November 29, 2019

Unable to open session logs from Load plan executed in ODI 11g

 Hello there,

I have faced this strange issue which is related to ODI 11g navigation and would like to discuss about the fix that we used in our Linux environment.

We have been using ODI 11g since 5 years and as the days pass by the no of jobs and no of loadplans got increased dramatically and hence the session logs sequence number is very high.

Basically the difficulty here will be from the operations team where they have to filter the logs and check the errors (Time consuming task) rather than directly opening the errored session log from the load plan.

Issue and cause:- ODI 11g has a bug where if the sequence generator of the session logs reach to certain threshold then the link between session logs and executed loadploan will break and you wont be able to open the session logs from the load plans.

Fix:- The sequence generators of various elements will be stored in SNP_ID table of the work repository so we need to rest the SNP_SESSION element in the table.

1) Take backup of your work repository.
2) Shut down all ODI services and Agents (Standalone if any).
3) Make sure there are no running sessions in the repository.
4) Purge all logs from the work repository with scenario reports. make sure there are no abandoned sessions left.
5) Connect to work repository and execute the below queries just to make sure all session logs are purged.

##########################################################################


update snp_id set id_next = 1 where id_tbl = 'SNP_SESSION';


/* >>> Delete all the Session-related records, using a combination of DELETE and TRUNCATE SQL commands. <<< */

/* Naming conventions used in this script:
 *
 *   PRD_BIA_ODIREPO is the name of the Work Repository Schema.
 *
 * Replace in this document all the occurrences of PRD_BIA_ODIREPO with the name of schema containing the Work Repository tables.
 */

 /*
 * 0. First switch off the AutoCommit mode
 */
    set autocommit off ;

/*
 * 1. Delete Session parameters and messages
 */

    delete from PRD_BIA_ODIREPO.SNP_EXP_TXT where I_TXT in
    (select I_TXT_TASK_MESS from PRD_BIA_ODIREPO.SNP_SESS_TASK_LOG) ;

    delete from PRD_BIA_ODIREPO.SNP_EXP_TXT where I_TXT in
    (select I_TXT_STEP_MESS from PRD_BIA_ODIREPO.SNP_STEP_LOG) ;

    delete from PRD_BIA_ODIREPO.SNP_EXP_TXT where I_TXT in
    (select I_TXT_VAR from PRD_BIA_ODIREPO.SNP_VAR_SESS) ;

    delete from PRD_BIA_ODIREPO.SNP_EXP_TXT where I_TXT in
    (select I_TXT_DEF_T from PRD_BIA_ODIREPO.SNP_VAR_SESS) ;

    delete from PRD_BIA_ODIREPO.SNP_EXP_TXT where I_TXT in
    (select I_TXT_SESS_PARAMS from PRD_BIA_ODIREPO.SNP_SESSION) ;

    delete from PRD_BIA_ODIREPO.SNP_EXP_TXT where I_TXT in
    (select I_TXT_SESS_MESS from PRD_BIA_ODIREPO.SNP_SESSION) ;
     
/*
 * 2. Delete Session Header parameters and messages
 */
    delete from PRD_BIA_ODIREPO.SNP_EXP_TXT_HEADER where I_TXT in
    (select I_TXT_TASK_MESS from PRD_BIA_ODIREPO.SNP_SESS_TASK_LOG) ;

    delete from PRD_BIA_ODIREPO.SNP_EXP_TXT_HEADER where I_TXT in
    (select I_TXT_STEP_MESS from PRD_BIA_ODIREPO.SNP_STEP_LOG) ;

    delete from PRD_BIA_ODIREPO.SNP_EXP_TXT_HEADER where I_TXT in
    (select I_TXT_VAR from PRD_BIA_ODIREPO.SNP_VAR_SESS) ;

    delete from PRD_BIA_ODIREPO.SNP_EXP_TXT_HEADER where I_TXT in
    (select I_TXT_DEF_T from PRD_BIA_ODIREPO.SNP_VAR_SESS) ;

    delete from PRD_BIA_ODIREPO.SNP_EXP_TXT_HEADER where I_TXT in
    (select I_TXT_SESS_PARAMS from PRD_BIA_ODIREPO.SNP_SESSION) ;

    delete from PRD_BIA_ODIREPO.SNP_EXP_TXT_HEADER where I_TXT in
    (select I_TXT_SESS_MESS from PRD_BIA_ODIREPO.SNP_SESSION) ;
     
/*
 * 3. Delete Session execution reports
 */

    /* (a). Deactivate the constraints */
    alter table PRD_BIA_ODIREPO.SNP_SESS_TXT_LOG disable constraint FK_SESS_TXT_LOG ;
    alter table PRD_BIA_ODIREPO.SNP_SESS_TASK_LS disable constraint FK_SESS_TASK_LS ;
    alter table PRD_BIA_ODIREPO.SNP_SESS_TASK_LS disable constraint FK_SESS_LS_SEQ ;
    alter table PRD_BIA_ODIREPO.SNP_SESS_TASK_LOG disable constraint FK_SESS_TASK_LOG ;
    alter table PRD_BIA_ODIREPO.SNP_SESS_STEP_LV disable constraint FK_SESS_STEP_LV ;
    alter table PRD_BIA_ODIREPO.SNP_SESS_STEP_LV disable constraint FK_SESS_LV_VAR ;
    alter table PRD_BIA_ODIREPO.SNP_STEP_LOG disable constraint FK_STEP_LOG ;
    alter table PRD_BIA_ODIREPO.SNP_TASK_TXT disable constraint FK_TASK_TXT ;
    alter table PRD_BIA_ODIREPO.SNP_SESS_TASK disable constraint FK_SESS_TASK ;
    alter table PRD_BIA_ODIREPO.SNP_SESS_STEP disable constraint FK_SESS_STEP ;
    alter table PRD_BIA_ODIREPO.SNP_SEQ_SESS disable constraint FK_SEQ_SESS ;
    alter table PRD_BIA_ODIREPO.SNP_VAR_SESS disable constraint FK_VAR_SESS ;
    alter table PRD_BIA_ODIREPO.SNP_PARAM_SESS disable constraint FK_PARAM_SESS ;

    /* (b). Delete */
    truncate table PRD_BIA_ODIREPO.SNP_SESS_TXT_LOG ;
    truncate table PRD_BIA_ODIREPO.SNP_SESS_TASK_LS ;
    truncate table PRD_BIA_ODIREPO.SNP_SESS_TASK_LOG ;
    truncate table PRD_BIA_ODIREPO.SNP_SESS_STEP_LV ;
    truncate table PRD_BIA_ODIREPO.SNP_STEP_LOG ;
    truncate table PRD_BIA_ODIREPO.SNP_TASK_TXT ;
    truncate table PRD_BIA_ODIREPO.SNP_SESS_TASK ;
    truncate table PRD_BIA_ODIREPO.SNP_SESS_STEP ;
    truncate table PRD_BIA_ODIREPO.SNP_SEQ_SESS ;
    truncate table PRD_BIA_ODIREPO.SNP_VAR_SESS ;
    truncate table PRD_BIA_ODIREPO.SNP_PARAM_SESS ;   
    truncate table PRD_BIA_ODIREPO.SNP_SESSION ;
   
    /* (c). Reactivate the constraints */
    alter table PRD_BIA_ODIREPO.SNP_SESS_TXT_LOG enable constraint FK_SESS_TXT_LOG ;
    alter table PRD_BIA_ODIREPO.SNP_SESS_TASK_LS enable constraint FK_SESS_TASK_LS ;
    alter table PRD_BIA_ODIREPO.SNP_SESS_TASK_LS enable constraint FK_SESS_LS_SEQ ;
    alter table PRD_BIA_ODIREPO.SNP_SESS_TASK_LOG enable constraint FK_SESS_TASK_LOG ;
    alter table PRD_BIA_ODIREPO.SNP_SESS_STEP_LV enable constraint FK_SESS_STEP_LV ;
    alter table PRD_BIA_ODIREPO.SNP_SESS_STEP_LV enable constraint FK_SESS_LV_VAR ;
    alter table PRD_BIA_ODIREPO.SNP_STEP_LOG enable constraint FK_STEP_LOG ;
    alter table PRD_BIA_ODIREPO.SNP_TASK_TXT enable constraint FK_TASK_TXT ;
    alter table PRD_BIA_ODIREPO.SNP_SESS_TASK enable constraint FK_SESS_TASK ;
    alter table PRD_BIA_ODIREPO.SNP_SESS_STEP enable constraint FK_SESS_STEP ;
    alter table PRD_BIA_ODIREPO.SNP_SEQ_SESS enable constraint FK_SEQ_SESS ;
    alter table PRD_BIA_ODIREPO.SNP_VAR_SESS enable constraint FK_VAR_SESS ;   
    alter table PRD_BIA_ODIREPO.SNP_PARAM_SESS enable constraint FK_PARAM_SESS ;
     
/*
 * 4. Delete Scenario associated messages
 */
    delete from PRD_BIA_ODIREPO.SNP_EXP_TXT where I_TXT in
    (select I_TXT_STEP_MESS from PRD_BIA_ODIREPO.SNP_STEP_REPORT) ;   

    delete from PRD_BIA_ODIREPO.SNP_EXP_TXT where I_TXT in
    (select I_TXT_SESS_MESS from PRD_BIA_ODIREPO.SNP_SCEN_REPORT) ;   
     
 /*
 * 5. Delete Scenario Header associated messages
 */
    delete from PRD_BIA_ODIREPO.SNP_EXP_TXT_HEADER where I_TXT in
    (select I_TXT_STEP_MESS from PRD_BIA_ODIREPO.SNP_STEP_REPORT) ;   

    delete from PRD_BIA_ODIREPO.SNP_EXP_TXT_HEADER where I_TXT in
    (select I_TXT_SESS_MESS from PRD_BIA_ODIREPO.SNP_SCEN_REPORT) ;   
     
 /*
 * 6. Delete Scenario associated reports
 */
    /* (a). Deactivate the constraints */
    alter table PRD_BIA_ODIREPO.SNP_STEP_REPORT disable constraint FK_STEP_REPORT ;
   
    /* (b). Delete */
    truncate table PRD_BIA_ODIREPO.SNP_STEP_REPORT ;
    truncate table PRD_BIA_ODIREPO.SNP_SCEN_REPORT ;

    /* (c). Reactivate the constraints */
    alter table PRD_BIA_ODIREPO.SNP_STEP_REPORT enable constraint FK_STEP_REPORT ;
   
/*
 * 7. Commit the changes
 */
    commit ;



#######################################################################
 

Clear  tmp and Cache folders in ODI server paths, after restart the ODI server will create new TMP folders  automatically.

Now you can start back your ODI services and Agents and you can test by triggering a new load plan.
You willsee the sessions will start with 2.... and now you will be able to open the session logs directly from the executed load plans.

Oracle reference:-
Unable to Open The Scenario Object Using The Link Of The Execution Session ID From Load Plan Session Log In ODI Studio Operator (Doc ID 2222817.1 )


       How To Manually Delete ODI 10g And 11g Sessions And Scenario-Related Reports (Doc ID 424740.1)
 

K@run@

Wednesday, January 25, 2017

RPD Merging in OBIEE 11G

Merging two RPDs:-

PROCESS 1:-
Consider the two RPD that are to be merged as
RPD1-Consisting of all the previous version Modelling (Existing deployed in Prod)
RPD2-Consisting of modified modules that are to be merged to the RPD1
RPD3- Consider a dummy RPD which is blank as.

Now below are the steps to merge the RPDs via Blank RPD method.
àOpen RPD1 and go to file menu > merge
àIn the merging options Select Master RPD as Blank Rpd i.e RPD3
àModified RPD as the RPD2 which has the changes that are to be merged.
àCurrent RPD will be the RPD1.

Click next and in the conflicts select Current for those whose descriptions is as ‘Add to current’ and select modified for the those whose description is as  ‘Delete from current’.
Thus the merged RPD will be saved at the location mentioned in the previous step.

PROCESS 2:-
è Open the blank RPD first.
è In merge options give the master repository as Production RPD and modified repository as Dev RPD.
And follow the above steps of process 1. 

K@run@