Hatena::ブログ(Diary)

ablog このページをアンテナに追加 RSSフィード Twitter

2016-04-03

実行中のマルチスレッドプログラムの特定スレッドのみ停止(SIGSTOP的な)させる方法

2016-03-21

Bitbucket のプライベートリポジトリを使ってみる

リポジトリを作成する

$ mkidr project1
$ cd project1
$ git init
$ git remote add origin git@bitbucket.org:yoheia/project1.git
$ echo "Yohei Azekatsu" >> contributors.txt
$ git add contributors.txt
$ git commit -m 'Initial commit with contributors'
$ git push -u origin master

Gitクライアント(SourceTree)をインストールする


Gitクライアント(SourceTree)でリポジトリクローンする

f:id:yohei-a:20160406104721p:image

2016-02-21

SQL計画ディレクティブに関するメモ

DBA_SQL_PLAN_DIRECTIVES.STATE の値と意味


12.1.0.1
  • NEW: E-Rows と A-Rows が違って作成された
  • MISSING_STATS: 次回統計収集時に拡張統計を収集される。それまではダイナミック・サンプリングが行われる。
  • HAS_STATS: 正しい見積のために十分な拡張統計がある。
  • PERMANENT: 見積り誤りが発生しているため、拡張統計は無視される。
12.1.0.2
  • USABLE: ディレクティブはあるが問題は解決していない(NEW、MISSING_STATS、PERMANENT)
  • SUPERSEDED: 問題は解決済(HAS_STATS)

補足

  • 12.1.0.2 では NOTES 列の internal_state タグに NEW、MISSING_STATS、PERMANENT、HAS_STATS のステータスが記録されている。

参考

2016-02-13

Oracle Database で保留統計を公開する時の挙動を確認する

自分用メモ。

  • ユーザー統計表を作成する
SQL> EXEC DBMS_STATS.CREATE_STAT_TABLE(ownname=>'OGG_IAU',stattab=>'STAT_TABLE_BEFORE');
SQL> EXEC DBMS_STATS.CREATE_STAT_TABLE(ownname=>'OGG_IAU',stattab =>'STAT_TABLE_AFTER');
SQL> BEGIN
DBMS_STATS.GATHER_SCHEMA_STATS(
	OWNNAME => 'OGG_IAU',
	ESTIMATE_PERCENT => 100,
	METHOD_OPT => 'FOR ALL COLUMNS SIZE 254', 
	GRANULARITY => 'ALL',
	CASCADE => TRUE,
	NO_INVALIDATE => FALSE,
	FORCE => TRUE
);
END;
/
SQL> EXEC DBMS_STATS.EXPORT_SCHEMA_STATS(ownname=>'OGG_IAU',stattab=>'STAT_TABLE_BEFORE');
  • 表に行を insert する
SQL> begin
	for i in 1..100000 loop
		insert into oam(iau_id) values(i);
	end loop;
end;
/
SQL> commit;
SQL> EXEC DBMS_STATS.SET_SCHEMA_PREFS(ownname=>'OGG_IAU', pname=>'PUBLISH', pvalue=>'FALSE');
SQL> BEGIN
DBMS_STATS.GATHER_SCHEMA_STATS(
	OWNNAME => 'OGG_IAU',
	ESTIMATE_PERCENT => 100,
	METHOD_OPT => 'FOR ALL COLUMNS SIZE 254', 
	GRANULARITY => 'ALL',
	CASCADE => TRUE,
	NO_INVALIDATE => FALSE,
	FORCE => TRUE
);
END;
/
SQL> EXEC DBMS_STATS.publish_pending_stats('OGG_IAU', NULL);
SQL> BEGIN
DBMS_STATS.EXPORT_SCHEMA_STATS(
	ownname => 'OGG_IAU',
	stattab => 'STAT_TABLE_AFTER'
);
END;
/
SQL> select * from 
table(DBMS_STATS.DIFF_TABLE_STATS_IN_STATTAB
(ownname=>'OGG_IAU',tabname=> 'OAM',stattab1=>'STAT_TABLE_BEFORE',stattab2=>'STAT_TABLE_AFTER'));

"REPORT","MAXDIFFPCT"
"###############################################################################

STATISTICS DIFFERENCE REPORT FOR:
.................................

TABLE         : OAM
OWNER         : OGG_IAU
SOURCE A      : User statistics table STAT_TABLE_BEFORE
              : Statid     : 
              : Owner      : OGG_IAU
SOURCE B      : User statistics table STAT_TABLE_AFTER
              : Statid     : 
              : Owner      : OGG_IAU
PCTTHRESHOLD  : 10
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

TABLE / (SUB)PARTITION STATISTICS DIFFERENCE:
.............................................

OBJECTNAME                  TYP SRC ROWS       BLOCKS     ROWLEN     SAMPSIZE  
...............................................................................

OAM                         T   A   0          0          0          0         
                                B   100000     244        6          100000    
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

COLUMN STATISTICS DIFFERENCE:
.............................

COLUMN_NAME     SRC NDV     DENSITY    HIST NULLS   LEN  MIN   MAX   SAMPSIZ
...............................................................................

IAU_ADDITIONALI A   0       0          NO   0       0      NULL   
                B   0       0          NO   100000  0      NULL   
IAU_ADMINROLENA A   0       0          NO   0       0      NULL   
                B   0       0          NO   100000  0      NULL   
IAU_AGENTID     A   0       0          NO   0       0      NULL   
                B   0       0          NO   100000  0      NULL   
IAU_AGENTTYPE   A   0       0          NO   0       0      NULL   
                B   0       0          NO   100000  0      NULL   
IAU_APPLICATION A   0       0          NO   0       0      NULL   
                B   0       0          NO   100000  0      NULL   
