一.检查活动状态

通过查询基本视图,确认数据库和实例处于正常运行状态,可以对外提供数据服务。

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工具,显示各类告警文件,检查监听器日志,可以诊断监听问题。

二.检查日志信息

日志状态检查检查数据库各类日志信息,确认数据库实例、集群等是否出现错误、告警,如存在问题,则需要进一步分析和应对。

2.1告警日志

$ORACLE_BASE/diag/rdbms/<db_name>/$ORACLE_SID/
trace/alert_$ORACLE_SID.log     
SQL>show parameter background_dump_dest

根据示例找到告警日志,检查实例是否存在 ORA- 错误提示等。

2.2集群日志

11G:

$GRID_HOME/log/<nodename>/alert<nodename>.log
$GRID_HOME/log/<nodename>/(crsd、cssd、evmd、ohasd)/

12C:

$GRID_BASE/diag/crs/dg2/crs/trace/alter||nodename.log
$GRID_HOME/log/<nodename>/(crsd、cssd、evmd、ohasd)/

在相应路径找到RAC集群日志,检查是否存在错误提示信息等。

2.3ASM日志

$GRID_HOME/diag/asm/+asm/<ASM_instance_name>/trace/alert_<instance_name>.log

在相应路径找到ASM日志,检查是否存在错误提示信息等。

2.4Trace文件

SQL>SELECT value FROM v$diag_info WHERE name='Default Trace File';
SQL>show parameter user_dump_dest

获取会话产生或全局转储位置,在诊断时需检查最近日期文件内容。

2.5集群状态

$crsctl status resource -t

确保资源状态显示在线。

2.6 errorstack分析

当遇到 ORA- 错误,而数据库的输出信息不足时,可以采用errorstack进行跟踪,采集更详细的转储信息。

SQL> alter system set events='600 trace name
errorstack forever, level 10';
SQL>alter system set events='600 trace name
errorstack off';

示例显示了对ORA-600错误设置跟踪,并关闭。

三.重做日志维护

Oracle REDO日志是数据库的核心组件,检查其状态,维护其成员,监控其归档,审核其性能,是DBA的重要工作。

3.1REDO组

SELECT group#,sequence#,archived,status FROM v$log;

查询日志组号、序号,是否归档完成和状态信息,如多组日志显示ACTIVE状态,则可能说明数据库存在IO方面的性能问题。

3.2REDO成员

SELECT group#,member FROM v$logfile;

查看日志组和成员信息。

3.3增加日志组或成员

SQL>ALTER DATABASE ADD LOGFILE GROUP 10
('/oracle/dbs/log1c.rdo','/oracle/dbs/log2c.rdo') SIZE 500M;
SQL>ALTER DATABASE ADD LOGFILE MEMBER
'/oracle/dbs/log3c.rdo'TO GROUP 10;

在日志切换频繁时,可能需要增加日志组或者加大日志大小。

3.4切换日志

SQL>ALTER SYSTEM SWITCH LOGFILE;

切换日志组,开始写入下一个日志组。

3.5执行归档

SQL>ALTER SYSTEM ARCHIVE LOG CURRENT;

对当前日志组执行归档,切换到下一个日志组,

在RAC会对所有实例执行归档,Thread参数指定归档实例。

3.6删除日志组或成员

SQL>ALTER DATABASE DROP LOGFILE GROUP 10;
SQL>ALTER DATABASE DROP LOGFILE MEMBER '/oracle/dbs/redo03.log';

删除指定日志组或日志成员,注意只能对INACTIVE状态的日志执行删除操作。

3.7归档检查

SQL>archive log list;

检查数据库是否处于归档模式。

3.8归档状态变更

SQL>alter database archivelog | noarchivelog;

示例步骤在MOUNT状态改变归档模式,注意启动归档模式之后

务必制订备份归档的日常策略,防止磁盘空间被耗尽。

3.9调整归档路径

