mardi 3 décembre 2024



How to fix errors :

-        ORA-38760: This database instance failed to turn on flashback database

-        ORA-38780: Restore point '<restore_point_name>' does not exist.

Donatien Mbadi

Senior Consultant

 

SYMPTOMS

You have your CDB with PDB(s) with which the flashback was previously configured. You want now to open the database, and you have the below error:

SQL> startup

ORACLE instance started.

 

Total System Global Area 2583690888 bytes

Fixed Size                  9301640 bytes

Variable Size            1174405120 bytes

Database Buffers         1392508928 bytes

Redo Buffers                7475200 bytes

Database mounted.

ORA-38760: This database instance failed to turn on flashback database

 

 

SOLUTION

1-    Check the flashback and then try to turn it OFF.

SQL> select FLASHBACK_ON from v$database;

FLASHBACK_ON

------------------

YES

 

SQL> alter database FLASHBACK OFF;

Database altered.

 

SQL> select FLASHBACK_ON from v$database;

 

FLASHBACK_ON

------------------

RESTORE POINT ONLY

 

2-    Check the restore point from  v$RESTORE_POINT view.

SQL> select name from v$restore_point;

NAME

--------------------------------------

TEST_FLASHBACK

 

3-    Try to drop the restore point

SQL> drop restore point TEST_FLASHBACK;

drop restore point TEST_FLASHBACK

*

ERROR at line 1:

ORA-38780: Restore point 'TEST_FLASHBACK' does not exist.

THIS MEANS THAT THE RESTORE POINT WAS CREATED IN PDB LEVEL.

 

4-    Check the PDB where the restore point was created.

SQL> select name,con_id from v$restore_point;

 

NAME                                        CON_ID

----------------------------                ---------------

TEST_FLASHBACK                               3

 

SQL> sho pdbs

 

    CON_ID CON_NAME                       OPEN MODE  RESTRICTED

---------- ------------------------------ ---------- ----------

         2 PDB$SEED                       MOUNTED

         3 PDBLAB01                       MOUNTED

         4 PDBLAB02                       MOUNTED

 

5-    Move to the PDB and drop the restore point

 

SQL> alter session set container=PDBLAB01;

Session altered.

SQL>

SQL> drop restore point TEST_FLASHBACK;

Restore point dropped.


 

 

SQL> select FLASHBACK_ON from v$database;

FLASHBACK_ON

------------------

NO

 

6-    Now you can easily open your database.

SQL> alter session set container=cdb$root;

Session altered.

 

SQL>

SQL> alter database open;

Database altered.


lundi 15 juillet 2024

B-A BA of Azure Compliance and Governance

 

B-A BA of Azure Compliance and Governance

Author: Donatien MBADI OUM, Oracle | AWS | Azure

 


 

1.     What is Azure, Azure management group and Azure subscriptions