IAU_AUTHENTICAT A   0       0          NO   0       0      NULL   
                B   0       0          NO   100000  0      NULL   
IAU_AUTHENTICAT A   0       0          NO   0       0      NULL   
                B   0       0          NO   100000  0      NULL   
IAU_AUTHORIZATI A   0       0          NO   0       0      NULL   
                B   0       0          NO   100000  0      NULL   
IAU_AUTHORIZATI A   0       0          NO   0       0      NULL   
                B   0       0          NO   100000  0      NULL   
IAU_CLIENTIPADD A   0       0          NO   0       0      NULL   
                B   0       0          NO   100000  0      NULL   
IAU_CONSTRAINTT A   0       0          NO   0       0      NULL   
                B   0       0          NO   100000  0      NULL   
IAU_DATASOURCEN A   0       0          NO   0       0      NULL   
                B   0       0          NO   100000  0      NULL   
IAU_DATASOURCET A   0       0          NO   0       0      NULL   
                B   0       0          NO   100000  0      NULL   
IAU_EVENTCATEGO A   0       0          NO   0       0      NULL   
                B   0       0          NO   100000  0      NULL   
IAU_EVENTTYPE   A   0       0          NO   0       0      NULL   
                B   0       0          NO   100000  0      NULL   
IAU_GENERICATTR A   0       0          NO   0       0      NULL   
                B   0       0          NO   100000  0      NULL   
IAU_GENERICATTR A   0       0          NO   0       0      NULL   
                B   0       0          NO   100000  0      NULL   
IAU_GENERICATTR A   0       0          NO   0       0      NULL   
                B   0       0          NO   100000  0      NULL   
IAU_GENERICATTR A   0       0          NO   0       0      NULL   
                B   0       0          NO   100000  0      NULL   
IAU_GENERICATTR A   0       0          NO   0       0      NULL   
                B   0       0          NO   100000  0      NULL   
IAU_HOSTIDENTIF A   0       0          NO   0       0      NULL 
",
  • CSV に出力して比較する
SQL> set sqlformat csv
SQL> spool stat_table_before.csv
SQL> select * from STAT_TABLE_BEFORE order by statid, type, version, flags, c1, c2, c3, c4, c5;
SQL> spool off
SQL> spool stat_table_after.csv
SQL> select * from STAT_TABLE_AFTER order by statid, type, version, flags, c1, c2, c3, c4, c5;
SQL> spool off
SQL> !
$ sort stat_table_before.csv > stat_table_before_sorted.csv 
$ sort stat_table_after.csv > stat_table_after_sorted.csv
$ sdiff -w 170 -s stat_table_before_sorted.csv stat_table_after_sorted.csv|head -30
 2,191 rows selected 								    |	 4,543 rows selected 