SQL>alter system set log_archive_dest_2='location=&path' sid='&sid';

如果数据库因归档耗尽空间,可以指定另外的归档路径,以尽快归档日志,恢复数据库运行。

四.检查空间信息

确保数据存储空间可用,定期检查表空间余量,进行表空间和文件维护。

4.1 空间使用查询

SQL> SELECT * FROM sys.sm$ts_used;

查看数据库表空间的使用信息。

SQL> SELECT * FROM sys.sm$ts_free;

查看数据库表空间的剩余空间。

4.2 文件信息

SELECT tablespace_name,file_name FROM dba_data_files;

查看数据库表空间的数据文件信息。

4.3 文件维护

alter database datafile '&path' resize 900M;
alter tablespace &tbs_name add datafile '&path' size 900M;

对数据库的表空间容量进行扩容。

五.锁/闩信息检查

Lock/Latch是数据库控制并发的核心手段,检查相关信息可以监控数据库的事务和运行状况。

5.1锁信息

SQL>SELECT sid, type, lmode, ctime, block FROMv$lock WHERE type not in ('MR','AE');

查看锁会话ID,类型,持有时间等,

注意如果block >1,可能意味着阻塞了其他会话。

5.2锁故障排查

在数据库出现锁竞争和阻塞时,需要排查和处理锁定,必要时通过Kill阻塞进程消除锁定。

5.2.1查询阻塞会话

SQL>SELECT sid,sql_id,status,blocking_session FROMv$session WHERE sid in(SELECT session_id FROM v$locked_object);

查询当前锁事物中阻塞会话与被阻塞会话的sid,sql_id和状态信息

5.2.2阻塞SQL文本

SQL> SELECT sql_id,sql_text FROMv$sqltext WHERE sql_id='&sql_id' ORDER BY piece;

通过sql_id查询得到SQL文本,例如通过sql_id查询出阻塞的SQL语句。

5.2.3锁阻塞对象信息

SQL>SELECT owner,object_name,object_type FROM dba_objects
WHEREobject_id in (SELECT object_id FROM v$locked_object);

通过sid查询阻塞对象的详细信息如对象名称,所属用户等

5.2.4杀阻塞会话

SQL>altersystem kill session 'sid,serial#';

在Oracle实例内杀死阻塞的会话进程,其中sid,serial# 为中止会话对应信息,来自v$session。

5.2.5杀系统进程

SQL>SELECTpro.spid,pro.program
FROMv$session ses,v$process pro
WHEREses.sid=&sid and ses.paddr=pro.addr;
#kill -9 spid

有时对于活动进程,在系统层面中止更为快速安全,示例找到系统进程号,然后kill中止。

注意:无论何时,需要认真分析,并且避免误杀重要后台进程。

5.3闩检查

SELECTname,gets,misses,immediate_gets,spin_gets
FROMv$latch ORDER BY 2;

检查数据库闩的使用情况,misses、SPIN_GETS统计高的,需要关注。

5.3.1 闩使用检查

SQL>SELECT addr,gets FROM v$latch_children
WHEREname='cache buffers chains';
SQL>SELECT hladdr,file#,dbablk FROM x$bh
WHEREhladdr in (SELECT addr FROM v$latch_children WHERE addr='&addr');

仅供学习:通过获得Latch的地址,找到该Latch守护的X$BH中相关的Buffer。

六.等待和统计数据

Wait和Statistics数据分别代表了数据库的等待和运行数据,观察这些数据以了解数据库的等待瓶颈和健康程度。

6.1等待事件查询

SELECT sid,event,wait_time_micro
FROM v$session_wait ORDER BY 3;

通过等待事件和等待时间,了解数据库当前连接会话的等待情况。

注意,如果会话众多,需要限定查询输出行数。

6.2TOP10等待事件

