一句话太少
分类: Oracle
2015-07-16 14:12:58
通过查询基本视图,确认数据库和实例处于正常运行状态,可以对外提供数据服务。
1.1实例状态
SELECT instance_name,status FROM v$instance;
查询返回实例名称、状态,正常状态应为Open。
1.2会话信息
SELECT
SESSIONS_CURRENT,SESSIONS_HIGHWATER FROM v$license;
辅助查询,实例当前会话数和启动最高连接会话数量。
SELECT inst_id,username,COUNT(*)
FROM gv$session GROUP BYinst_id,username;
查询数据库连接数以实例和用户分组。
1.3参数检查
SELECT value FROM v$parameter
WHERE name='open_cursors';
查询给定参数的设置值,示例参数缺省值为300,通常中等规模数据库推荐设置为1000。
1.4参数修改
ALTER SYSTEM SET undo_retention=3600 COMMENT='default 900' SID='*' SCOPE=both;
修改给定的初始化参数,RAC环境需要注意SID参数。
参考:
1.5隐含参数
ALTER SYSTEM SET "_optimizer_use_feedback"=FALSE SCOPE=spfile;
为了解决特殊问题,有时需要设置以下划线开头的隐含参数。示例关闭了11.2版本中引入的Cardinality Feedback - 基数反馈特性。
1.6实例异常
当连接数据库实例出现缓慢、挂起等现象,需要进行诊断和分析,甚至可能需要重新启动数据库实例。
1.6.1信息采集
SQL>sqlplus -prelim / as sysdba
SQL>oradebug setmypid
SQL>oradebug unlimit
SQL>oradebug hanganalyze 3
SQL>oradebug dump systemstate 266
<间隔一定时间,如20秒,执行下一次数据采样. >
SQL>oradebug hanganalyze 3
SQL>oradebug dump systemstate 266
示范命令,通过采集系统的Hang信息、系统状态信息等,可以分析系统挂起的原因,间隔采样,可以用于对比变化,辅助分析。
1.6.2 跟踪
SQL>alter session set events '10046 trace name context forever,level 12';
SQL>shutdown immedaite;
SQL>startup mount;
SQL>alter session set events '10046 trace name context forever,level 12';
SQL>alter database open;
如果在数据库关闭、启动时遇到阻塞、挂起等,可以通过示范命令进行跟踪,获取跟踪文件进行分析。
1.6.3 安全停库
SQL>alter system checkpoint;
SQL>alter system archive log current;
SQL>shutdown immediate;
如果数据库出现异常需要重新启动,可以通过示范命令执行检查点、归档命令,然后尝试以立即方式关闭数据库。
1.6.4 强制停库
SQL>shutdown abort;
SQL>startup nomount;
SQL>alter database mount;
SQL>alter database open;
如果立即方式不能顺利关闭数据库,强制的关闭方式为abort。示范命令可以通过分步骤的方式执行数据库启动。
1.7连接异常
当连接数据库出现异常,需要检测包括网络连通性,监听器状态等信息。
1.7.1连通性
tnsping tns_name
在安装具有Oracle客户端的环境,可以通过tnsping工具测试配置的服务名称,观察网络是否连通以及响应时间。
1.7.2监听器
lsnrctl status LISTENER
lsnrctl status LISTENER_SCAN1
lsnrctl service
在数据库服务器上,可以通过lsnrctl工具检查监听状态和服务信息,具体的监听服务名称可以在最后定义修改。
1.7.3监听日志检查
adrci>showalert
在服务器上,可以通过adrci工具,显示各类告警文件,检查监听器日志,可以诊断监听问题。