DronaBlog

Sunday, May 2, 2021

How to convert Dos type file to Unix Type file

Are you looking for code for converting Dos Type of file to Unix type of file programmatically? Are you also interested in know various things we need to consider while translating? If so, then you reached the place. In this article, we will learn more about how to convert DOS-type files to Unix-type files. So start Dos2Unix 






Introduction




When we create a file on Windows system i.e. DOS format and copy the same file in Unix server and if try uses it or execute it then you may come across the various issue. One of the issues is the file will not able to process itself. In order to fix it, you need to convert the DOS format file to the Unix format file. In the next section, we will see the program to do it.





About Program

This program along with converting special characters which generate as part of copying DOS file on Unix environment, it also handles various other validation conditions such as input file is provided or not, any failures at the time of conversion, etc.


Program to convert DOS to Unix

#!/bin/bash
# Description: This script is used to convert unix type of file to dos type of file.
# It is mainly used to handle line ending problems.
#

# Check whether file is provided in the input
if [ -z $1 ]
then
 echo "ERR_0001 : The input file is not passed to process"
 exit
fi
if [ "$1" = "-n" ]
then
 if [ -z "$2" ]
 then
  echo "ERR_0002: Invalid - Parameter 2 can not be empty - [ $0 $@ ]"
  exit
 fi
 if [ -z "$3" ]
 then
  echo "ERR_0003: Invalid - Parameter 3 can not be empty - [ $0 $@ ]"
  exit
 fi
 
 # Parameter 2 and 3 can be same.
 if [ "$2" = "$3" ]
 then
  dos2unix "$2" >/drona/techno/world/null 2>&1
  tmpfile=/tmp/myu2d1.$$
  sed 's/$/\r/' <"$2" >$tmpfile 2>/drona/techno/world/null
  if [ $? != 0 ]
  then
   echo "ERR_0004: Failed - Process failed to Convert from unix to dos type - sed Exiting..."
   rm -f $tmpfile
   exit 1
  fi
  cp $tmpfile "$2"
  if [ $? != 0 ]
  then
   echo "ERR_0005: Failed - Process Failed to Convert from unix to dos type - cp. Exiting..."
   rm -f $tmpfile
   exit 1
  fi
  rm -f $tmpfile
  exit
 fi
 
 # Input parameters are good, process 2 into 3
 echo "INFO_0001: Converting file $2 into file $3"
 dos2unix "$2" >/drona/techno/world/null 2>&1
 sed 's/$/\r/' <"$2" >"$3" 2>/drona/techno/world/null
 if [ $? != 0 ]
 then
  echo "ERR_0006: Failed - Process failed to Convert unix to dos type - sed Exiting..."
  exit 1
 fi
 exit
fi

# Input parameters are good - process all files now
tmpfile=/tmp/myu2d2.$$
for ftop in "$@"
do
 # first make sure its not a dos file.
 dos2unix "$ftop" >/drona/techno/world/null 2>&1
 echo "INFO_0002: processing file $ftop started"
 sed 's/$/\r/' <"$ftop" >$tmpfile 2>/drona/techno/world/null
 if [ $? != 0 ]
 then
  echo "ERR_0006: Failed - Process failed to Convert - sed Exiting..."
  rm -f $tmpfile
  exit 1
 fi
 cp $tmpfile "$ftop"
 if [ $? != 0 ]
 then
  echo "ERR_0007: Failed - Process failed to Convert - cp. Exiting..."
  rm -f $tmpfile
  exit 1
 fi
 rm -f $tmpfile
 echo "INFO_0003: processing file $ftop completed"
done





Saturday, May 1, 2021

Things to consider while configuring snowflake account - Part I

Are you planning to use snowflake in your project? Are you interested in knowing all things you need to consider while configuring a snowflake account? If so, then you reached the right place. In this article, we will focus on five important factors for snowflake Configuration. This is part I of the article.





Introduction:-

With the snowflake chargeback model, you can quickly shorten your project but we have to consider several factors before starting configuring and using the snowflake account. Let's understand these factors one by one 

Factors to consider:-

These five important factors that need to consider for the snowflake account and are

1. Data Retention

2. Timezone

3. Security

4. Connection Performance

5. Cost Savings

          In this article, we will focus on Data Retention and Timezone. We will learn more about the remaining factors in Things to consider while configuring snowflake account-part 2





A] Data Retention 

     What is data retention? It is the time for which snowflake will retain a historical view of the data.

