<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>wd and cc &#187; job</title>
	<atom:link href="http://wdicc.com/tag/job/feed/" rel="self" type="application/rss+xml" />
	<link>http://wdicc.com</link>
	<description>Happy every day...</description>
	<lastBuildDate>Wed, 01 Feb 2012 03:27:00 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>使用 org-mode 来做自己的 job tracker</title>
		<link>http://wdicc.com/use-org-mode-as-a-job-tracker/</link>
		<comments>http://wdicc.com/use-org-mode-as-a-job-tracker/#comments</comments>
		<pubDate>Fri, 23 Jul 2010 15:30:58 +0000</pubDate>
		<dc:creator>wd</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[job]]></category>
		<category><![CDATA[org-mode]]></category>
		<category><![CDATA[todo]]></category>

		<guid isPermaLink="false">http://wdicc.com/use-org-mode-as-a-job-tracker/</guid>
		<description><![CDATA[用 emacs 的应该都知道 org-mode 这个大杀器，一直以来都想在工作里面用上他，可总是习惯不了。 这几天尝试把 org-mode 打造成了我的一个 job tracker，用来记录自己的 todo 和完成情况。 ;; ;; org-mode ;; &#160; ;; (setq org-agenda-files '(&#34;~/org&#34;)) &#40;setq org-agenda-files &#40;file-expand-wildcards &#34;~/org/*.org&#34;&#41;&#41; ;; 把 ~/org/*.org 都加入到 agenda 里面，使用 C-c a a 看 agenda 的时候，会从这些文件里面读 &#40;add-to-list 'auto-mode-alist '&#40;&#34;\\.org$&#34; . org-mode&#41;&#41; &#40;define-key global-map &#34;\C-cl&#34; 'org-store-link&#41; &#40;define-key global-map &#34;\C-ca&#34; 'org-agenda&#41; &#40;setq org-log-done t&#41; ;; 变到 [...]]]></description>
			<content:encoded><![CDATA[<p>用 emacs 的应该都知道 org-mode 这个大杀器，一直以来都想在工作里面用上他，可总是习惯不了。</p>
<p>这几天尝试把 org-mode 打造成了我的一个 job tracker，用来记录自己的 todo 和完成情况。</p>

<div class="wp_syntax"><div class="code"><pre class="lisp"><span class="co1">;;</span>
<span class="co1">;; org-mode</span>
<span class="co1">;;</span>
&nbsp;
<span class="co1">;; (setq org-agenda-files '(&quot;~/org&quot;))</span>
<span class="br0">&#40;</span><span class="kw1">setq</span> org-agenda-files <span class="br0">&#40;</span>file-expand-wildcards <span class="st0">&quot;~/org/*.org&quot;</span><span class="br0">&#41;</span><span class="br0">&#41;</span>  <span class="co1">;; 把 ~/org/*.org 都加入到 agenda 里面，使用 C-c a a 看 agenda 的时候，会从这些文件里面读</span>
<span class="br0">&#40;</span>add-to-<span class="kw1">list</span> 'auto-mode-alist '<span class="br0">&#40;</span><span class="st0">&quot;<span class="es0">\\</span>.org$&quot;</span> <span class="sy0">.</span> org-mode<span class="br0">&#41;</span><span class="br0">&#41;</span>
<span class="br0">&#40;</span>define-key global-map <span class="st0">&quot;<span class="es0">\C</span>-cl&quot;</span> 'org-store-link<span class="br0">&#41;</span>
<span class="br0">&#40;</span>define-key global-map <span class="st0">&quot;<span class="es0">\C</span>-ca&quot;</span> 'org-agenda<span class="br0">&#41;</span>
<span class="br0">&#40;</span><span class="kw1">setq</span> org-log-done t<span class="br0">&#41;</span> <span class="co1">;; 变到 done 状态的时候，记录一下时间</span>
&nbsp;
<span class="br0">&#40;</span>add-hook 'org-mode-hook
          <span class="br0">&#40;</span><span class="kw1">lambda</span> <span class="br0">&#40;</span><span class="br0">&#41;</span>
            <span class="br0">&#40;</span>org-set-local 'yas/trigger-key <span class="br0">&#91;</span>tab<span class="br0">&#93;</span><span class="br0">&#41;</span>
            <span class="br0">&#40;</span>define-key yas/keymap <span class="br0">&#91;</span>tab<span class="br0">&#93;</span> 'yas/next-field-group<span class="br0">&#41;</span><span class="br0">&#41;</span><span class="br0">&#41;</span>
&nbsp;
<span class="br0">&#40;</span><span class="kw1">setq</span> org-todo-keywords
      '<span class="br0">&#40;</span><span class="br0">&#40;</span>sequence <span class="st0">&quot;TODO(t)&quot;</span> <span class="st0">&quot;WAIT(w@/!)&quot;</span> <span class="st0">&quot;|&quot;</span> <span class="st0">&quot;DONE(d!)&quot;</span> <span class="st0">&quot;CANCELED(c@)&quot;</span><span class="br0">&#41;</span><span class="br0">&#41;</span><span class="br0">&#41;</span>  <span class="co1">;; 设置一下 todo 的关键字，| 左边的是未完成状态，右边是 done 的状态</span>
&nbsp;
&nbsp;
<span class="br0">&#40;</span><span class="kw1">setq</span> org-default-notes-file <span class="st0">&quot;~/org/todo.org&quot;</span><span class="br0">&#41;</span> <span class="co1">;; 设置 remember 的默认文件 </span>
&nbsp;
<span class="co1">;;;  Load Org Remember Stuff</span>
<span class="br0">&#40;</span>require 'remember<span class="br0">&#41;</span>
<span class="br0">&#40;</span>org-remember-insinuate<span class="br0">&#41;</span>
&nbsp;
<span class="co1">;; Start clock in a remember buffer and switch back to previous clocking task on save</span>
<span class="co1">;; (add-hook 'remember-mode-hook 'org-clock-in 'append)</span>
<span class="co1">;; (add-hook 'org-remember-before-finalize-hook 'bh/clock-in-interrupted-task)</span>
&nbsp;
<span class="co1">;; I use C-M-r to start org-remember</span>
<span class="br0">&#40;</span>global-set-key <span class="br0">&#40;</span>kbd <span class="st0">&quot;C-c m r&quot;</span><span class="br0">&#41;</span> 'org-remember<span class="br0">&#41;</span>
<span class="co1">;; (define-key global-map &quot;\C-cr&quot; 'org-remember)</span>
&nbsp;
<span class="co1">;; Keep clocks running</span>
<span class="br0">&#40;</span><span class="kw1">setq</span> org-remember-clock-out-on-exit <span class="kw1">nil</span><span class="br0">&#41;</span>
&nbsp;
<span class="co1">;; C-c C-c stores the note immediately</span>
<span class="br0">&#40;</span><span class="kw1">setq</span> org-remember-store-without-prompt t<span class="br0">&#41;</span>
&nbsp;
<span class="co1">;; I don't use this -- but set it in case I forget to specify a location in a future template</span>
<span class="br0">&#40;</span><span class="kw1">setq</span> org-remember-default-headline <span class="st0">&quot;Tasks&quot;</span><span class="br0">&#41;</span> <span class="co1">;; 设置默认 remember 添加的 headline</span>
&nbsp;
<span class="co1">;; 3 remember templates for TODO tasks, Notes, and Phone calls</span>
<span class="br0">&#40;</span><span class="kw1">setq</span> org-remember-templates <span class="br0">&#40;</span><span class="kw1">quote</span> <span class="br0">&#40;</span><span class="br0">&#40;</span><span class="st0">&quot;todo&quot;</span> ?t <span class="st0">&quot;** TODO %?<span class="es0">\n</span>CREATED: %U&quot;</span> <span class="kw1">nil</span> <span class="kw1">nil</span> <span class="kw1">nil</span><span class="br0">&#41;</span>
                                     <span class="co1">;; (&quot;note&quot; ?n &quot;* %?                                                                            :NOTE:\n  %U\n  %a\n  :CLOCK:\n  :END:&quot; nil bottom nil)</span>
                                     <span class="co1">;; (&quot;appointment&quot; ?a &quot;* %?\n  %U&quot; &quot;~/git/org/todo.org&quot; &quot;Appointments&quot; nil)</span>
                                     <span class="co1">;; (&quot;org-protocol&quot; ?w &quot;* TODO Review %c%!\n  %U&quot; nil bottom nil))))</span>
                                     <span class="br0">&#41;</span><span class="br0">&#41;</span><span class="br0">&#41;</span> <span class="co1">;;设置 todo 的模板，里面第三个参数是模板，里面的变量的意思 google 下</span></pre></div></div>

<p>在 todo.org 里面有两个 headline，一个是 * Tasks ，一个是 * Done。</p>
<p>配置好后，在任意的 buffer 按 C-c m r 就可以打开个 buffer，输入 todo 信息，然后按 C-c C-c 就可以把 todo 添加到 todo.org 里面去了，会添加到 * Tasks 这个 headline 下面。</p>
<p>完成一个任务的时候，在那上面按 C-c C-t 然后选择 done 就可以设置完成。手动（还不会自动。。。）把完成的任务挪到 Done 里面。</p>
<p>如果想看看有完成情况的统计，可以在 agenda 里面看，C-c a a，然后按 v，选择不同的模式看。每周的工作情况在那里面一目了然，呵呵。</p>

<div class="wp_syntax"><div class="code"><pre class="text">Week-agenda (W29):
Monday     19 July 2010 W29
Tuesday    20 July 2010
Wednesday  21 July 2010
  todo:       17:33...... [ TODO 多看看 org-mode 的 agenda
Thursday   22 July 2010
  todo:       15:18...... Closed:     DONE a test
  todo:       15:18...... [ DONE a test
Friday     23 July 2010
  todo:       14:50...... [ TODO 梳理一下
  todo:       17:08...... [ TODO 了解下
  todo:       22:49...... [ TODO 申请
Saturday   24 July 2010
Sunday     25 July 2010</pre></div></div>

]]></content:encoded>
			<wfw:commentRss>http://wdicc.com/use-org-mode-as-a-job-tracker/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>oracle 的 job 又遇到问题了</title>
		<link>http://wdicc.com/oracle-jobs/</link>
		<comments>http://wdicc.com/oracle-jobs/#comments</comments>
		<pubDate>Fri, 29 Jun 2007 02:19:24 +0000</pubDate>
		<dc:creator>wd</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Other]]></category>
		<category><![CDATA[job]]></category>
		<category><![CDATA[oracle]]></category>
		<category><![CDATA[高级复制]]></category>

		<guid isPermaLink="false">http://blog.wdicc.com/wordpress/oracle-jobs/</guid>
		<description><![CDATA[还是高级复制的问题，这次可能是因为job执行过程中，对方机器刚好重启导致的。反正job是卡在那里了，都10多天了。 查看 dba_jobs_running 表，可以看到卡住的job的 job_id 和 sid 。查看 dba_jobs 表，可以看到相应 job 的信息，this_date 如果有数据的话，表示的是 job 开始执行的时间，next_date 是下次执行 job 的时间，如果 job 正常执行完毕，那么 this_date 应该是空的。根据 sid 还可以查看 v$session_wait 和 v$session 里面的这个 job 的一些状态。 尝试了下面的方法来重新运行job，当时好像不好用，不过今天来看的时候，job是执行了。现在也不清楚是不是我这个操作起作用了，真晕。 SQL&#38;gt; exec dbms_job.broken(109,true); &#160; PL/SQL procedure successfully completed. &#160; SQL&#38;gt; commit; &#160; Commit complete. &#160; SQL&#38;gt; select job,sid from dba_jobs_running; &#160; JOB SID ---------- [...]]]></description>
			<content:encoded><![CDATA[<p>还是高级复制的问题，这次可能是因为job执行过程中，对方机器刚好重启导致的。反正job是卡在那里了，都10多天了。</p>
<p>查看 dba_jobs_running 表，可以看到卡住的job的 job_id 和 sid 。查看 dba_jobs 表，可以看到相应 job 的信息，this_date 如果有数据的话，表示的是 job 开始执行的时间，next_date 是下次执行 job 的时间，如果 job 正常执行完毕，那么 this_date 应该是空的。根据 sid 还可以查看 v$session_wait 和 v$session 里面的这个 job 的一些状态。</p>
<p>尝试了下面的方法来重新运行job，当时好像不好用，不过今天来看的时候，job是执行了。现在也不清楚是不是我这个操作起作用了，真晕。</p>
<p>
<div class="wp_syntax"><div class="code"><pre class="txt">SQL&amp;gt; exec dbms_job.broken(109,true);
&nbsp;
PL/SQL procedure successfully completed.
&nbsp;
SQL&amp;gt; commit;
&nbsp;
Commit complete.
&nbsp;
SQL&amp;gt; select job,sid from dba_jobs_running;
&nbsp;
       JOB        SID
---------- ----------
       109        656
&nbsp;
SQL&amp;gt; select saddr,sid,serial#,paddr,username,status from v$session where username = 'REPADMIN';
&nbsp;
SADDR           SID    SERIAL# PADDR    USERNAME                       STATUS
-------- ---------- ---------- -------- ------------------------------ --------
973CF8C4        626         27 98F96BB8 REPADMIN                       ACTIVE
973D2E7C        629         10 98F88670 REPADMIN                       ACTIVE
973F11F4        656         10 98F88174 REPADMIN                       ACTIVE
&nbsp;
SQL&amp;gt; alter system kill session '656,10';
&nbsp;
System altered.
&nbsp;
SQL&amp;gt; select saddr,sid,serial#,paddr,username,status from v$session where username = 'REPADMIN';
&nbsp;
no rows selected
&nbsp;
SQL&amp;gt; select job,sid from dba_jobs_running;
&nbsp;
no rows selected
&nbsp;
SQL&amp;gt; select job,log_user,last_date,next_date from dba_jobs where log_user='REPADMIN';
&nbsp;
       JOB LOG_USER                       LAST_DATE
---------- ------------------------------ -------------------
NEXT_DATE
-------------------
       106 REPADMIN                       2007-06-28 16:25:43
2007-06-28 16:35:43
&nbsp;
       109 REPADMIN                       2007-06-28 16:07:38
4000-01-01 00:00:00
&nbsp;
       110 REPADMIN                       2007-06-28 16:25:43
2007-06-28 16:35:43
&nbsp;
&nbsp;
SQL&amp;gt; exec dbms_job.broken(109,false,sysdate);
&nbsp;
PL/SQL procedure successfully completed.
&nbsp;
SQL&amp;gt; commit;
&nbsp;
Commit complete.
&nbsp;
SQL&amp;gt; select job,log_user,last_date,next_date from dba_jobs where log_user='REPADMIN';
&nbsp;
       JOB LOG_USER                       LAST_DATE
---------- ------------------------------ -------------------
NEXT_DATE
-------------------
       106 REPADMIN                       2007-06-28 16:25:43
2007-06-28 16:35:43
&nbsp;
       109 REPADMIN                       2007-06-28 16:07:38
2007-06-28 16:28:40
&nbsp;
       110 REPADMIN                       2007-06-28 16:25:43
2007-06-28 16:35:43</pre></div></div>

<p>此后就我所知道的，就只能等着了。dbms_job.run(job_id) 也可以让 job 立即执行。关键是看 this_date ，他的值就是开始执行 job 的时间，job 如果执行时间太长，而下次执行又太快的话，可能也会导致问题。所以还可以尝试手动执行 job 看看。 dba_jobs 的 waht 字段就是对于的语句。</p>
]]></content:encoded>
			<wfw:commentRss>http://wdicc.com/oracle-jobs/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