SQL> SELECT * FROM (
SELECTEVENT,TOTAL_WAITS,AVERAGE_WAIT,TIME_WAITED
FROM v$system_event WHEREwait_class<>'Idle'
ORDER BY time_waited desc)  WHERE rownum<=10;

查看当前数据中TOP10等待事件信息,需要分析和关注非空闲的显著等待。

6.3会话统计数据

SQL>SELECT s.sid,s.statistic#,n.name,s.value
FROM v$sesstat s,v$statname n
WHERE s.statistic#=n.statistic# andn.name='redo size' and sid='&sid';

查询数据库会话的统计信息数据,示例查询了Redo的大小,SID需要提供。

6.4系统级统计数据

SQL>SELECT * FROM v$sysstat WHERE name='redo size';

查询整个系统的统计数据,示例显示数据库实例启动以来的REDO日志生成量。

七.检查对象

表、索引、分区、约束等是数据库的核心存储对象,其核心信息和对象维护是DBA重要的日常工作。

7.1表信息数据

SQL>SELECT * FROM (
SELECTowner,table_name,num_rows
FROMdba_tables ORDER BY num_rows desc nulls last )
WHERErownum < 11;

查看表的基本信息数据:属主,表名,记录行数等。

7.2表结构查询

SQL> set long 12000
SQL> SELECTdbms_metadata.get_ddl('TABLE','&table_name','&user')
FROM dual;

根据提供的表名和用户(需大写),查询表的表结构信息(建表语句)。

7.3表统计信息

SQL>SELECT owner,table_name,last_analyzed FROM dba_tab_statistics
WHEREowner='&owner' and table_name='&table_name';

查询给定用户、给定表(需大写),查询最后的统计信息分析收集时间。统计信息影响执行计划,当SQL执行异常时,需要重点分析统计信息。

7.4表统计信息收集

SQL>exec dbms_stats.gather_table_stats(ownname=>'&owner',
tabname=>'&table_name');

收集统计信息是一项复杂任务,需要详细设计,示例对给出用户、表名的对象采集统计信息。

7.5索引信息数据

SQL>SELECT * FROM (
SELECTindex_name,table_name,num_rows,leaf_blocks,clustering_factor
FROMdba_indexes ORDER BY 5 desc nulls last)
WHERErownum<11;

查询索引的基本信息,示例输出包括叶块数和聚簇因子等,如聚簇因子过高接近行数可能代表索引效率不高。

7.6索引定义查询

SQL>set long 12000
SQL>SELECT dbms_metadata.get_ddl('INDEX','&table_name','&user')
FROM dual;

根据提供的表名和用户名,查询索引的建立语句。

7.7索引统计信息及收集方法

SQL>SELECT owner,index_name,last_analyzed FROM dba_ind_statistics
WHEREowner='&owner' and table_name='&table_name';

根据给定的用户名,表名称(需大写),查询索引信息,尤其应关注最后分析时间。

SQL>exec dbms_stats.gather_index_stats(ownname=>'&owner',
indname=>'&index_name');

收集统计信息是一项复杂任务,示例对给出用户、索引名的对象采集统计信息。

7.8分区对象检查

SQL>SELECT table_name,partitioning_type,partition_count,status
FROM dba_part_tables;
SQL>SELECT table_name,partition_name,high_value
FROM dba_tab_partitions WHERE rownum<11;

查看分区表的基本信息:分区类型,数量,边界值等。

7.9分区定义查询

SQL> SELECTdbms_metadata.get_ddl('TABLE',
'&part_table_name','user')FROM dual;

根据给定的分区表名、用户(需大写),查询分区表的结构信息(建表语句)。

7.10分区统计信息相关

SQL>SELECT owner,table_name,partition_name,last_analyzed
FROMdba_tab_statistics
WHERE owner='&owner' andtable_name='&table_name';
SQL>exec dbms_stats.gather_table_stats(ownname=>'&owner',
tabname=>'&table_name');

