Pakistan's First Oracle Blog

Subscribe to Pakistan's First Oracle Blog feed
Blog By Fahd Mirza ChughtaiFahd Mirza
Updated: 11 hours 27 min ago

How to Transition from a DBA to Cloud Engineer

Sun, 2023-01-29 15:55

 I worked as pure Oracle DBA from 2001 to 2015 and then transitioned to being a Cloud Engineer. One question I am always asked is what it takes to do that transition? How long does it take? How hard it is? In this video I am going to share my journey of transition from Oracle DBA to a Cloud Engineer and share the lessons learned plus some tips to make this transition smooth. 

Categories: DBA Blogs

Cloud Engineer's Beloved Terminal

Fri, 2023-01-27 21:30

 Cloud engineers spend a fair bit of their time in Linux terminals along with GUI tools. After working with various terminals, let me share with you what an ideal Linux terminal for a cloud engineer looks like to me. By ideal, I mean more productive, easy to use and present. 

Categories: DBA Blogs

What is Prow in Kubernetes for Beginners

Wed, 2023-01-25 21:20


Categories: DBA Blogs

Promtail Loki Grafana PLG Stack on AWS EKS Demo

Mon, 2023-01-23 15:53


Categories: DBA Blogs

EKS vs Lambda - Which to Use When

Mon, 2023-01-23 15:52


Categories: DBA Blogs

Kubernetes Python client on AWS EKS Step by Step Demo

Sun, 2023-01-22 20:57

Kubernetes Python client is used to perform operations on Kubernetes resources in the cluster from your Python code.


  • A Running Kubernetes Cluster (Note: I am using AWS EKS cluster)
  • Install Kubernetes client for Python with pip by using command: pip install kubernetes
  • kubectl utility to verify the resources (Optional)

All the code files used in this video are present in my github repo and the link is in video description.

Categories: DBA Blogs

AWS EKS Crossplane for Beginners

Thu, 2023-01-19 23:34


For more detail, here is step by step procedures.

Categories: DBA Blogs

Step by Step Installation of crossplane on AWS EKS

Thu, 2023-01-19 00:29

 If you want to create your cloud resources such as AWS EC2, S3 bucket etc from within Kubernetes, then you need to use Crossplane. Its an open source project. Following is step  by step instructions to install crossplane on AWS EKS.

-- Make sure kubectl version is v1.23 and helm version is v3.8.2

-- All files which are being used in this code are available at github.

Step 1: Create EKS cluster

Step 2: Run following commands:

For IAM Setup:

ACCOUNT_ID=$(aws sts get-caller-identity --query Account --output text)

# A permissions boundary is an advanced feature for using a managed policy to set the maximum permissions that an identity-based policy can grant to an IAM entity. permission-boundary.json file is available in github repo here.

sed -i.bak "s/ACCOUNT_ID/${ACCOUNT_ID}/g" permission-boundary.json

aws iam create-policy \

    --policy-name crossplaneBoundary \

    --policy-document file://permission-boundary.json

# Amazon EKS supports using OpenID Connect (OIDC) identity providers as a method to authenticate users to your cluster. crossplane-ssp is my cluster's name. You can use your own.