"","C",6,2,"OAM","","","IAU_ADDITIONALINFO","OGG_IAU",0,0,0,,0,,,0,,,,,13-FEB-16,,  |	"","C",6,2,"OAM","","","IAU_ADDITIONALINFO","OGG_IAU",0,0,0,,100000,,,0,,,,,13-FEB
"","C",6,2,"OAM","","","IAU_ADMINROLENAME","OGG_IAU",0,0,0,,0,,,0,,,,,13-FEB-16,,,  |	"","C",6,2,"OAM","","","IAU_ADMINROLENAME","OGG_IAU",0,0,0,,100000,,,0,,,,,13-FEB-
"","C",6,2,"OAM","","","IAU_AGENTID","OGG_IAU",0,0,0,,0,,,0,,,,,13-FEB-16,,,"",""   |	"","C",6,2,"OAM","","","IAU_AGENTID","OGG_IAU",0,0,0,,100000,,,0,,,,,13-FEB-16,,,"
"","C",6,2,"OAM","","","IAU_AGENTTYPE","OGG_IAU",0,0,0,,0,,,0,,,,,13-FEB-16,,,"","  |	"","C",6,2,"OAM","","","IAU_AGENTTYPE","OGG_IAU",0,0,0,,100000,,,0,,,,,13-FEB-16,,
"","C",6,2,"OAM","","","IAU_APPLICATIONDOMAINNAME","OGG_IAU",0,0,0,,0,,,0,,,,,13-F  |	"","C",6,2,"OAM","","","IAU_APPLICATIONDOMAINNAME","OGG_IAU",0,0,0,,100000,,,0,,,,
"","C",6,2,"OAM","","","IAU_AUTHENTICATIONPOLICYID","OGG_IAU",0,0,0,,0,,,0,,,,,13-  |	"","C",6,2,"OAM","","","IAU_AUTHENTICATIONPOLICYID","OGG_IAU",0,0,0,,100000,,,0,,,
"","C",6,2,"OAM","","","IAU_AUTHENTICATIONSCHEMEID","OGG_IAU",0,0,0,,0,,,0,,,,,13-  |	"","C",6,2,"OAM","","","IAU_AUTHENTICATIONSCHEMEID","OGG_IAU",0,0,0,,100000,,,0,,,
"","C",6,2,"OAM","","","IAU_AUTHORIZATIONPOLICYID","OGG_IAU",0,0,0,,0,,,0,,,,,13-F  |	"","C",6,2,"OAM","","","IAU_AUTHORIZATIONPOLICYID","OGG_IAU",0,0,0,,100000,,,0,,,,
"","C",6,2,"OAM","","","IAU_AUTHORIZATIONSCHEME","OGG_IAU",0,0,0,,0,,,0,,,,,13-FEB  |	"","C",6,2,"OAM","","","IAU_AUTHORIZATIONSCHEME","OGG_IAU",0,0,0,,100000,,,0,,,,,1
"","C",6,2,"OAM","","","IAU_CLIENTIPADDRESS","OGG_IAU",0,0,0,,0,,,0,,,,,13-FEB-16,  |	"","C",6,2,"OAM","","","IAU_CLIENTIPADDRESS","OGG_IAU",0,0,0,,100000,,,0,,,,,13-FE
"","C",6,2,"OAM","","","IAU_CONSTRAINTTYPE","OGG_IAU",0,0,0,,0,,,0,,,,,13-FEB-16,,  |	"","C",6,2,"OAM","","","IAU_CONSTRAINTTYPE","OGG_IAU",0,0,0,,100000,,,0,,,,,13-FEB
"","C",6,2,"OAM","","","IAU_DATASOURCENAME","OGG_IAU",0,0,0,,0,,,0,,,,,13-FEB-16,,  |	"","C",6,2,"OAM","","","IAU_DATASOURCENAME","OGG_IAU",0,0,0,,100000,,,0,,,,,13-FEB
"","C",6,2,"OAM","","","IAU_DATASOURCETYPE","OGG_IAU",0,0,0,,0,,,0,,,,,13-FEB-16,,  |	"","C",6,2,"OAM","","","IAU_DATASOURCETYPE","OGG_IAU",0,0,0,,100000,,,0,,,,,13-FEB
"","C",6,2,"OAM","","","IAU_EVENTCATEGORY","OGG_IAU",0,0,0,,0,,,0,,,,,13-FEB-16,,,  |	"","C",6,2,"OAM","","","IAU_EVENTCATEGORY","OGG_IAU",0,0,0,,100000,,,0,,,,,13-FEB-
"","C",6,2,"OAM","","","IAU_EVENTTYPE","OGG_IAU",0,0,0,,0,,,0,,,,,13-FEB-16,,,"","  |	"","C",6,2,"OAM","","","IAU_EVENTTYPE","OGG_IAU",0,0,0,,100000,,,0,,,,,13-FEB-16,,
"","C",6,2,"OAM","","","IAU_GENERICATTRIBUTE1","OGG_IAU",0,0,0,,0,,,0,,,,,13-FEB-1  |	"","C",6,2,"OAM","","","IAU_GENERICATTRIBUTE1","OGG_IAU",0,0,0,,100000,,,0,,,,,13-
"","C",6,2,"OAM","","","IAU_GENERICATTRIBUTE2","OGG_IAU",0,0,0,,0,,,0,,,,,13-FEB-1  |	"","C",6,2,"OAM","","","IAU_GENERICATTRIBUTE2","OGG_IAU",0,0,0,,100000,,,0,,,,,13-
"","C",6,2,"OAM","","","IAU_GENERICATTRIBUTE3","OGG_IAU",0,0,0,,0,,,0,,,,,13-FEB-1  |	"","C",6,2,"OAM","","","IAU_GENERICATTRIBUTE3","OGG_IAU",0,0,0,,100000,,,0,,,,,13-
"","C",6,2,"OAM","","","IAU_GENERICATTRIBUTE4","OGG_IAU",0,0,0,,0,,,0,,,,,13-FEB-1  |	"","C",6,2,"OAM","","","IAU_GENERICATTRIBUTE4","OGG_IAU",0,0,0,,100000,,,0,,,,,13-
"","C",6,2,"OAM","","","IAU_GENERICATTRIBUTE5","OGG_IAU",0,0,0,,0,,,0,,,,,13-FEB-1  |	"","C",6,2,"OAM","","","IAU_GENERICATTRIBUTE5","OGG_IAU",0,0,0,,100000,,,0,,,,,13-
"","C",6,2,"OAM","","","IAU_HOSTIDENTIFIERNAME","OGG_IAU",0,0,0,,0,,,0,,,,,13-FEB-  |	"","C",6,2,"OAM","","","IAU_HOSTIDENTIFIERNAME","OGG_IAU",0,0,0,,100000,,,0,,,,,13
"","C",6,2,"OAM","","","IAU_IDENTITYDOMAIN","OGG_IAU",0,0,0,,0,,,0,,,,,13-FEB-16,,  |	"","C",6,2,"OAM","","","IAU_IDENTITYDOMAIN","OGG_IAU",0,0,0,,100000,,,0,,,,,13-FEB
"","C",6,2,"OAM","","","IAU_ID","OGG_IAU",0,0,0,,0,,,0,,,,,13-FEB-16,,,"",""	    |	"","C",6,2,"OAM","","","IAU_ID","OGG_IAU",100000,0.00001,100000,100000,0,1,100000,
"","C",6,2,"OAM","","","IAU_IMPERSONATOR","OGG_IAU",0,0,0,,0,,,0,,,,,13-FEB-16,,,"  |	"","C",6,2,"OAM","","","IAU_ID","OGG_IAU",100000,0.00001,100000,100000,0,1,100000,
"","C",6,2,"OAM","","","IAU_INSTANCENAME","OGG_IAU",0,0,0,,0,,,0,,,,,13-FEB-16,,,"  |	"","C",6,2,"OAM","","","IAU_ID","OGG_IAU",100000,0.00001,100000,100000,0,1,100000,
"","C",6,2,"OAM","","","IAU_NEWATTRIBUTES","OGG_IAU",0,0,0,,0,,,0,,,,,13-FEB-16,,,  |	"","C",6,2,"OAM","","","IAU_ID","OGG_IAU",100000,0.00001,100000,100000,0,1,100000,
"","C",6,2,"OAM","","","IAU_NEWSETTINGS","OGG_IAU",0,0,0,,0,,,0,,,,,13-FEB-16,,,""  |	"","C",6,2,"OAM","","","IAU_ID","OGG_IAU",100000,0.00001,100000,100000,0,1,100000,
"","C",6,2,"OAM","","","IAU_OLDATTRIBUTES","OGG_IAU",0,0,0,,0,,,0,,,,,13-FEB-16,,,  |	"","C",6,2,"OAM","","","IAU_ID","OGG_IAU",100000,0.00001,100000,100000,0,1,100000,
"","C",6,2,"OAM","","","IAU_OLDSETTINGS","OGG_IAU",0,0,0,,0,,,0,,,,,13-FEB-16,,,""  |	"","C",6,2,"OAM","","","IAU_ID","OGG_IAU",100000,0.00001,100000,100000,0,1,100000,