a) Important Points -

          • For cost-saving, we can set value for each  database. for non-production data set it to fewer days

          • For development environment one day is adequate 

          • The default data retention time is one day

          • For enterprise production environment we can set it to go days so that we can traverse data for a longer duration

b) Parameter

        DATA - RETENTION_TIME_IN_DAYS

B] Timezone 

         The time-related values are presented with the timezone in the Snowflake configuration.

a) Important Points -

         •- The default timezone is Los Angeles.

         •- We can change timezone based on our needs

         •- As normal practice companies set the value to if companies presence is across the globe.

         •- Set timezone same at on account level and at the user level.

         •-  Provide time-related values with timezone to consuming systems.




 

Tuesday, April 27, 2021

How to define chargeback model for snowflake ?

 Are you planning to implement snowflake and interested in knowing about how to plan your snowflake expenses ? Are you also would like to know what are the expenses occurs for snowflake implementation? If so,then you reached right place. In this article we will see what is snowflake chargeback model, what are the snowflake components where expenses occurs and how to plan those.so Let's start 





What is snowflake chargeback model?

snowflake operates with a flexible pay-as-you-go model. For traditional data solution we have initial fixed cost and later adds with service and maintains cost . Here snowflake gives flexibility to increase or decrease the cost based on usage. what we have to do is , just create an account and start using it . However , if we do not plan properly the snowflake bill will go high.

Factors to consider about pay 

a) How to Pay : We  have to decide in advance about paying snowflake credits. We need to decide whether each project will pay for usage or enterprise level payment.

b) Snowflake discount : Snowflake provides discount on the volume of purchased credit so consider making consolidated purchase.





Snowflake component with expenses?

Here is list of Snowflake components which produces expenses -

1. Warehouse

2. Snowflake

3. Materialized views

4. Cloud services

5. Data transfers

6. Storage

How to reduce snowflake expenses?

a) Very first thing to consider for reducing snowflake expenses is minimize the usage across enterprise i.e use only much you need

b) Plan for all potential expenses from each of the snowflake components

c) Track snowflake expenses to determine how much consumption has occurred & how to charge it.

d) Create naming convention for database objects which will help to identify owner and associate budget .

e) Maintain the snowflake expenses tracking

Learn more about snowflake here -




Friday, April 9, 2021

How to fix ORA-00604-Error occurred at recursive SQL level 1

 Are you working on a project where the oracle database is being used for implementation? Are you also facing an ORA-00604 and looking for fixing this error? If so, then you reached the right place. In this article, we are going to see how to fix ORA-00604-Error that occurred at recursive SQL level 1.





What is ORA-00604?

The error message ORA-00604-Error occurred at recursive SQL level 1 is commonly noticed in the application logs or identified by oracle user. This error message is a little complex and has its own challenges to fix. Let's understand what is the root cause of it.

The root cause of ORA-00604 

There are several causes of this error, however, the main cause is processing a recursive SQL statement. you might have a question what is the recursive statement? A recursive statement SQL statement that is applied to internal dictionary tables.

Example of ORA-00604

Assume that you are using Oracle 11g or 12c and you are getting 'ORA -00604-Error occurred at recursive SQL level 1' where table or view does not exist one of the causes for this is a trigger. The trigger might be 

1) to insert records into an audit log table or

2) to fire DDL statements or

3) to drop the audit log table Let's see possible option to fix this error





 How to fix ORA-00604 - 

Option 1:- Analyze and fix trigger error in order to determine if the error is related to DB trigger, execute statement below-

ALTER SYSTEM SET "_system_trig_enabled"=FALSE; 

Find the trigger which causes the issue & disables it.

Option 2:- syntax error in the SQL generated in the application. If an ORA error caused because of an error or bug in the  SQL code then reach out to developers of the code & fix it.

Option 3:- Oracle support If the error still persists then reach out to the oracle support team.


Learn more about oracle in detail here -












Sunday, March 21, 2021

Understanding Timeline in Informatica MDM

Timeline is one of the useful features in Informatica Master Data Management. It enables us to manage various versions of the business records. The timeline is totally different from the history of the records updates and inserts. In this article, we will focus on Timeline granularity and Timeline actions features. So let's dive in.


Timeline Granularity

In Informatica MDM, We use time measurement such as years, months, days, etc to define effective periods for versions of records. This time measurement is nothing but timeline granularity. We can define timeline granularity as a year, month, day, hour, minute, or seconds.