OIDC_PROVIDER=$(aws eks describe-cluster --name crossplane-ssp --query "cluster.identity.oidc.issuer" --output text | sed -e "s/^https:\/\///")




  "Version": "2012-10-17",

  "Statement": [


      "Effect": "Allow",

      "Principal": {

        "Federated": "arn:aws:iam::${ACCOUNT_ID}:oidc-provider/${OIDC_PROVIDER}"


      "Action": "sts:AssumeRoleWithWebIdentity",

      "Condition": {

        "StringLike": {

          "${OIDC_PROVIDER}:sub": "system:serviceaccount:crossplane-system:provider-*"







echo "${TRUST_RELATIONSHIP}" > trust.json

# IAM role for provider-aws

aws iam create-role --role-name crossplane-provider-aws --assume-role-policy-document file://trust.json --description "IAM role for provider-aws" --permissions-boundary ${PERMISSION_BOUNDARY_ARN}

aws iam attach-role-policy --role-name crossplane-provider-aws --policy-arn=arn:aws:iam::aws:policy/AdministratorAccess

# Annotate the service account to use IRSA.

sed -i.bak "s/ACCOUNT_ID/${ACCOUNT_ID}/g" aws-provider.yaml

# Install Crossplane

kubectl create namespace crossplane-system

helm repo add crossplane-stable

helm repo update

helm install crossplane --namespace crossplane-system --version 1.10.1 crossplane-stable/crossplane

# wait for the provider CRD to be ready.

kubectl wait --for condition=established --timeout=300s crd/

kubectl apply -f aws-provider.yaml

# wait for the AWS provider CRD to be ready.

kubectl wait --for condition=established --timeout=300s crd/

kubectl apply -f aws-provider-config.yaml

#create resources

kubectl apply -f ec2.yaml

kubectl get instance

kubectl describe instance

kubectl apply -f s3.yaml

kubectl get Bucket

kubectl describe Bucket

Categories: DBA Blogs

SSL certificate problem: self signed certificate in certificate chain Kubectl - SOLVED

Wed, 2023-01-18 22:33

 More often than not, if you are installing or upgrading or downgrading kubectl for Windows or Linux, then during download you might face following error:

$ curl -O

  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current

                                 Dload  Upload   Total   Spent    Left  Speed

  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0

curl: (60) SSL certificate problem: self signed certificate in certificate chain

More details here:

curl failed to verify the legitimacy of the server and therefore could not

establish a secure connection to it. To learn more about this situation and

how to fix it, please visit the web page mentioned above.


The solution to above error is to use the curl command with --ssl-no-revoke flag as follows:

curl -O --ssl-no-revoke

and it would work.

I hope that helps.

Categories: DBA Blogs

How to Use AWS SSM Resource Scheduler

Thu, 2023-01-12 18:08


Categories: DBA Blogs

What is AWS SSM Hybrid Activations

Thu, 2023-01-12 18:07


Categories: DBA Blogs

How to Approach Cloud Engineer Interview These Days?

Tue, 2023-01-10 22:18

 Cloud has evolved a lot and so has the role of Cloud Engineer. Normally, the role of engineer in any given field is to build something on the basis of design given by architects and then hand-over that built infrastructure to the operations team. That's not really the case in Cloud. The boundaries are blurry and fuzzy. But one thing is for sure. As a cloud engineer you are required to have breadth and depth in various disciplines within and outside of the cloud. If you are thinking of applying as cloud engineer and want to know latest state of as how to approach cloud engineer interview , then following are some pointers:

Make sure you have few stories prepared from your work as cloud engineer to be told as an example usage of above concepts and services. Make sure you highlight your contribution. Make sure to know what are the latest happenings in cloud. Make sure you display your willingness to evolve as cloud is still evolving. Go in and hit it out of the park.  

Categories: DBA Blogs

Mount Existing EFS Volume in New EC2 Instance

Mon, 2023-01-09 18:30

 Amazon Elastic File System (EFS) is a shared storage for EC2 instances service from AWS. EFS is a serverless, fully elastic file storage so that you can share file data without provisioning or managing any storage infrastructure. EFS is a file storage service for Amazon EC2 instances. With EFS, the applications have storage when they need it because storage capacity grows and shrinks automatically as you add and remove files.

I hope that helps.

Categories: DBA Blogs

Let's Fix TNS-12518 Now

Sun, 2023-01-08 20:58

ORA-12518, TNS:listener could not hand off client connection fix is still hard as this is still one of the most common error occurring in the Oracle setup on on-prem or cloud VMs.


Step 1: Check listener status

> lsnrctl status

> lsnrctl start

Step 2: Check database status

> ps -ef | grep pmon

> sqlplus '/ as sysdba'

> startup

Step 3: Check process related limits

        > show parameter processes OR select value from v$parameter where name = 'processes';

        > select count(*) from v$processes

> select status,count(*) from v$session

    -- Check the no of processes

> SELECT s.program,s.machine,count(p.spid) from v$session s,v$process p where 

s.paddr = p.addr group by s.program,s.machine having count(p.spid) > 5;

--Check the no of sessions

> SELECT s.program,s.machine,count(*) from v$session s group by s.program,s.machine;

> alter system set processes = 500 scope = spfile;

> Restart the Oracle instance. i.e. shutdown immediate and then startup commands.

Step 4: Check the resources usage limit in Oracle

> select RESOURCE_NAME,CURRENT_UTILIZATION,MAX_UTILIZATION,LIMIT_VALUE from v$resource_limit where resource_name in ('sessions','processes');

Note: If you have tried all of above and still the issue is occuring, then you need to check with your application owners to make sure that sessions are being closed gracefully. 

Also check if the server is under-resourced in terms of memory and CPU. 

Categories: DBA Blogs

Cloud Engineer and Application Security Analysis

Sat, 2023-01-07 20:08

 As we know, the role of cloud engineer is over-arching and the boundaries are fuzzy. Depending upon the organization, it could be just building cloud infrastructure but the truth of the matter is that these days a cloud engineer is supposed to do or at least facilitate support to everything which touches the cloud.

The Application software which runs in cloud doesn't exist in vaccum. It not only contains code but also makes use of various cloud services. A typical cloud application lives in a virtual network, makes use of egress and ingress rules, obeys the identity access management, and follows defined security patterns. That is the key concept here. No matter if the application resides on virtual machine, or it's serverless, or it's container based; it has to remain in the ambit of security guardrails defined by your cybersecurity team.

It's the job of cloud engineer to make sure that application developers have clear idea about it while they build thier application. From CICD to production access for users, developers should know what's the defined secure path. For example, if the application needs to talk to some public end points, don't let developers put the application in public subnet, or create their own internet gateways. Give them a proper secure way to do so.

Categories: DBA Blogs

How much a Cloud Engineer should know about Cybersecurity?

Fri, 2023-01-06 20:01

 The short answer is 'a fair bit' and the long answer is:

- Every IT professional in and outside of cloud must know about cybersecurity to some degree. Not only professional, but these days every technology user should at least have the basic's right. That is why, the cybersecurity is becoming more and more part of cloud engineer's job.

As per of cloud security, Cloud engineer should cover areas like Cloud Infrastructure Security and Cloud Application Security. 

From cybersecurity perspective, the responsibility of a cloud engineer is to identify and remediate risks through security assessments and automated compliance monitoring. Plus Cloud engineer's role is to provide support to other stake-holders. 

Categories: DBA Blogs

4 Ways to delete a resource in Terraform

Thu, 2023-01-05 18:55

 This video lists down 4 Ways to delete a resource in Terraform in a simply and easy language with commands and full demo.

1- Remove the resource from terraform code 2- Terraform destroy 3- Terraform taint 4- Terraform state rm

I hope that helps.

Categories: DBA Blogs

Difference between Terraform Locals and Terraform Variables with Demo

Wed, 2023-01-04 23:30

At first glance, both Terraform Locals and Terraform Variables look the same. This video explains in simple words as what's the difference between locals and variables in terraform with example and demo.

Categories: DBA Blogs

What is ChatGPT in Urdu with Demo

Tue, 2023-01-03 02:15

 ChatGPT is a chatbot which is based on complex AI and ML algorithm. This video describes in simple Urdu what is ChatGPT and also gives a real time demo.

Categories: DBA Blogs