Maison base de données tutoriel mysql Oracle数据库审计用法实例

Oracle数据库审计用法实例

Jun 07, 2016 pm 05:22 PM
oracle数据库

本节是从ORACLE METALINK的DOC:167293.1翻译整理而来的。通过举例的方式来说明ORACLE审计的用法。ORACLE的审计可以从语句级、对象

本节是从Oracle METALINK的DOC:167293.1翻译整理而来的。通过举例的方式来说明ORACLE审计的用法。

ORACLE的审计可以从语句级、对象级和权限级几个方面进行。同样的,SYSDBA和SYSOPER用户的行为也可以被审计(从ORACLE 9i Release 2,,9.2.0.1开始,SYS用户可以通过设置AUDIT_SYS_OPERATIONS参数来进行审计)。

1.对象级审计

可以被审计的对象包括表、视图、序列发生器、包、存储过程等。由于对象的依赖性问题,可能同一件事情可能会产生多条审计信息。比如说某个函数关联到某个视图,某个视图关联到某个表。

对象级审计只能针对整个数据库的用户而不能对于某个用户进行审计。要查看对象级审计具有哪些审计选项,可以查询ALL_DEF_AUDIT_OPTS视图。


SQL> connect system/manager

SQL> select * from all_def_audit_opts;


ALT AUD COM DEL GRAINDINS LOC REN SEL UPD REF EXE

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

-/- -/- -/- -/- -/- -/- -/- -/- -/- -/- -/- -/- -/-


下面的例子是对SCOTT.EMP进行审计:

SQL> connect system/manager

SQL> audit select on SCOTT.emp by session;

查看审计信息是否被记录了:

SQL> col owner format a7

SQL> col object_name format a7

SQL>select * from dba_obj_audit_opts

where wner='SCOTT' and OBJECT_NAME='EMP';


OWNEROBJECT_ OBJECT_TY ALT AUD COM DEL GRAINDINS LOC REN SEL UPD REF EXE

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

SCOTTEMPTABLE-/- -/- -/- -/- -/- -/- -/- -/- -/- S/S -/- -/- -/-

以下的语句可以生成一些审计信息:

SQL> connect scott/tiger

SQL> select * from emp;

SQL> connect TEST/TEST

SQL> select * from scott.emp;

ERROR at line 1:

ORA-00942: table or view does not exist

SQL> connect system/manager

SQL> select * from scott.emp;


审计结果


SQL> connect system/manager

SQL> col username format a8

SQL> col priv_used format 999

SQL> /


SQL>select username, priv_used, ses_actions from

dba_audit_object

where obj_name='EMP' and wner='SCOTT';


结果


USERNAMEPRIV_USEDSES_ACTIONS

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

SCOTT---------S------

TEST

SYSTEMSELECT ANY ---------S------

2.从权限级进行审计

所有的系统权限都可以进行审计。从SYSTEM_PRIVILEGE_MAP中可查询到所有的系统权限。如果你要对一个不属于该视图中的权限进行审计,会出现错误:

SQL> audit drop snapshot by access;

audit drop snapshot by access

*

ERROR at line 1:

ORA-00956: missing or invalid auditing option


SQL> connect system/manager

SQL> select * from system_privilege_map;

 

PRIVILEGE NAME

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

-3 ALTER SYSTEM

-4 AUDIT SYSTEM

-5 CREATE SESSION

-6 ALTER SESSION

-7 RESTRICTED SESSION

-10 CREATE TABLESPACE

-11 ALTER TABLESPACE

-12 MANAGE TABLESPACE

-13 DROP TABLESPACE

.....

-167 GRANT ANY PRIVILEGE

-172 CREATE SNAPSHOT

-173 CREATE ANY SNAPSHOT

-174 ALTER ANY SNAPSHOT

-175 DROP ANY SNAPSHOT

-194 WRITEDOWN DBLOW

-195 READUP DBHIGH

-196 WRITEUP DBHIGH

-197 WRITEDOWN

-198 READUP

-199 WRITEUP

linux

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
2 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
2 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Comment vérifier à quel espace table appartient une table dans Oracle Comment vérifier à quel espace table appartient une table dans Oracle Jul 06, 2023 pm 01:31 PM

Comment vérifier à quel espace table appartient une table dans Oracle : 1. Utilisez l'instruction "SELECT" et spécifiez le nom de la table pour trouver l'espace table auquel appartient la table spécifiée. 2. Utilisez les outils de gestion de base de données fournis par Oracle pour vérifier ; l'espace table auquel appartient la table. Les outils fournissent généralement une interface graphique, rendant l'opération plus intuitive et plus pratique ; 3. Dans SQL*Plus, vous pouvez afficher l'espace table auquel appartient la table en entrant la commande "DESCRIBEyour_table_name ;" .

Comment se connecter à la base de données Oracle à l'aide de PDO Comment se connecter à la base de données Oracle à l'aide de PDO Jul 28, 2023 pm 12:48 PM