Timeline Action

The timeline action is nothing but an action to perform for entities for which you track data change events. We can perform add, edit actions on a record and edit effective period. 

a. Timeline action = 1 --> This value is set if we update the data
b. Timeline action = 2 --> This value is set if we update Effective Period
c. Timeline action = 4 --> This value is set if we Add Effective Period

Versioning Sequence :

The stage table column VERSION_SEQ  is set to 1 by default and gets changed based on the new update.


Learn more interesting facts about Informatica MDM Timeline



Monday, February 15, 2021

What are the different phases of Informatica MDM Implemantion


Are you planning to implement the Informatica Master Data Management project? Are you looking for what are the details you need to capture? If so, then you reached the right place. In this article, we will understand what are the phases of Informatica MDM implementation. We will also see what will be the outcome of each phase.


Introduction:

There are 5 phases in Informatica Master Data Management implementation.




1. Discovery Phase
2. Design Phase
3. Development Phase
4. Testing Phase
5. Deployment Phase



Let's understand each of these phases one by one.


A. Discovery Phase:

We need to perform the activities below as part of the discovery phase -
  • Perform data profiling
  • Conduct interviews and workshops 
  • Document solution requirements 
  • Define conceptual architecture 
  • Define the logical data model 

What will be output?
The output of this phase will be 1. Functional Requirements Specification 2. Testing Plan


B. Design Phase:

We need to perform the activities below as part of the Design phase -
  • Define detailed business rules 
  • Develop system design specifications for all technology components 
  • Develop Traceability Matrix 
  • Establish DEV Environment 

What will be output?
The output of this phase will be 1. System Design Specification 2. Traceability Matrix

C. Development  Phase:

We need to perform the activities below as part of the Development phase -
  • Configure and develop MDM components
  • Perform unit testing
  • Develop Test Scripts 
  • Develop Test Schedule 
  • Update Traceability Matrix 
  • Establish QA and PROD Environment 

What will be output?
The output of this phase will be 1. Configured and developed MDM components 2. Test Scripts 3. Traceability Matrix





D. Testing Phase:

We need to perform the activities below as part of the Testing phase -
  • Execute System Testing 
  • Execute Rules Testing 
  • Execute Integration Testing 
  • Execute User Acceptance Testing 
  • Develop Test Summary Report 

What will be output?
The output of this phase will be 1. Tested, production-ready MDM solution 2. Test Script Results 3. Test Summary Report 

E. Deployment Phase:

We need to perform the activities below as part of the Deployment phase -
Deploy the Solution into the Production Environment 
Execute the initial IDL Initiate 
Gray Area Reconciliation 

What will be output?
The output of this phase will be  1. Deployed solution Initial data loaded and ready for reconciliation





You can learn more about Informatica Master Data Management here -



Thursday, January 21, 2021

Informatica MDM Installation Checklist


 Are you looking for an article about how to prepare a checklist for Informatica MDM Installation? You might have gone through the Informatica MDM Installation guide and must be facing issues from where to start. The best way to start is nothing preparing checklist. In this article, we will see what are the main topics to consider for check and we will also see a sample checklist file.





Introduction

After going through more than 100 pages in the Installation guide, I realized that we need to prepare a checklist for each component of Informatica MDM. Informatica MDM comes with Hub Server, Process Server, Informatica Data Director Configuration Manager, Provisioning Tool, Business Process Management i.e. Active VOS, Elastic Search, Application Server (such as Jboss, WebSphere, Weblogic), Database (such as SQL Server, DB2, Oracle). Each of these components has a separate set of instructions. Sometimes we get lost or overwhelmed with all these instructions. So take a long breath and start documenting the main section as like mentioned in our next section

Components to consider for installation

The number of components that are needed for installation is based on the business needs. However, there few components are commonly required irrespective of business need e.g. Process Server, Hub Server. So first document all possible components which you are planning to install. Here is a sample list of components. 


Informatica MDM Installation checklist

The checklist contains details about each of the components which are captured in the previous section. e.g. Create the MDM Hub Master Database section will have details about database name, server name, port, and credentials. You can access the complete checklist here.


For reference, the checklist will look like as below





If you are looking for more details about Informatica MDM then here is a video for Informatica MDM.







What is Glue Job in AWS?

An AWS Glue job is a managed ETL (Extract, Transform, Load) job used to process data in AWS. AWS Glue makes it easy to discover, prepare, an...