環境

sql OGG_IAU/oracle@192.168.56.101:1521/orcl
SQLcl: Release 4.2.0.15.177.0246 RC on Sat Feb 13 16:25:04 2016
Copyright (c) 1982, 2016, Oracle.  All rights reserved.

Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options 

SQL> !cat /etc/oracle-release
Oracle Linux Server release 6.6
SQL> !uname -a
Linux yazekats-linux.oracle.com 2.6.39-400.17.1.el6uek.x86_64 #1 SMP Fri Feb 22 18:16:18 PST 2013 x86_64 x86_64 x86_64 GNU/Linux

参考


追記(2016/02/14):

  • 保留統計を公開しても、公開されている統計のみに存在する統計は消えないことを確認した、
SQL> select count(1) from DBA_COL_PENDING_STATS

  COUNT(1)
----------
      1590

SQL> EXEC DBMS_STATS.SET_SCHEMA_PREFS(ownname=>'OGG_IAU', pname=>'PUBLISH', pvalue=>'TRUE');

PL/SQL procedure successfully completed.

SQL> select count(1) from dba_tab_statistics where owner = 'OGG_IAU';


  COUNT(1)
----------
        30

SQL> select count(1) from dba_tab_col_statistics where owner = 'OGG_IAU';


  COUNT(1)
----------
         0

SQL> EXEC DBMS_STATS.DELETE_SCHEMA_STATS('OGG_IAU');


PL/SQL procedure successfully completed.

SQL> select count(1) from dba_tab_statistics where owner = 'OGG_IAU';


  COUNT(1)
----------
        30

SQL> select count(1) from dba_tab_col_statistics where owner = 'OGG_IAU';


  COUNT(1)
----------
         0

SQL> create table added_table(c1 number, c2 number);


Table ADDED_TABLE created.

SQL> BEGIN
  2  DBMS_STATS.GATHER_TABLE_STATS(
  3      OWNNAME => 'OGG_IAU',
  4      TABNAME => 'ADDED_TABLE',
  5      ESTIMATE_PERCENT => 100,
  6      METHOD_OPT => 'FOR ALL COLUMNS SIZE 254', 
  7      GRANULARITY => 'ALL',
  8      CASCADE => TRUE,
  9      NO_INVALIDATE => FALSE,
 10      FORCE => TRUE
 11  );
 12  END;
 13  /


PL/SQL procedure successfully completed.

SQL> select count(1) from dba_tab_statistics where owner = 'OGG_IAU';


  COUNT(1)
----------
        31

SQL> select count(1) from dba_tab_col_statistics where owner = 'OGG_IAU';


  COUNT(1)
----------
         2

SQL> EXEC DBMS_STATS.publish_pending_stats('OGG_IAU', NULL);


PL/SQL procedure successfully completed.

SQL> select count(1) from dba_tab_statistics where owner = 'OGG_IAU';


  COUNT(1)
----------
        31

SQL> select count(1) from dba_tab_col_statistics where owner = 'OGG_IAU';


  COUNT(1)
----------
      1592

SQL> 

2016-02-06

GNOME のウィジットが表示されなくなった

f:id:yohei-a:20160206202759p:image:w640

事象

  • ftrace を使っていたら不安定になったので、再起動したら GNOME のウィジット(時刻表示の近くの電源、ワイアレスネットワークなどが表示されているところ)が表示されなくなった。

対処

  • ~/.gconf/apps/panel/general を削除する

参考

Oracle GoldenGate 12.1.2.0.0 を使ってみる

環境

$ cat /etc/oracle-release 
Oracle Linux Server release 6.6
$ uname -r
2.6.39-400.17.1.el6uek.x86_64

ダウンロード


インストール

  • ファイルを結合する
$ cat ODI-12c-Getting-Started.7z.001 ODI-12c-Getting-Started.7z.002 ODI-12c-Getting-Started.7z.003 ODI-12c-Getting-Started.7z.004 > ODI-12c-Getting-Started.7z 
$ 7z e ODI-12c-Getting-Started.7z
$ ls -l
total 23226864
-rw-r----- 1 yazekats yazekats    1628354 Feb  6 11:27 odi-12c-getstart-vm-install-guide-2401840.pdf
-rw-rw-r-- 1 yazekats yazekats 7880050911 Feb  6 10:48 ODI-12c-Getting-Started.7z
-rw-r----- 1 yazekats yazekats 2147483648 Oct 28 14:33 ODI-12c-Getting-Started.7z.001
-rw-r----- 1 yazekats yazekats 2147483648 Oct 31 15:06 ODI-12c-Getting-Started.7z.002
-rw-r----- 1 yazekats yazekats 2147483648 Oct 31 16:02 ODI-12c-Getting-Started.7z.003
-rw-r----- 1 yazekats yazekats 1437599967 Oct 31 16:52 ODI-12c-Getting-Started.7z.004
-rw-rw-r-- 1 yazekats yazekats 8022525952 Oct 22 03:42 ODI 12c Getting Started VM.ova ★
  • Oracle VM VirtualBox Manager を起動する
  • メニューの [File]-[Import Appliance] で "ODI 12c Getting Started VM.ova" を選択し、ウイザードに従ってインポートする。

