Oracle11g DB checklist

此检查项适用于Oracle 11g,由于不明白csdn表格编辑方法,检查结果就不展示了。

NO 检查项 步骤 cmd 结果
1 检查组件 select comp_id,comp_name,status from dba_registry
2 检查数据库的名称 select name from v$database SID
3 检查数据库的版本 select * from v$version
4 检查字符集 select parameter,value from v$nls_parameters where parameter in (‘NLS_CHARACTERSET’)
5 检查数据库flashback是否关闭 select flashback_on from v$database
6 检查AWR报告保留的时间和采样频率 select snap_interval, retention from dba_hist_wr_control
7 检查SMB保留的空间占比 select parameter_name,parameter_value from dba_sql_management_config
8 检查archive mode select parameter_name,parameter_value from dba_sql_management_config
9 检查数据库的force logging已经打开 select force_logging from v$database
10 检查数据库redo log大小设置 select max(bytes/1024/1024),min(bytes/1024/1024),avg(bytes/1024/1024),count(*),thread# from v$log group by thread#
11 检查归档参数 select name, display_value, isdefault from v$parameter where name in (‘archive_lag_target’, ‘log_archive_max_processes’, ‘log_archive_local_first’, ‘log_archive_format’, ‘log_checkpoints_to_alert’)
12 fra大小检查 select name, display_value, isdefault from v$parameter where name in (‘db_recovery_file_dest_size’)
13 检查内存参数 select name, display_value, isdefault from v$parameter where name in (‘shared_pool_size’, ‘shared_pool_reserved_size’, ‘large_pool_size’, ‘java_pool_size’, ‘db_cache_size’,’pga_aggregate_target’, ‘sga_max_size’, ‘streams_pool_size’, ‘memory_target’, ‘memory_max_target’, ‘sga_target’,’log_buffer’)
14 检查undo参数 select name, display_value, isdefault from v$parameter where name in (‘undo_retention’, ‘undo_management’, ‘undo_tablespace’)
15 检查optimize参数 select name, display_value, isdefault from v$parameter where name in (‘optimizer_secure_view_merging’, ‘parallel_automatic_tuning’, ‘optimizer_capture_sql_plan_baselines’,’parallel_execution_message_size’, ‘parallel_min_servers’,’parallel_max_servers’, ‘parallel_degree_policy’,’optimizer_adaptive_features’,’optimizer_adaptive_reporting_only’)
16 检查资源参数 select name, display_value, isdefault from v$parameter where name in (‘aq_tm_processes’, ‘db_block_size’,’db_files’,’fast_start_mttr_target’,’job_queue_processes’, ‘open_cursors’, ‘processes’, ‘session_cached_cursors’, ‘resource_limit’,’db_writer_processes’)
17 检查安全参数 select name, display_value, isdefault from v$parameter where name in (‘sec_case_sensitive_logon’, ‘remote_login_passwordfile’)
18 检查其他参数 select name, display_value, isdefault from v$parameter where name in (‘audit_trail’, ‘filesystemio_options’, ‘recyclebin’, ‘local_listener’, ‘cell_offload_processing’,’deferred_segment_creation’,’audit_sys_operations’)
19 检查db_securefile参数设置 select display_value from v$parameter where name = ‘db_securefile’
20 检查隐含参数设置 select name, display_value, isdefault from v$parameter where name in (‘_use_adaptive_log_file_sync’)
21 检查初始化用户审计设置 select user_name,count(*) from dba_stmt_audit_opts where user_name in (‘DBMGR’,’OVSEE’,’DBMONOPR’) group by user_name order by user_name;
22 检查锁定数据库sys、system用户和expire不用的用户 select username,account_status from dba_users where username in (‘ORACLE_OCM’,’DIP’,’WMSYS’,’DBSNMP’,’EXFSYS’,’APPQOSSYS’,’SYSTEM’,’SYS’,’OUTLN’)
23 检查密码函数 select owner,object_name,object_type,status from dba_objects where object_name=’CRBANK_PW_VERIFY_FUNCTION’
24 检查default profile的密码过期策略 select * from dba_profiles where profile=’DEFAULT’
25 检查CRBANK_PW_PROFILE select * from dba_profiles where profile=’CRBANK_PW_PROFILE’
26 检查所有表空间 select tablespace_name, bigfile from dba_tablespaces
27 检查表空间是否为自动扩展 select tablespace_name, autoextensible from dba_data_files where tablespace_name <> ‘UNDOTBS1’
28 检查数据库的default空间 select property_name,property_value from database_properties where property_name = ‘DEFAULT_PERMANENT_TABLESPACE’
29 检查Audit及FGA_LOG$表空间是否迁移 select owner,segment_name,segment_type,tablespace_name from dba_segments where segment_name in (‘AUD$,’I_AUD1’, ‘FGA_LOG$’)
30 检查auto optimizer stats collection select client_name,status from dba_autotask_client where client_name = ‘auto optimizer stats collection’
31 检查AUTOSTATS_TARGET select dbms_stats.get_prefs(‘AUTOSTATS_TARGET’) FROM DUAL
32 检查默认的CBO直方图策略 select dbms_stats.get_prefs(‘METHOD_OPT’) from dual
33 检查默认的CBO分区收集策略 select dbms_stats.get_prefs(‘GRANULARITY’) from dual
34 检查数据库PUBLISH CBO策略 select dbms_stats.get_prefs(‘PUBLISH’) from dual
35 检查STATS_HISTORY_RETENTION select DBMS_STATS.GET_STATS_HISTORY_RETENTION from dual
36 检查统计信息自动收集job select job_name, enabled from dba_scheduler_jobs where job_name=’BSLN_MAINTAIN_STATS_JOB’
37 检查dictionary的统计信息收集 select operation,start_time,end_time from dba_optstat_operations where operation in (‘gather_dictionary_stats’) and target is null
38 auto space advisor和sql tuning advisor这两个自动任务是否被取消 select client_name,status from dba_autotask_client
39 禁止AMM,ASMM特性 在大型系统中,ASMM,AMM使用的很少,大部分还是手动来管理内存,分配标准根据系统负荷。禁止掉memory_max_target,sga_max_size和sga_target。使用AMM或ASMM的情况下,首先确保系统负荷不大,如果系统负荷比较大,系统内存不充裕的情况下,建议禁止掉此项功能,可能会导致ORA-04031错误,很大一部分原因就是采用内存自动管理功能,数据库自动分配各个组件的内存,如果系统SQL很糟糕,会导致大量的硬解析产生大量的执行计划,sharedpool会增长很快,由于事自动管理的,所以系统绝大部分内存都分配给了sharedpool,其他组件所分配到的内存就很少了,所以就会出现sharedpool占用很大的内存,dbbuffercache内存很小,根据oracle特性我们知道这个时候的数据库肯定会出问题,要么数据库很慢,要么干脆就停止服务。
40 禁止表空间自动扩展特性 在大型系统中,表空间(系统表空间除外)自动扩展使用的也很少,很大一个原因是太浪费空间了。在oracle数据库中,单个文件的大小跟创建表空间的blocksize大小有关,一般的oltp系统都是使用8k来创建的,那么单个数据文件上限是32G。达到上限就需要dba手工扩展表空间上限,一般都是通过增加数据文件来实现。undo表空间也禁止掉自动扩展功能。
41 OEM 在企业中,OEM是禁用的。别问我理由是什么,因为理由太奇葩。
42 归档设置 在一些大的交易系统中,归档路径绝大多数设置到fra闪回恢复区中,使用fra一个好处是可以控制大小,第二个是fra空间每到80%空间的时候会在告警日志提醒,90%的时候会自动清理fra里面过期废弃的归档日志,当然这个阈值是可以调整的。
43 监听端口 在企业中,监听端口一般都不是默认的1521端口,这样设置也是为了增加系统的安全性
44 监听设置 在企业中,默认的监听一般都会被禁止掉,这样设置也是为了增加系统的安全性
45 静态注册 一般都推荐使用静态注册,在系统中设置local_listener来静态注册。
46 用户设置 在大企业中,并不会使用oracle安装数据库软件,也不会使用grid安装集群软件,我猜测也是为了安全考虑吧,毕竟通用标准也是一个‘后门’。
47 路径设置 上面一条已经说过了,通用标准也是一个‘后门’,所以安装数据库路径建议不要使用/u01/app这样的路径,根据自己需要规划自己的分区安装数据库软件。
48 用户权限分配 在数据库分配权限的时候一定要坚持应用访问和管理分开的原则,应用使用一套用户,管理使用一套用户,权限区别分配。对于应用访问权限,尽量不要分配dml操作权限,对于查询权限也要逐个对象授权,避免select any类似的权限授予。管理可以开放dml权限,但是此管理非dba权限,只能操作数据库对象级别,例如创建表,视图,触发器,索引,函数,包,job和数据库初始化功能等。
49 审计 对于数据库的管理权限和应用访问权限分别建立db级别的审计策略
50 用户 数据库系统出了sys用户之外,其他的用户一律锁定。

猜你喜欢

转载自blog.csdn.net/a743044559/article/details/80816900