Oracle10g管理及应用--第十章审计与优化
- 格式:ppt
- 大小:727.50 KB
- 文档页数:21
Oracle 审计功能(Oracle10g)•1、什么是审计审计(Audit)用于监视用户所执行的数据库操作,审计记录可存在数据字典表(称为审计记录:存储在system表空间中的SYS.AUD$表中,可通过视图dba_audit_trail查看)或操作系统审计记录中(默认位置为$ORACLE_BASE/admin/$ORACLE_SID/adump/).。
默认情况下审计是没有开启的。
当数据库的审计是使能的,在语句执行阶段产生审计记录。
审计记录包含有审计的操作、用户执行的操作、操作的日期和时间等信息。
不管你是否打开数据库的审计功能,以下这些操作系统会强制记录:用管理员权限连接Instance;启动数据库;关闭数据库。
Oracle审计功能审计是对选定的用户动作的监控和记录,通常用于:审查可疑的活动。
例如:数据被非授权用户所删除,此时安全管理员可决定对该数据库的所有连接进行审计,以及对数据库的所有表的成功地或不成功地删除进行审计。
监视和收集关于指定数据库活动的数据。
例如:DBA可收集哪些被修改、执行了多少次逻辑的I/O等统计数据。
ORACLE所允许的审计选择限于下列方面:审计语句的成功执行、不成功执行,或者其两者。
对每一用户会话审计语句执行一次或者对语句每次执行审计一次。
对全部用户或指定用户的活动的审计。
审计相关的表安装SQLPLUS> connect / AS SYSDBASQLPLUS> select * from sys.aud$; --没有记录返回SQLPLUS> select * from dba_audit_trail; - 没有记录返回如果做上述查询的时候发现表不存在,说明审计相关的表还没有安装,需要安装。
SQLPLUS> connect / as sysdbaSQLPLUS> @$ORACLE_HOME/rdbms/admin/cataudit.sql审计表安装在SYSTEM表空间。
例子:Oracle10g审计默认关闭,Oracle11g默认情况是开启的,查看参数,audit_trail=DB,此时只开启系统级别审计权限,包括:登陆、退出、增删改用户等。
查看对象拥有的审计内容,发现没有针对单独用户设置权限设置用户test系统级别审计TEST用户执行SQL:CREATE TABLE ZM123456(ID INT);COMMIT;select * from dba_audit_trail order by EXTENDED_TIMESTAMP desc;Java代码1.2> 权限审计:对某一个系统权限的使用状况进行审计。
这里强调系统权限()。
2. a. 使用audit语句定义权限审计语法如下:3.audit privilege_name [by user_name]| [by session|access] [whenever [not] successful]4.privilege_name: 表示系统权限名称er_name: 表示用户名6.例如:audit create table 可以表示对涉及creat table 权限的操作进行审计。
7.8. b. 使用noaudit语句取消权限审计9.如:noaudit alter table by scott;10.11.查看对哪些用户进行了权限Audit12.select user_name, privilege,success,failure from dba_priv_audit_opts order by user_name;Java代码1.3> 对象Audit:监视所有用户对某一个对象(表,视图...)的访问情况。
对一个特殊模式对象上的DML(Data Manipulation Language)语句进行审计。
记录作用在指定对象上的操作。
2.例如:audit select on scott.dept语句,表示对指定scott用户的dept表,Audit对其进行的select语句。
oracle审计用户oracle审计主要用于记录用户对数据库所做的操作,基于配置的不同,审计的结果会放在操作系统文件中或者系统表中,默认情况下,使用管理员权限连接实例,开启及关闭数据库是会强制进行审计的,其它的基础的操作则没有进行审计,在一些安全性要求比较高的环境是需要做一些审计的配置的,下文简单介绍一下oracle中审计的配置方法,几种审计方法的不同,以及如何对管理员进行审计.一。
oracle中审计的配置:1.审计相关的三个重要参数:a.audit_file_dest:指定审计文件存放的位置:b.audit_trail:指定审计的类型:none:为系统默认值,不进行审计DB:将审计结果放在数据库表中,aud$,通常只记录连接的信息.DB_EXTENDED:将审计结果放在数据库表中,记录具体执行语句OS:将审计结果记录在操作系统文件中,文件位置由audit_file_dest参数指定,(windows系统中将直接在事件查看器的系统日志中记录)XML:将审计结果记录在audit_file_dest指定位置下的XML文件中。
c.audit_sys_operations:是否对sysdba用户做审计,关于sysdba 用户审计的结果,linux存放在audit_file_dest参数指定位置的aud文件中,windows存放在事件查看器的系统日志中2.审计的级别:开启审计后,可在statement语句、privilege权限和object对象级别对数据库进行审计。
a.statement:按语句来审计如audit table xxx;b.privilege:按权限来审计,如audit lect any tablec.object:按对象来审计,如audit all ployees by HR,只会对hr 用户对employees表执行的操作做审计3.审计的其它相关选项:by access 每个被审计的操作都会生成一条记录by ssion 默认值,每个会话里同类型操作只会生成一条audit trailwhenever successful:操作成功才审计whenever not successful:操作不成功才审计4.查询审计结果的视图沈阳成人英语培训浙江大学2023年录取分数线dba_audit_trail:查看所有的普通审计记录kptdba_fga_audit_trail:查看所有细粒度审计记录sys.aud$审计结果实际存放的系统表5.取消审计: noaudit lect any table6.开启审计方法a.查看参数SQL show parameter auditNAME TYPE VALUE-----------------------------------------------------------------------------audit_file_dest string /u01/oracle/product/admin/orcl/adumpaudit_sys_operations boolean FALSEaudit_syslog_level stringaudit_trail string NONEb.设置审计类型并重启数据库SQL alter system t audit_trail = db_extended scope=spfile;existenceSystem altered.c.审计用户对表操作SQL audit table ;音标mp3Audit succeeded.d.切换用户后创建表SQLconnecttest/********.1.12/orclConnected.SQL create table audtest (id int);Table created.e.管理员登录查看审计结果SQLconnectsys/**********.1.12/orclassysdbaConnected.SQL lect urname,sql_text from dba_audit_trail;USERNAME------------------------------SQL_TEXT--------------------------------------------------------------------------------TESTmy hobbiescreate table audtest (id int)f.审计系统管理员操作SQL alter system t audit_sys_operations= true scope=spfile; vrf System altered.SQLconnectsys/**********.1.12/orclassysdbaConnected.SQL create table systest (id int);Table created.SQLconnectsys/**********.1.12/orclassysdba Connected.SQL create table systest (id int);Table created.SQL create table systest1 (id int);Table created.g.查看系统管理员审计结果Audit file /u01/oracle/product/admin/orcl/adump/ora_5895.aud Oracle Databa 10g Enterpri Edition Relea 10.2.0.1.0 - Production 北京西班牙语培训With the Partitioning, OLAP and Data Mining options ORACLE_HOME = /u01/oracle/product/10.2/db1System name: LinuxNode name: oracle1Relea: 2.6.9-55.ELsmpVersion: #1 SMP Fri Apr 20 17:03:35 EDT 2023 Machine: i686Instance name: orclRedo thread mounted by this instance: 1Oracle process number: 20Unix process pid: 5895, image: oracleorcl@oracle1Mon Mar 28 23:03:28 2023ACTION : 'CONNECT'DATABASE USER: 'sys'PRIVILEGE : SYSDBACLIENT USER: AdministratorCLIENT TERMINAL: PC-20230718IUGMSTATUS: 0Mon Mar 28 23:03:42 2023ACTION : 'create table systest (id int)'DATABASE USER: 'sys'PRIVILEGE : SYSDBACLIENT USER: AdministratorCLIENT TERMINAL: PC-20230718IUGMSTATUS: 0Mon Mar 28 23:08:09 2023ACTION : 'create table systest1 (id int)'swift code是什么方式状语DATABASE USER: 'sys'PRIVILEGE : SYSDBACLIENT USER: AdministratorCLIENT TERMINAL: PC-20230718IUGMSTATUS: 0"ora_5895.aud" 38L, 995C。
Oracle10g数据库实验指导书前言ORACLE数据库是属于数据库开发软件及应用领域的专业课,是面向计算机专业本科生开设的一门数据库应用普及型计算机专业课程。
ORACLE数据库是当前应用最为广泛的数据库系统,ORACLE数据库是针对高年级学生的实践性较强的课程。
通过实训,并结合典型系统进行分析,使学生较为系统地掌握ORACLE数据库的基本开发方法,运用数据库设计理论设计出满足一定规范的ORACLE 数据库应用系统。
随着计算机数据库技术的迅速发展和在当今信息社会中的广泛应用,给《ORACLE数据库》课程的教学提出了新的更高的要求。
由于ORACLE数据库是一门实践性较强的技术,课堂教学应该与实践环节紧密结合。
实验要求通过理论学习,能够在ORACLE这个大型的数据库设计实践中,对ORACLE的基本功能有一个初步的了解:通过对SQL*PLUS的简单使用,掌握其基本操作命令和技术;通过PL/SQL编程语言的使用与程序设计的分析,加深学生对SQL*PLUS和PL/SQL技术的理解和掌握,进而为今后再涉及到难度较大的实际应用打下扎实的基础。
总之,通过上述实验环节,使学生加深了解和更好地掌握《ORACLE10g数据库》课程教学大纲要求的内容。
在课程实训过程中,要求学生做到:(1)预习实验指导书有关部分,认真做好实训内容的准备,就实验可能出现的情况提前做出思考和分析。
(2)仔细观察上机操作时出现的各种现象,记录主要情况,作出必要说明和分析。
(3)认真书写实验报告。
实验报告包括实验目的和要求,实验情况及其分析。
对需编程的实验,写出程序设计说明,给出源程序框图和清单。
(4)遵守机房纪律,服从辅导教师指挥,爱护实验设备。
(5)实验课程不迟到。
目录实践1 Oracle10g的安装与配置及常用工具的使用 (1)实践2 创建数据库、表空间和数据文件 (25)实践3 数据库的安全管理 (27)实践4 管理表结构与表数据 (32)实践5 管理索引、视图、同义词和序列 (36)实践6 PL/SQL编程基础 (38)实践7 PL/SQL高级编程 (42)综合实践一Oracle基本知识与SQL*PLUS简单使用 (46)综合实践二PL/SQL编程语言的使用与程序设计 (57)综合实践三(设计性) JSP+Oracle网上购物系统 (68)附录:员工医疗保险系统表 (69)实践1 Oracle10g的安装与配置及常用工具的使用开发语言及实现平台或实验环境Oracle 10g实践目的(1) 掌握Oracle 10g数据库的安装与配置过程。