設定

  • "ODI 12c Getting Started VM" の [Settings] を選択し、以下を設定する。
    • [System]-[Memory]: 8192MB
    • [Shared Folders]
      • Folder Path: /home/yazekats/ODIshared
      • Folder Name: ODIshared
      • Auto-mount: チェック
    • [Network]-[Adaptor 2]
      • Attached to: Host-only Adaptor
      • Name: vboxnet0 ※作っている名前を選択する

起動

  • "ODI 12c Getting Started VM" を選択し、[Start] を押下する。

f:id:yohei-a:20160206152050p:image:w640

[oracle@ODIGettingStarted ~]$ sqlplus / as sysdba

SQL*Plus: Release 11.2.0.4.0 Production on Sat Feb 6 01:34:29 2016

Copyright (c) 1982, 2013, Oracle.  All rights reserved.


Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options

SQL> 

自動起動されているので、

[oracle@ODIGettingStarted ~]$ ps -ef|grep [g]g
oracle    9933  9923  0 01:30 ?        00:00:00 /u01/Middleware/OGG_Source/ggcmd PARAMFILE /u01/Middleware/OGG_Source/dirprm/jagent.prm REPORTFILE /u01/Middleware/OGG_Source/dirrpt/JAGENT.rpt PROCESSID JAGENT USESUBDIRS
oracle    9966  9956  0 01:30 ?        00:00:00 /u01/Middleware/OGG_Target/ggcmd PARAMFILE /u01/Middleware/OGG_Target/dirprm/jagent.prm REPORTFILE /u01/Middleware/OGG_Target/dirrpt/JAGENT.rpt PROCESSID JAGENT USESUBDIRS

f:id:yohei-a:20160206153929p:image:w640


その他

  • 共有フォルダをマウントする
[root@ODIGettingStarted ~]# cd /home/oracle/
[root@ODIGettingStarted oracle]# bash ./mountshared.sh 
[root@ODIGettingStarted oracle]# mount
/dev/mapper/vg_odigettingstarted-lv_root on / type ext4 (rw)
proc on /proc type proc (rw)
sysfs on /sys type sysfs (rw)
devpts on /dev/pts type devpts (rw,gid=5,mode=620)
tmpfs on /dev/shm type tmpfs (rw,rootcontext="system_u:object_r:tmpfs_t:s0")
/dev/sda1 on /boot type ext4 (rw)
/dev/sdb on /u01 type ext4 (rw)
none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw)
sunrpc on /var/lib/nfs/rpc_pipefs type rpc_pipefs (rw)
ODIshared on /media/sf_ODIshared type vboxsf (gid=501,rw)
  • Oracle Database をアーカイブログモードに変更する。
SQL> shutdown immediate
SQL> startup mount
SQL> alter database archivelog;
SQL> alter database open;
  • Oracle Database でサプリメンタルロギングを有効にする。
SQL> alter database add supplemental log data;
create user scott identified by tiger
default tablespace users
temporary tablespace temp;
grant dba to scott;
conn scott/tiger
create table scott.t1 (
c1 number(10) constraint pk_t1 primary key,
c2 varchar2(10),
c3 varchar2(10)
) tablespace users;
  • OGG で Extract を設定する
> start manager
Manager started.

> info all
Program     Status      Group       Lag at Chkpt  Time Since Chkpt

MANAGER     RUNNING                                           
JAGENT      STOPPED                                           

> add extract ext1, tranlog, begin now
EXTRACT added.

> add exttrail /u01/Middleware/OGG_Source/dirdat/lt, extract ext1
EXTTRAIL added.

> info all
Program     Status      Group       Lag at Chkpt  Time Since Chkpt

MANAGER     RUNNING                                           
JAGENT      STOPPED                                           
EXTRACT     STOPPED     EXT1        00:00:00      00:08:19    

> edit params ext1 
--extract group--
extract ext1
--connection to database--
userid scott, password tiger
--hostname and port for trail--
rmthost ODIGettingStarted, mgrport 7010
--path and name for trail--
exttrail /u01/Middleware/OGG_Source/dirdat
--DML
table scott.*;

> start extract ext1
Sending START request to MANAGER ...
EXTRACT EXT1 starting
  • 伝播対象表を更新する。
$ sqlplus /nolog
SQL> conn scott/tiger
SQL> begin
	for i in 1..100000 loop
		insert into t1 (c1,c2,c3) values(i,i,i);
                commit;
	end loop;
end;
/
  • ggsci コマンドを実行する。
[oracle@ODIGettingStarted OGG_Source]$ ./ggsci
  • manager プロセスおよび子プロセスに strace をしかける。
[oracle@ODIGettingStarted strace]$ ps -elf|grep ./[m]gr
0 S oracle    8243     1  0  80   0 - 168275 poll_s 20:10 ?       00:00:33 ./mgr PARAMFILE /u01/Middleware/OGG_Source/dirprm/mgr.prm REPORTFILE /u01/Middleware/OGG_Source/dirrpt/MGR.rpt PROCESSID MGR USESUBDIRS
[oracle@ODIGettingStarted strace]$ strace -ff -tt -o strace -p 8243
  • extract プロセスを開始する
> start extrace ext1
  • 表にデータを insert する。
$ sqlplus /nolog
SQL> conn scott/tiger
SQL> begin
	for i in 1..100000 loop
		insert into t1 (c1,c2,c3) values(i,i,i);
                commit;
	end loop;
end;
/
  • Trail を書いている PID を調べて、