查看分区表的统计信息收集时间,以及对分区表进行手工收集统计信息,注意分区表统计信息收集非常复杂,需要深入研究做出正确策略,示例仅提供最简单的采集命令。

7.11 约束信息

SQL>SELECTconstraint_name,constraint_type FROM DBA_CONSTRAINTS
WHEREtable_name='&table_name';

查询指定数据表的约束信息,包括名称和类型。

7.12失效对象检查

SQL>SELECT owner,object_name,object_type,status
FROMdba_objects WHERE status <>'VALID'
ORDERBY owner,object_name;

检查数据库中的失效对象信息,通常运行健康的数据库中不应有失效的对象。

7.13闪回查询

闪回查询功能对于恢复DML及部分DDL误操作非常便利,DBA必备技能。

7.13.1时间闪回

SQL>SELECT * FROM &table_name as of timestamp
to_timestamp('2015-02-0400:02:09','yyyy-mm-dd hh24:mi:ss');

闪回表数据,基于时间点的表数据闪回查询。

7.13.2 SCN闪回

SQL>SELECT * FROM &table_name as of scn &scn;

闪回表数据,基于scn的表数据查询,需要提供SCN,如果不明确SCN,可以通过时间点闪回查询。

7.13.3 闪回DROP

SQL>flashback table &old_table to before drop rename to &new_table;

闪回删除操作,对已经删除的表进行闪回回复并重命名。

八.检查AWR报告

通过AWR报告了解日常高峰时段数据库各项指标和运行状况,通过对比报告观察和基线的变化,通过趋势分析持续关注数据库日常运行状态。

8.1本地AWR

SQL>@?/rdbms/admin/awrrpt

生成本地AWR报告信息,需要根据提示输入相应的信息。

8.2指定实例AWR

SQL>@?/rdbms/admin/awrrpti

生成指定实例AWR报告

8.3AWR对比报告

SQL>@?/rdbms/admin/awrddrpt

生成本地AWR时间段对比报告

8.4指定实例对比

SQL>@?/rdbms/admin/awrddrpi

生成指定实例AWR时间段对比报告

8.5AWR信息提取

SQL>@?/rdbms/admin/awrextr

使用awrextr脚本将AWR性能数据导出,可以用于留错或者异地分析。

8.6AWR信息加载

SQL>@?/rdbms/admin/awrload

通过awrload,可以将导出的AWR性能数据导入到其他数据库中,便于集中和分析。

九.检查SQL报告

对TOP SQL进行持续关注和分析,通过SQL报告分析SQL的效率、性能,并做出报告和优化建议等。

9.1 本地SQLReport

SQL> @?/rdbms/admin/awrsqrpt

生成本地SQLReport报告

9.2 指定实例SQLReport

SQL>@?/rdbms/admin/awrsqrpi

生成指定实例SQLRerport报告

9.3 当前会话SQL Monitor Report

SELECT
dbms_sqltune.report_sql_monitor(session_id=> '&sid', 
report_level=> 'ALL', TYPE=> '&type') as report
FROM dual;

生成当前会话的SQL Monitor Report

9.4 指定SQLID SQL Monitor Report

SELECT
dbms_sqltune.report_sql_monitor(sql_id=> '&sql_id', 
report_level=> 'ALL', TYPE=> '&type') as report FROM dual;

生成指定SQL_ID的SQL Monitor Report

9.5 Explain SQL执行计划

explain plan for
SELECT count(*) FROM user_objects;
SELECT * FROM table(dbms_xplan.display);

示例通过explain plan for方法获取SQL执行计划

9.6 Autotrace SQL执行计划

SQL>set autotrace traceonly explain;
SQL>SELECT count(*) FROM user_objects;
SQL>set autotrace off;

通过SQL*Plus的 autotrace 功能获取SQL执行计划。

9.7 DBMS_XPLAN SQL执行计划