Présentation de l'utilisation de PDO pour se connecter à la base de données Oracle : PDO (PHPDataObjects) est une bibliothèque d'extension pour exploiter des bases de données en PHP. Elle fournit une API unifiée pour accéder à plusieurs types de bases de données. Dans cet article, nous verrons comment utiliser PDO pour se connecter à une base de données Oracle et effectuer certaines opérations courantes sur la base de données. Étape : Installez l'extension du pilote de base de données Oracle. Avant d'utiliser PDO pour vous connecter à la base de données Oracle, nous devons installer l'Oracle correspondant.

Comment récupérer un seul élément de données en double dans Oracle Comment récupérer un seul élément de données en double dans Oracle Jul 06, 2023 am 11:45 AM

Étapes permettant à Oracle de récupérer un seul élément de données en double : 1. Utilisez l'instruction SELECT combinée avec les clauses GROUP BY et HAVING pour rechercher les données en double ; 2. Utilisez ROWID pour supprimer les données en double afin de garantir que les enregistrements de données en double précis sont supprimés ; ou utilisez la fonction "ROW_NUMBER" ()" pour supprimer les données en double, ce qui supprimera tous les enregistrements sauf le premier enregistrement de chaque ensemble de données en double ; 3. Utilisez l'instruction "select count(*) from" pour renvoyer le nombre d'enregistrements supprimés à assurer le résultat.

Implémenter l'importation de données dans les bases de données PHP et Oracle Implémenter l'importation de données dans les bases de données PHP et Oracle Jul 12, 2023 pm 06:46 PM

Implémentation de l'importation de données dans les bases de données PHP et Oracle Dans le développement Web, l'utilisation de PHP comme langage de script côté serveur permet d'exploiter facilement la base de données. En tant que système de gestion de base de données relationnelle commun, la base de données Oracle dispose de puissantes capacités de stockage et de traitement des données. Cet article explique comment utiliser PHP pour importer des données dans une base de données Oracle et donne des exemples de code correspondants. Tout d'abord, nous devons nous assurer que les bases de données PHP et Oracle ont été installées et que PHP a été configuré pour

Comment utiliser efficacement les pools de connexions aux bases de données PHP et Oracle Comment utiliser efficacement les pools de connexions aux bases de données PHP et Oracle Jul 12, 2023 am 10:07 AM

Comment utiliser efficacement le pool de connexions dans les bases de données PHP et Oracle Introduction : Lors du développement d'applications PHP, l'utilisation d'une base de données est un élément essentiel. Lors de l'interaction avec les bases de données Oracle, l'utilisation de pools de connexions est cruciale pour améliorer les performances et l'efficacité des applications. Cet article explique comment utiliser efficacement le pool de connexions à la base de données Oracle en PHP et fournit des exemples de code correspondants. 1. Le concept et les avantages du pooling de connexions Le pooling de connexions est une technologie de gestion des connexions aux bases de données. Il crée un lot de connexions à l'avance et maintient un lot de connexions.

La base de données Oracle nécessite-t-elle JDK ? La base de données Oracle nécessite-t-elle JDK ? Jun 05, 2023 pm 05:06 PM

La base de données Oracle nécessite JDK. Les raisons sont les suivantes : 1. Lors de l'utilisation de logiciels ou de fonctions spécifiques, d'autres logiciels ou bibliothèques inclus dans le JDK sont requis 2. Java JDK doit être installé pour exécuter des programmes Java dans la base de données Oracle ; fournit Développer et compiler des fonctions d'application Java ; 4. Répondre aux exigences d'Oracle en matière de fonctions Java pour aider à implémenter et à mettre en œuvre des fonctions spécifiques.

Comment utiliser php pour étendre PDO afin de se connecter à la base de données Oracle Comment utiliser php pour étendre PDO afin de se connecter à la base de données Oracle Jul 29, 2023 pm 07:21 PM

Comment utiliser PHP pour étendre PDO afin de se connecter à la base de données Oracle Introduction : PHP est un langage de programmation côté serveur très populaire et Oracle est un système de gestion de base de données relationnelle couramment utilisé. Cet article explique comment utiliser l'extension PHP PDO (PHPDataObjects) pour se connecter à la base de données Oracle. 1. Installez l'extension PDO_OCI. Pour vous connecter à la base de données Oracle, vous devez d'abord installer l'extension PDO_OCI. Voici les étapes pour installer l'extension PDO_OCI : Assurez-vous

Comment Oracle détermine si une table existe dans une procédure stockée Comment Oracle détermine si une table existe dans une procédure stockée Jul 06, 2023 pm 01:20 PM

Étapes d'Oracle pour déterminer si une table existe dans une procédure stockée : 1. Utilisez la table système "user_tables`" pour interroger les informations de la table sous l'utilisateur actuel, comparez le nom de la table entrante "p_table_name" avec le champ "table_name", et si les conditions sont remplies, alors "COUNT(*)" renverra une valeur supérieure à 0 ; 2. Utilisez l'instruction "SET SERVEROUTPUT ON;" et le mot clé "EXEC`" pour exécuter la procédure stockée et transmettre le nom de la table à déterminer si la table existe.

See all articles