[oracle@ODIGettingStarted dirdat]$ lsof /u01/Middleware/OGG_Source/dirdat/lt000000 
COMMAND   PID   USER   FD   TYPE DEVICE SIZE/OFF   NODE NAME
extract 12478 oracle   21uW  REG   8,16 15085996 408130 lt000000
[oracle@ODIGettingStarted strace]$ grep open  strace.12478
(中略)
23:29:16.214482 open("/u01/Middleware/OGG_Source/dirdat/lt000000", O_RDWR|O_CREAT|O_TRUNC, 0666) = 21★ ↑Trail(FD番号:21) を作成している
(中略)
23:29:53.204898 open("/u01/app/oracle/flash_recovery_area/ORCL/archivelog/2016_02_06/o1_mf_1_292_ccfl1sqw_.arc", O_RDONLY|O_DIRECT) = 22 
★ ↑アーカイブログ(FD番号:22)
23:29:54.186174 open("/u01/app/oracle/oradata/ORCL/clone_o1_mf_1_91zfcp2o_.log", O_RDONLY|O_DIRECT) = 20 
★ ↑REDOログ(FD番号:20)
23:29:55.115810 open("/u01/app/oracle/oradata/ORCL/clone_o1_mf_2_91zfcqxl_.log", O_RDONLY|O_DIRECT) = 22 
★ ↑REDOログ(FD番号:22)
    • Trail への書込を見てみる
23:29:16.214369 open("/u01/Middleware/OGG_Source/dirdat/lt000000", O_RDWR) = -1 ENOENT (No such file or directory)
★ ↑Trail がないので、
23:29:16.214440 umask(027)              = 027
23:29:16.214482 open("/u01/Middleware/OGG_Source/dirdat/lt000000", O_RDWR|O_CREAT|O_TRUNC, 0666) = 21
★ ↑Trail を作成している
23:29:16.214584 umask(027)              = 027
23:29:16.214843 fcntl(21, F_SETLK, {type=F_WRLCK, whence=SEEK_SET, start=0, len=0}) = 0
★ ↑Trail に fcntl で F_WRLCK ロックをかけている
23:29:16.214921 lseek(21, 0, SEEK_SET)  = 0
(中略)
23:29:16.216003 write(21, "F\200\5\2470\0\3%0\0\0\10GG\r\nTL\n\r1\0\0\2\0\0042\0\0\4 \0"..., 1447) = 1447
★ ↑Trail に書いている
23:29:16.216072 fsync(21) = 0
★ ↑fsync で同期している
    • ロックをかけているのはここだけ
[oracle@ODIGettingStarted strace]$ grep 'fcntl(21,' strace.12478 
23:29:15.268861 fcntl(21, F_GETFD) = -1 EBADF (Bad file descriptor)
23:29:16.214843 fcntl(21, F_SETLK, {type=F_WRLCK, whence=SEEK_SET, start=0, len=0}) = 0
    • Trail(FD番号:21)に対する操作の流れを見てみる
[oracle@ODIGettingStarted strace]$ perl -nle  '/\(21(,|\))/ and print' strace.12478 
(中略)
23:29:16.214843 fcntl(21, F_SETLK, {type=F_WRLCK, whence=SEEK_SET, start=0, len=0}) = 0
23:29:16.214921 lseek(21, 0, SEEK_SET)  = 0
23:29:16.214969 lseek(21, 0, SEEK_SET)  = 0
23:29:16.215010 read(21, "", 32768)     = 0
23:29:16.215068 lseek(21, 0, SEEK_SET)  = 0
23:29:16.215111 fstat(21, {st_mode=S_IFREG|0640, st_size=0, ...}) = 0
23:29:16.215161 lseek(21, 0, SEEK_SET)  = 0
23:29:16.215201 lseek(21, 0, SEEK_SET)  = 0
23:29:16.216003 write(21, "F\200\5\2470\0\3%0\0\0\10GG\r\nTL\n\r1\0\0\2\0\0042\0\0\4 \0"..., 1447) = 1447
23:29:16.216072 fsync(21) = 0
23:29:27.083879 fsync(21) = 0
23:29:37.252761 fsync(21) = 0
23:29:40.547552 lseek(21, 0, SEEK_CUR)  = 1447
23:29:40.547674 lseek(21, 0, SEEK_SET)  = 0
23:29:40.547726 write(21, "F\0\5\2470\0\3%0\0\0\10GG\r\nTL\n\r1\0\0\2\0\0042\0\0\4 \0"..., 1447) = 1447
23:29:40.548143 lseek(21, 0, SEEK_SET)  = 0
23:29:40.548197 read(21, "F\0\5\2470\0\3%0\0\0\10GG\r\nTL\n\r1\0\0\2\0\0042\0\0\4 \0"..., 32768) = 1447
23:29:40.548284 write(21, "G\1\0\216H\0\0+E\4\0A\0 \5\377\2\362QY\375\t\2\300\0\0\0\0\0\10t\224"..., 142) = 142
23:29:40.560462 write(21, "G\1\0\217H\0\0+E\4\0A\0 \5\377\2\362QY\375\t\2\300\0\0\0\0\0\10w\350"..., 32768) = 32768
(中略)
23:29:46.406235 write(21, "95739106\0\0\0104.7.7553Z\1\0\226G\1\0\227H\0\0+E"..., 32768) = 32768
23:29:47.421902 write(21, "\0\227G\1\0\227H\0\0+E\4\0A\0(\5\377\2\362QY\375d\220@\0\0\0\0\2\325"..., 6341) = 6341
23:29:47.421976 fsync(21) = 0
23:29:54.208681 write(21, "G\1\0\226H\0\0+E\4\0A\0(\5\377\2\362QY\375d\220@\0\0\0\0\0\0\4\20"..., 32768) = 32768
23:29:54.217969 write(21, "\0\0\3\212\310\0\0\1%\3R\0\0\0\1SCOTT.T1\0D\0\0(\0\0\0\n"..., 32768) = 32768
(中略)
23:29:55.370382 write(21, "\0\1L\0\0\00796908456\0\0\n5.29.10099Z\1\0\230G"..., 32768) = 32768
23:29:56.383818 write(21, "(\5\377\2\362QY\375\355\344\200\0\0\0\0\0\304\312\24\0\0\1&\3R\0\0\0\1SCO"..., 16194) = 16194
23:29:58.416003 fsync(21) = 0
23:30:08.900283 fsync(21)               = 0
23:30:20.083283 fsync(21) = 0
23:30:30.757213 fsync(21) = 0
23:30:40.913835 fsync(21) = 0
23:30:51.584558 fsync(21)               = 0
23:31:01.755998 fsync(21) = 0
  • NFSでやってみる