SQL> SELECT * FROM                     
table(dbms_xplan.display_cursor('&sql_id',null,'advanced');

通过DBMS_XPLAN包获取SQL执行计划,sql_id 需要提供。

9.8 10053事件跟踪

SQL>alter session set tracefile_identifier='10053';
SQL> alter session set events '10053 trace name context forever ,level 1';
SQL> <execute sql statements>
 SQL> alter session  set events '10053 trace name context off';

通过10053事件来查看执行计划和详细的SQL解析过程,trace文件提供了Oracle如何选择执行计划的原因。

9.9 绑定变量

SELECT
dbms_sqltune.extract_bind(bind_data, 1).value_string
FROM wrh$_sqlstat WHERE sql_id ='&sql_id';
 
SELECT snap_id,name,position,value_string
FROM dba_hist_sqlbind WHERE sql_id= '&sql_id';

查询SQL语句的绑定变量以及历史绑定变量值信息,需要给定SQL_ID信息。

十.检查定时任务

检查数据库定时任务执行情况,确保后台任务正确执行,尤其应关注统计信息收集等核心任务。

10.1用户定时任务

SQL> SELECTjob,log_user,last_date,next_date,interval,broken,failures
FROM dba_jobs;

查询用户的定时任务(job)信息,确保任务在期望的时间成功执行,这是DBA的重要工作之一。

10.2系统定时任务

SQL> SELECTjob_name,start_date,repeat_interval
FROM dba_scheduler_jobs

查询系统定时调度信息,查询显示了任务名称、初始启动日期以及重复间隔。

10.3系统定时任务-11g

SQL> SELECTclient_name,mean_job_duration
FROM dba_autotask_client;

11g之后增加的字典表,记录每个在7天和30天维护任务的统计信息,查询显示名称和平均执行时间。

10.4启停统计信息任务-10g

SQL>execdbms_scheduler.disable('SYS.GATHER_STATS_JOB');
SQL>execdbms_scheduler.enable('SYS.GATHER_STATS_JOB');

关闭和开启oralce 10g 统计信息自动采集任务

10.5启停统计信息任务-11g

SQL> exec DBMS_AUTO_TASK_ADMIN.DISABLE(client_name=> 'auto
optimizerstats collection', operation => NULL, window_name => NULL);
SQL> execDBMS_AUTO_TASK_ADMIN.ENABLE(client_name => 'auto
optimizer stats collection', operation=> NULL, window_name => NULL);

关闭和开启Oralce 11g 统计信息自动采集任务

十一.备份

数据备份重于一切,日常应检查备份执行情况,并检查备份的有效性,确保备份能够保障数据安全,备份安全加密也应兼顾。

11.1全库exp/imp

$ exp system/managerfile=/full.dmp log=/full.log full=y
$ imp system/managerfile=/full.dmp log=/full.log full=y

将数据库全库导出导入(示例以及以下示例显示的是非Windows环境),

通过提供的用户,执行全库导出。需要注意存储位置和空间。

11.2用户模式exp/imp

$exp enmo/enmo file=/enmo.dmp log=/enmo.log owner=enmo
$imp enmo/enmo file=/enmo.dmp log=/enmo.log fromuser=enmo
touser=enmo

将数据库按指定用户导出

11.3表模式exp/imp

$ exp enmo/enmo file=/tables.dmplog=/tables.log tables=table_name
$ imp enmo/enmo file=/tables.dmplog=/tables.log tables=table_name

将数据库按指定表导出

11.4全库模式expdp/impdp

$ expdp system/managerdirectory=svr_dir dumpfile=full.dmp full=y;
$ impdb system/managerdirectory=svr_dir dumpfile=full.dmp full=y;

将数据库全库导出导入, 注意directory是数据库中创建的对象,指定服务器上的存储位置。

11.5用户模式-expdp/impdp

$ expdp system/manager directory=svr_dirschemas=scott
dumpfile=expdp.dmp ;
$ impdp system/managerdirectory=svr_dir schemas=scott
dumpfile=expdp.dmpremap_schema=scott:enmo
remap_tablespace=users:testtbs;

将数据库进行按用户导出和导入示例,impdp示例中,分别重新映射了导入的Schema和表空间。

11.6表模式-expdp/impdp

$ expdp scott/tiger directory=svr_dirtables=emp,dept
dumpfile=tables.dmp;
$ impdp scott/tigerdirectory=svr_dir dumpfile=tables.dmp
tables=emp,dept;

将数据库进行按表导出和导入

11.7物理备份检查

SQL> SELECTbackup_type,start_time,completion_time,block_size
FROM v$backup_set;

检查备份集信息,确保备份有效和及时是DBA的重要工作之一。RMAN的备份信息记录在控制文件中。

11.8自动控制文件备份

RMAN> show all;
RMAN> CONFIGURE CONTROLFILEAUTOBACKUP ON;

控制文件对数据库十分重要,建议启动控制文件的自动备份,示范显示的是通过RMAN的设置。

11.9手动控制文件备份

RMAN> backup currentcontrolfile;
SQL> alter database backupcontrolfile to '/back/control.bak';

通过RMAN或者SQL命令手动备份控制文件,备份的是控制文件的二进制拷贝。

11.10转储控制文件

SQL> alter session set events'immediate trace name controlf level 8';

通过以上命令转储控制文件二进制信息到文本,研究这些信息,可以极大加深对于数据库的了解。

SQL> alter database backupcontrolfile to trace;

通过SQL命令转储控制文件到文本,可以用于重建控制文件。

11.11RMAN备份数据库

RMAN> backup format'/data/backup/%U' database plus archivelog;

对于DBA备份是第一重要的工作,在归档模式下,

执行全库备份可以简化为示例的一个命令(需要根据容量进行分片)。

十二.检查基本信息

基本信息包括版本、组件、补丁集等信息,定期检查数据库信息并登记在案是数据库生命周期管理的重要内容之一。

12.1版本检查

SQL> SELECT * FROM v$version;

查看数据库的版本信息

12.2组件检查

SQL> SELECT * FROM v$option;

查看数据库的组件信息

12.3容量检查

# asmcmd
ASMCMD>lsdg
 
SELECT group_number,disk_number,
mount_status,total_mb,free_mb
FROM v$asm_disk;
 
SELECT group_number,name,state,total_mb,free_mb
FROM v$asm_diskgroup;

如果使用了ASM管理,可以通过示例查看ASM磁盘及磁盘组容量等信息。

12.4PSU检查

SQL> SELECT * FROM dba_registry_history;

查询数据库的版本升级历史信息。

  # $ORACLE_HOME/OPatch/opatchlsinventory

查询数据库补丁历史信息,是系统级的命令工具。

十三.一切处理好了,安心下班。

GO HOME!

最后一句:“多多锻炼,身体和家庭是最重要的!”

转:http://www.cndba.cn/account/article/details/116

DBA一天干的活的更多相关文章

  1. kindle书摘-活着-余华-活着不易,珍惜

     https://github.com/starrtc/android-demo 中文版自序 标注(黄色) - 位置 29 作家的使命不是发泄,不是控诉或者揭露,他应该向人们展示高尚.这里所说的高尚不 ...

  2. python supervisor使用

    Supervisor 是基于 Python 的进程管理工具,只能运行在 Unix-Like 的系统上,也就是无法运行在 Windows 上.Supervisor 官方版目前只能运行在 Python 2 ...

  3. supervisor-1:基础篇

    别人博客转载,做个记录 原文链接:http://lixcto.blog.51cto.com/4834175/1539136 有阵子没写博客了,这段时间一直在研究python django框架和前端相关 ...

  4. supervisord 小记

    此篇仅用作supervisord的用法,不涉及理论说明和基础介绍 supervisor(一)基础篇 使用supervisord来管理process 进程的守护神 - Supervisor superv ...

  5. supervisor(一)基础篇

    这两天干的活,是让楼主写一个supervisor的listener,用来监控supervisor所管理子进程的状态,当子进程异常退出时,楼主写的这个listener将会触发报警.在这里总结下super ...

  6. RMAN命令

    一.启动.关闭数据库 在RMAN中执行关闭和启动数据库的命令与SQL环境下一模一样.当然,在执行之前,你需要先连接到目标数据库,如例: C:\Documents and Settings\Admini ...

  7. supervisor配置文件详解

    介绍 Supervisor是一个进程控制系统. 它是一个C/S系统(注意: 其提供WEB接口给用户查询和控制), 它允许用户去监控和控制在类UNIX系统的进程. 它的目标与launchd, daemo ...

  8. supervisor配置详解(转)

    有阵子没写博客了,这段时间一直在研究python django框架和前端相关的东西.楼主学通信的,对web这一块啥也不懂,学了一个礼拜django,接着学了2个礼拜前端,感觉还是做不出来一个好看的页面 ...

  9. Supervisor (进程管理利器) 使用说明 - 运维笔记

    一.Supervisor简单介绍supervisor是一个 Client/Server模式的系统,允许用户在类unix操作系统上监视和控制多个进程,或者可以说是多个程序.supervisor与laun ...

随机推荐

  1. Fiddler手机抓包工具如何设置过滤域名?

    fiddler手机抓包工具如何设置过滤域名?如题.fiddler抓包可以完成我们移动开发者的调试测试需求.所以说抓包尤其重要,但是多余的网页请求和手机的其他链接影响我们手机开发的需求.下面我教大家怎么 ...

  2. Android Non-UI to UI Thread Communications(Part 1 of 5)

    original:http://www.intertech.com/Blog/android-non-ui-to-ui-thread-communications-part-1-of-5/ ANDRO ...

  3. C++ 数组参数

    在C++中数组不是按值传递的,传递的是第1个元素,即第0个元素的指针. 1.数组长度不是参数类型的一部分,函数不知道传递给它的数组的实际长度,因此当编译器对实参类型进行参数类型检查时,并不检查数组的长 ...

  4. lintcode:完美平方

    题目 给一个正整数 n, 找到若干个完全平方数(比如1, 4, 9, ... )使得他们的和等于 n.你需要让平方数的个数最少. 样例 给出 n = 12, 返回 3 因为 12 = 4 + 4 + ...

  5. 批处理命令 - for

    0.功能 Runs a specified command for each file in a set of files.对一组文件中的每一个文件执行某个特定命令. ---------------- ...

  6. 查看程序是否启动或者关闭--比如查看Tomcat是否开启!直接用ps命令查看进程就行了啊

    1.查看程序是否启动或者关闭--比如查看Tomcat是否开启!直接用ps命令查看进程就行了啊 2.Tomcat服务器和虚拟机的关系,Tomcat启动运行过程要调用系统环境变量的java_home啊,J ...

  7. Qt 显示图片 放大 缩小 移动(都是QT直接提供的功能)

    本文章原创于www.yafeilinux.com 转载请注明出处. 现在我们来实现在窗口上显示图片,并学习怎样将图片进行平移,缩放,旋转和扭曲.这里我们是利用QPixmap类来实现图片显示的. 一.利 ...

  8. VC高手们的博客

    http://www.cnblogs.com/killmyday/tag/Debug/ (关于符号调试等内容比较多)

  9. Linear Regression

    大学时候学物理实验的时候接触过线性回归,现在忘记了...还得重新拾起来.学习不扎实耽误了多少时光... sigh Suppose that you time a program as a functi ...

  10. jsp页面变量作用域问题

    想实现一个注销的功能,在页面上有个注销按钮,我想一点它就注销,用了js给按钮加了onclick代码,如下 <%      session = request.getSession(true); ...