Azure is a Cloud platform with more than 200 products and services designed to help you bring new solutions to solve today’s challenges and create the future. (Source: https://azure.microsoft.com/en-us/resources/cloud-computing-dictionary/what-is-azure)

An Azure subscription is a logical container used to provision related business or technical resources in Azure. Azure subscription is linked to an Azure account.

-          It is a unit that aggregates all costs of the underlying resources

-          It contains resource groups and their associated resources

-          It’s a scoping level for governance and security

 

Your organization can have many Azure subscriptions. To efficiently manage access, policies and compliance for those subscriptions, you may use Management groups. You organize subscriptions into management groups and then, the governance conditions you apply cascade by inheritance to all associated subscriptions.


-          You can also have other Management group under a Management group. Root management group is the top-level

-          Management groups and subscription can have a single parent

-          Management group supports six levels of hierarchy

 


-          Root management group access is not given by default

-          Root management group cannot be moved or deleted

 

 

2.    Subscription naming and types

Subscription are named on:

-          Whether they are production, development or staging environments (E.g PROD001, DEV5420 etc)

-          The department or team the subscription is intended for so that billing can be easily associated with a given business unit (E.g. Marketing01, Engenering85 etc)

-          The region of the business that used the subscription (Montreal-West01, Seattle52 etc)

Microsoft offers different types of subscriptions.

-          Free: Can be created with an email account and a credit card that offers 200$ credit for the first 30 days and free limited access for 12 months when converted to a pay-as-you-go subscription.

-          Pay-As-You-Go: Generates monthly charge depending on the amount of Cloud resources used.

-          Enterprise: needs a single Enterprise agreement for bulk purchases of subscription, with discounts for new licenses and software’s assurance.

-          Student: Includes 100$ for 12 months and can be activated without a credit card; however, student verification is required.

Note: There are others offers including Azure Pass-Sponsorship, Visual Studio Enterprise Subscription etc.

 


 

3.     Azure Role-Based Access Control (RBAC)

 

RBAC is a mechanism that help you manage who can access your Azure resources. RBAC lets you determine what operations specific users can do on specific resources and control what areas of a resource each user can access.

Example:

-          Allow an application to access all resources in a resource group

-          Allow one user to manage VMs in a subscription, allow another user to manage virtual networks

-          Allow a database administrator group to manage SQL databases in s subscription

-          Allow a user to manage all resources in a resource groups, such as VMs, Websites and Subnets.

To implement RBAC you may:

-          Create a role definition: It’s a set of permissions that are defines in a JSON file.

-          Create a role assignment: It’s a process of scoping a role definition to limit permissions for a requestor, such as a user, group, service principal or managed identity.

 

4.    Azure Policy

 

Policies are used to enforce rules on your resources to meet corporate compliance standards en service level agreements. Azure policy is a service used to create, assign and manage policies. You can use policies to:

-          Prohibit resources (Control costs, Restrict service access etc.)

-          Allowed locations (Geographical compliance etc.)

 

To use Azure policy you may:

-          Define the evaluation criteria for compliance, and define the actions that take place. Either audit or deny should be something outside of compliance; this is Policy Definition.

-          Define the scope at which you will assign the policy. The scope should be a management group, subscription, resource group or resource; this is Policy Assignment.

-          Define a collection of policies that are tailored to achieving a singular high-level goal together; this is Initiative Definition.

 


Note: There are more than a hundred of built-in policies that you can use directly.



 

 

 

 

Note: You can check your policy Compliance via the Compliance Dashboard.

 


 

5.     Tagging Resource and Locks

 

Tags are key-value metadata elements that you apply to your Azure resources. Tags help to identify resources based on settings that are relevant to your organization. For example, if you want to track the deployment environment for your resources, add a tag key named Environment. To identify the resources deployed to production, give the tag value Production. In this example, the key-value pair is Environment = Production.

-          Tags are not inherited : Resources don.t inherit tags you apply to a resource group or a subscription

-          You can use tags to group your billing data: If you are running multiple VMs for different organizations, use the tags to group usage by cost center.

-          Not all resources types support tags

-          Each resource, resource group and subscription can have a maximum of 50 tag key-value pairs.

-          The tag name or key has a limit of 512 characters and the tag value has a limit of 256 characters


Locks are a mechanism that allow you to override permissions to resources. You can lock subscriptions, resource group or resources. Lock types are:

-          ReadOnly: Allows authorized users to read a resource, but they cannot delete or update the resource

-          CanNotDelete: Allows authorized users to read and modify a resource, but they cannot delete the resource

Note: Locks are inherited from the parent scope.

 

6.    Building a Cloud Governance Strategy

 

You may plan you Cloud Governance Strategy by:

-          Defining the cloud governance needs of the organization

-          Planning which tools will be used to implement governance

-          Understanding how those tools will be used to implement governance

-          Implementing governance for the organization using a cloud strategy

 

Governance Services are:

-          Management Groups and Subscriptions: Organize subscriptions into hierarchical structures

-          Azure RBAC: Provide access to resources at varying scopes

-          Policies: Implement policies to enforce standards

-          Locks and Tagging: Lock resources to prevent deletion. And tag resources to categorize.

 

samedi 2 décembre 2023

Configuration des règles d’incident dans OEM 13c et envoi d’alertes

 


Configuration des règles d’incident dans OEM 13c et envoi d’alertes

Donatien Mbadi, Consultant

 

 

 

 Dans ce tutorial, nous allons apprendre à configurer la surveillance et les notifications dans Oracle Enterprise Manager en utilisant les modèles de surveillance (Monitoring Templates), les groupes (Groups) et les règles d’incidents (Incident Rules).

 

-     Les modèles de surveillance : Ils simplifient la tache de configuration de la surveillance pour un grand nombre de cibles en permettant de spécifier les paramètres de surveillance, de mesure et de collecte et de les appliquer à des groupes.

-      Les groupes : les groupes sont un moyen efficace d’organiser, de gérer et de surveiller logiquement les cibles dans votre environnement.

-      Les règles d’incident : Ce sont des règles qui s’appliquent à des cibles particulières tels que les bases de données, les hôtes ou les groupes.



1.   Créer des modèles (templates) de surveillance

 

Les modèles permettent de définir des règles de surveillance pour différents types d’objets.

Dans l’interface d’OEM,

1.     Aller à EnterpriseàMonitotingàMonitoring Templates

2.    Cliquer sur Create

3.    Choisir l’option Target Type

4.    Choisir la catégorie Databases, puis le type Database Instance, puis cliquer sur Continue


5.    Entrer le nom et la description de votre modèle


6.    Cliquer sur Ok

Les modèles à créer sont les suivants :

Modèles

Catégorie

Type

Description

DB_INST_TEMPLATE

Database

Database Instance

Modèle de métriques pour les instances de bases de données (CDB ou NON-CDB)

DB_PDB_TEMPLATE

Database

Pluggabe Database

Modèle de métriques pour les PDBs

DB_ASM_TEMPLATE

Servers, Storage and Networks

Automatic Storage Management

Modèle de métriques pour les disques ASM

DB_LISTENER_TEMPLATE

Database

Listener

Modèle de métriques pour les listeners

 

D’autres modèles pourront être créés par la suite en fonction des besoins.

2.  Créer des groupes

Les groupes permettent d’organiser et gérer les cibles de surveillance similaires, permettant ainsi de simplifier la gestion de la surveillance en appliquant des règles spécifiques et une gestion efficace des alertes.

Dans l’interface d’OEM,

1.     Aller à TargetsàGroups

2.    Cliquer sur CreateàGroup

3.    Inscrire le nom du groupe


4.    Cliquer sur Add (Pour ajouter les cibles)

5.    Choisir le type de cible

6.    Cocher les cibles souhaitées


7.    Cliquer sur Select

8.    Cliquer sur Ok

Les groupes à créer sont les suivants :

 

Groupes

Membres

Groupe Parent

Description

DEV_CDB_GROUP

 

DEV_GROUP

Groupe des CDBs en développement

FON_CDB_GROUP

CDB01F12

FON_GROUP

Groupe des CDBs en fonctionnel

ACC_CDB_GROUP

CDB00S31

CDB00S2

CDB0DS16

ACC_GROUP

Groupe des CDBs en acceptation

PRO_CDB_GROUP

 

PRO_GROUP

Groupe des CDBs en production

 

 

 

 

DEV_PDB_GROUP

 

DEV_GROUP

Groupe des PDBs en développement

FON_PDB_GROUP

APPL00F1

APPL00F2

FON_GROUP

Groupe des PDBs en fonctionnel

ACC_PDB_GROUP

APPL00S1

APPL00S2

APPL00S3

APPL00C1

APPL00S6

APPLSD10

ACC_GROUP

Groupe des PDBs en acceptation

PRO_PDB_GROUP

 

PRO_GROUP

Groupe des PDBs en production

 

 

 

 

DEV_LISTENER

 

DEV_GROUP

Groupe des listeners en développement

FON_LISTENER

 

FON_GROUP

Groupe des listeners en fonctionnel

ACC_LISTENER

 

ACC_GROUP

Groupe des listeners en acceptation

PRO_LISTENER

 

PRO_GROUP

Groupe des listeners en production

DEV_GROUP

DEV_CDB_GROUP

DEV_PDB_GROUP

DEV_LISTENER

 

Groupe parent contenant tous les sous-groupes développement

FON_GROUP

FON_CDB_GROUP

FON_PDB_GROUP

FON_LISTENER

 

Groupe parent contenant tous les sous-groupes fonctionnel

ACC_GROUP

ACC_CDB_GROUP

ACC_PDB_GROUP

ACC_LISTENER

 

Groupe parent contenant tous les sous-groupes acceptation

PRO_GROUP

ACC_CDB_GROUP

ACC_PDB_GROUP

ACC_LISTENER

 

Groupe parent contenant tous les sous-groupes développement

Vous pouvez créer des groupes parents contenant d’autres groupes appelés sous-groupes.

3.  Appliquer les modèles aux groupes

 

Appliquer chaque modèle créé, a un ou plusieurs groupes.

Dans l’interface d’OEM,

1.     Aller à EnterpriseàMonitotingàMonitoring Templates

2.    Sélectionner un modèle, puis cliquer sur Apply


3.    Cliquer sur Add (Pour ajouter les groupes contenant les cibles correspondantes au modèle)


 

4.    Choisir Group comme type de cible


 

5.    Select le ou les groupes correspondants au modele

 


 

6.    Cliquer sur Select

7.    Cliquer sur Finish

4.  Définir les règles d’incidents

 

Un incident dans OEM est généralement associé à une situation anormale ou a un problème détecté comme une alerte de performance, un seuil dépassé, un listener arrêté, etc.

Les règles d’incidents permettent de définir les critères spécifiques pour la génération d’incidents et les actions à prendre.

Dans l’interface d’OEM,

1.     Aller à SetupàIncidentsàIncident rules

2.    Cliquer sur Create Rule Set

3.    Inscrire le nom de la règle

4.    Choisir l’option Specific targets puis cliquer sur Add


5.    Sélectionner le groupe, puis cliquer sur Select


6.    Cliquer sur Select

Vous pouvez choisir autant de groupe ou sous-groupes souhaites

7.    Sous Rules, Cliquer sur Create

8.    Choisir le type de règle à créer (par exemple : Incoming events and updates to events) puis cliquer sur Continue

9.    Choisir le type de règle à appliquer (Exemple : Pour le type Metric Alert, choisir All events ou Specific Events)

10.  Choisir des options avancées puis cliquer sur Next

11.   Sur la page des actions, cliquer sur Add

12.  Choisir des conditions, Tickets, ou notifications par e-mail.

13.  S’il y’a des actions correctives, les spécifier en cliquent sur Select corrective action

14.  Clique sur Continue

15.  Vous pouvez ajouter d’autres règles en cliquent sur Add

16.  Cliquer sur Next

17.   Inscrire le nom de la règle et la description, puis cliquer sur Next

18.  Cliquer sur Save

 

 

5. Exemples d’alertes

Pour visualiser les incidents dans OEM, il faut aller sur EnterpriseàMonitoringàIncident Manager


Ci-dessous un exemple de notifications :


How to fix errors : -         ORA-38760: This database instance failed to turn on flashback database -         ORA-38780: Restore poin...