[root@ODIGettingStarted ~]# vi /etc/exports 
/u01/Middleware/OGG_Source/dirdat/ ODIGettingStarted(rw,no_root_squash)
[root@ODIGettingStarted ~]# service nfs start
Starting NFS services:                                     [  OK  ]
Starting NFS quotas:                                       [  OK  ]
Starting NFS mountd:                                       [  OK  ]
Stopping RPC idmapd:                                       [  OK  ]
Starting RPC idmapd:                                       [  OK  ]
Starting NFS daemon:                                       [  OK  ]
[root@ODIGettingStarted ~]# service nfslock start
Starting NFS statd:                                        [  OK  ]
[root@ODIGettingStarted ~]# exportfs
/u01/Middleware/OGG_Source/dirdat
		localhost

[root@ODIGettingStarted nfs]# vi /etc/fstab
(中略)
ODIGettingStarted:/u01/Middleware/OGG_Source/dirdat /mnt/nfs nfs rw,bg,hard,nointr,rsize=32768,wsize=32768,tcp,actimeo=600
↑追記
[root@ODIGettingStarted nfs]# mount -a
[root@ODIGettingStarted nfs]# mount
ODIGettingStarted:/u01/Middleware/OGG_Source/dirdat on /mnt/nfs type nfs (rw,bg,hard,nointr,rsize=32768,wsize=32768,tcp,actimeo=600,vers=4,addr=127.0.0.1,clientaddr=127.0.0.1)
  • Trail の出力先を NFS に変える
$ vi /u01/Middleware/OGG_Source/dirprm/ext1.prm
--extract group--
extract ext1
--connection to database--
userid scott, password tiger
--hostname and port for trail--
rmthost ODIGettingStarted, mgrport 7010
--path and name for trail--
--exttrail /u01/Middleware/OGG_Source/dirdat/lt
exttrail /mnt/nfs/lt
--DML
table scott.*;
ext1.prm (END) 
$ ./ggsci
> add exttrail /mnt/nfs/lt, extract ext1                             
EXTTRAIL added.

NFS にしてもシステムコールの傾向はローカルファイルシステムと同じ(OGG から見たら VFS にあるただのファイルなので想定通り)。

[oracle@ODIGettingStarted strace]$ less strace.14020 
(中略)
00:54:06.674232 open("/mnt/nfs/lt000002", O_RDWR) = -1 ENOENT (No such file or directory)
★ ↑Trail がないので、
00:54:06.674279 umask(027)              = 027
00:54:06.674309 open("/mnt/nfs/lt000002", O_RDWR|O_CREAT|O_TRUNC, 0666) = 21
★ ↑Trail を作成している
00:54:06.676110 umask(027)              = 027
00:54:06.676141 fcntl(21, F_SETLK, {type=F_WRLCK, whence=SEEK_SET, start=0, len=0}) = 0
★ ↑Trail に fcntl で書込みロック(F_WRLCK)でファイルの先頭から末尾までロックをかけている。書込みロックは一つのプロセスしか保持できない。
00:54:06.676450 lseek(21, 0, SEEK_SET)  = 0
00:54:06.676486 lseek(21, 0, SEEK_SET)  = 0
00:54:06.676517 read(21, "", 32768)     = 0
00:54:06.676736 lseek(21, 0, SEEK_SET)  = 0
00:54:06.676770 fstat(21, {st_mode=S_IFREG|0640, st_size=0, ...}) = 0
00:54:06.676811 lseek(21, 0, SEEK_SET)  = 0
00:54:06.676840 lseek(21, 0, SEEK_SET)  = 0
00:54:06.676895 write(3, "\n***********************************************************************\n**                     Run Time Messages                             **\n***********************************************************************\n\n", 218) = 218
00:54:06.677063 write(21, "F\200\6\3100\0\3\f0\0\0\10GG\r\nTL\n\r1\0\0\2\0\0042\0\0\4 \0\0\0003\0\0\10\2\362Q[+\27\233g4\0\0007\0005uri:ODIGettingStarted::u01:Middleware:OGG_Source:EXT16\0\0\23\0\21/mnt/nfs/lt0000027\0\0\1\0018\0\0\4\0\0\0\0029\377\0\10\0\0\0\0\0\0\0\0:\0\0\201\0079691549\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0;\377\0\201\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0<\0\0\10\2\362QY\375\355\344\200=\377\0\10\0\0\0\0\0\0\0\0>\0\0\201\0079695716\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0?\377\0\10\0\0\0\0\0\0\0\0@\377\0\201\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0A\377\0\10\0\0\0\0\0\0\0\0B\0\0003\0\0,............................................\0\0\0\0001\0\0z0\0\0\7\0\5Linux1\0\0\23\0\21ODIGettingStarted2\0\0\37\0\0352.6.39-400.17.1.el6uek.x86_643\0\0%\0##1 SMP Fri Feb 22 18:16:18 PST 20134\0\0\10\0\6x86_642\0\1h0\0\0\2\0\0071\0\0\6\0\4ORCL2\0\0\6\0\4orcl3\0\0\4\0\0\0\0004\0\0\2\0\v5\0\0\2\0\0026\0\0\347\0\345Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production\nPL/SQL Release 11.2.0.4.0 - Production\nCORE\t11.2.0.4.0\tProduction\nTNS for Linux: Version 11.2.0.4.0 - Production\nNLSRTL Version 11.2.0.4.0 - Production\n7\0\0\4@\0\0\0008\0\0\f\0\n11.2.0.4.09\0\0\4\0\0\0\1:\0\0\2\0\0;\0\0\4\0\0\0\1<\0\0\24\0\0\0\20\24\24\24\24\24\24\24\24\24\24\24\24\21\24\24\24=\0\0\5\0\3GMT3\0\0|0\0\0\6\0\4EXT11\0\0\2\0\0032\0\0\2\0\f3\0\0\2\0\0014\0\0\2\0\0025\0\0\2\0\0006\0\0\2\0\0007\0\0J\0HVersion 12.1.2.0.0 17185003 OGGCORE_12.1.2.0.0_PLATFORMS_130924.1316_FBO4\0\1B0\0\0\4\0\0\0\0011\0\0\201\0079691549\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0002\0\0\0202\0\0\f\0\n9.18.100893\0\0\201\0079691549\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0004\0\0\f\0\n9.18.100895\0\0\10\2\362QY\375\355\344\200Z\200\6\310G\1\0;H\0\0#E\0\0A\0\0\226\0\2\362Q[+\27p!\0\0\0\0\0\0\0\0\0\0\0\0\3R\0\0\0\0\0T\0\0\10N\0\0\4EXT1Z\1\0;", 1795) = 1795
00:54:06.677382 fsync(21) = 0
(中略)
00:54:53.441815 lseek(21, 0, SEEK_CUR)  = 1795
00:54:53.441853 lseek(21, 0, SEEK_SET)  = 0
00:54:53.441900 write(21, "F\0\6\3100\0\3\f0\0\0\10GG\r\nTL\n\r1\0\0\2\0\0042\0\0\4 \0\0\0003\0\0\10\2\362Q[+\27\233g4\0\0007\0005uri:ODIGettingStarted::u01:Middleware:OGG_Source:EXT16\0\0\23\0\21/mnt/nfs/lt0000027\0\0\1\0018\0\0\4\0\0\0\0029\377\0\10\0\0\0\0\0\0\0\0:\0\0\201\0079695988\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0;\377\0\201\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0<\0\0\10\2\362Q[-\3133\0=\377\0\10\0\0\0\0\0\0\0\0>\0\0\201\0079695716\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0?\377\0\10\0\0\0\0\0\0\0\0@\377\0\201\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0A\377\0\10\0\0\0\0\0\0\0\0B\0\0003\0\0,............................................\0\0\0\0001\0\0z0\0\0\7\0\5Linux1\0\0\23\0\21ODIGettingStarted2\0\0\37\0\0352.6.39-400.17.1.el6uek.x86_643\0\0%\0##1 SMP Fri Feb 22 18:16:18 PST 20134\0\0\10\0\6x86_642\0\1h0\0\0\2\0\0071\0\0\6\0\4ORCL2\0\0\6\0\4orcl3\0\0\4\0\0\0\0004\0\0\2\0\v5\0\0\2\0\0026\0\0\347\0\345Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production\nPL/SQL Release 11.2.0.4.0 - Production\nCORE\t11.2.0.4.0\tProduction\nTNS for Linux: Version 11.2.0.4.0 - Production\nNLSRTL Version 11.2.0.4.0 - Production\n7\0\0\4@\0\0\0008\0\0\f\0\n11.2.0.4.09\0\0\4\0\0\0\1:\0\0\2\0\0;\0\0\4\0\0\0\1<\0\0\24\0\0\0\20\24\24\24\24\24\24\24\24\24\24\24\24\21\24\24\24=\0\0\5\0\3GMT3\0\0|0\0\0\6\0\4EXT11\0\0\2\0\0032\0\0\2\0\f3\0\0\2\0\0014\0\0\2\0\0025\0\0\2\0\0006\0\0\2\0\0007\0\0J\0HVersion 12.1.2.0.0 17185003 OGGCORE_12.1.2.0.0_PLATFORMS_130924.1316_FBO4\0\1B0\0\0\4\0\0\0\0011\0\0\201\0079691549\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0002\0\0\0202\0\0\f\0\n9.18.100893\0\0\201\0079691549\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0004\0\0\f\0\n9.18.100895\0\0\10\2\362QY\375\355\344\200Z\0\6\310", 1736) = 1736
(中略)
00:54:53.471008 nanosleep({1, 0}, NULL) = 0
00:54:54.471198 write(21, "G\1\0\220H\0\0+E\4\0A\0 \5\377\2\ ...
(中略)
00:54:54.475173 stat("/etc/localtime", {st_mode=S_IFREG|0644, st_size=3519, ...}) = 0
00:54:54.475218 select(7, [6], NULL, NULL, {0, 0}) = 0 (Timeout)
00:54:54.480571 write(21, "G\1\0\222H\0\0+E\4\0A\0\"\5\377\2 ...
(中略)
00:54:54.475173 stat("/etc/localtime", {st_mode=S_IFREG|0644, st_size=3519, ...}) = 0
00:54:54.475218 select(7, [6], NULL, NULL, {0, 0}) = 0 (Timeout)
00:54:54.480571 write(21, "G\1\0\222H\0\0+E\4\0A\0\"\5\377\2\ ...
 ↑単純に write している

メモ


参考