2009年10月15日 (木)

Snow Leopard の Finderがcrashしてrestartを繰り返すなうの巻き

妻がSnow Leopardで名刺の印刷しようとしたらハングしたらしく電源ボタンの長押しでMac強制終了して再起動。その後、妻のアカウントでログインしアプリケーションを起動したら全てが異常終了して使えない。音がでない。で、Finderがcrashしてrestartを繰り返している。



この現象、Snow Leopard以前からも幾つか書かれていた記憶はあったが自分のみに降り掛かるとは。。。。

尚、現在は復旧できたが、その経過も含めて回復方法まとめてみた。

映像にもあるように一番困る現象はFinderがrestartを繰り返してしまうので全く操作できない点。Safeモードで起動しちゃう最後の手もあるが・・・。今回はそこまでする必要は無かった。
以下に今回の症状を書いておく。

  • 特定のユーザでFinderがcrashしrestartを繰り返す。(ムービー参照)
  • 起動音以外の音がでない。(全ユーザ)
  • iTuensが-200エラーで起動しない。(全ユーザ)


Finderがrestartを繰り返してしまうユーザ以外のユーザでは音がでない、iTunesが起動できないということを除けば問題なく正常に使えている。という症状だった。
このような状態になった時にやることは、
といった作業。


で今回やったことと結果を以下に時系列で書いておくと。。。
  • NVRAMクリア:現象解決できず。
  • SMCリセット:現象解決できず。
  • 他のユーザはほぼ正常に使えていたので暫定策として他のユーザログインしTerminal.appからdittoコマンドで/Users/xxxxフォルダを丸ごと/Users/xxxx2のように複製。新規ユーザxxxx2を作成後、dsclコマンドでホームディレクトリ変更。及び/Users/xxxx2以下のパーミッションをxxxxからxxxx2へ変更。
    新規に作成したxxxx2ユーザではFinderがrestartを繰り返すという現象は治まった。
  • この時点で、/Users/xxxx以下の.DS_Storeファイルや、/Users/Library/Caches以下のキャッシュファイル、/Users/xxxx/Library/Preferences以下の初期設定ファイルが悪さをしていないことが確定。
  • /System/Library/Caches以下、/Library/Caches以下のキャッシュファイルを全て削除して再起動でやっと全ての問題が解決した。


めでたしめでたし。

尚、dittoコマンドやdsclコマンドの使い方はググルと沢山ヒットするので確認してね。。。と言いつつ別記事か、この記事にdittoコマンドやdsclコマンドのログを追記する予定。。。。もう眠いので取りあえず今はここまで。。

参考:
・Mac OS X:ソフトウェアに関するトラブルシューティング

| | コメント (0) | トラックバック (0)

2009年9月27日 (日)

Oracle SQL Developer Data Modeler #3

前回予告したようにOracle SQL Developer Data Modeler 2.0で日本語を使ったモデリングを試してみた。まず使用感から先に書いておくと”まあまあ”と言ったところ。
日本語を使う上で注意する点も現時点ではまだまだあるな。という感じで、その辺りが面倒だとか気になるようであればERwinとかObjectBrowser ERとか既存のツールを使った方が楽だと感じる方も多いかもしれない。


まずはYouTubeへアップしたムービーでご覧ください。
論理モデルを日本語で作成し、物理モデルへ変換する。
その際のポイントは以下。

  • 変換する際に英語表記へ変換しているが制約名(主キー制約、ユニーク制約、外部参照制約など)を日本語表記から英語表記へ置換する機能が無い(?)ようで、制約名に関しては論理モデル上で英語表記へ手動変更している。

  • 外部参照制約では外部キー削除時のデフォルトアクションをNO ACTIONと設定していてもSET NULLが設定されてしまうため、この項目についても適宜手動で設定する必要がある。

  • DDL生成時に指定した名称を置換する「Name Substitution」機能は動作しないようなので使うのをやめた。(使い方が悪いのか?)

  • 今回あえて、日本語名のままのカラム(従業員.給与)を残しておきDDLにどのように書き出されるか確認しておいた。結果としては識別引用子(quoted identifier)は付加されないので「日本語名称でテーブル等のデータベースオブジェクト名称」を作成したいという方々には残念!かも。ただ、どうしても識別引用子を付加したい場合もあると思うのでDDL生成時オプションとして用意してもらえると良いと思う。(確かObjectBrowser ERはそんな機能があったような気がする。)

  • 論理モデル上にてリレーションを作成した場合、属性名称のPreferred Abbreviationに指定した名称を継承しないので手動で入力する必要がる。(タイプミスには要注意。)


ムービーは最大化するといいよ!

ムービーで作成した物理モデルから生成したDDLは以下の通り。(EMPLOYEESの給与列はあえてマルチバイトのままにしてあるが識別引用子が付加されていない。赤太字部分)

他に気付いたことも幾つかあった気がする・・・・・。が・・・思い出したらこのエントリに追記するか別エントリにする予定。

尚、論理モデルから物理モデルへ変換する際「Apply Name Translation」と「Use preferred abbreviations」をチェックしたが、「Use preferred abbreviations」をチェックしなかった場合はどこに設定した名称に変換してくれるのか未確認。


-- Generated by Oracle SQL Developer Data Modeler Version: 2.0.0 Build: 570
-- at: 2009-09-26 22:05:49
-- site: Oracle Database 11g
-- type: Oracle Database 11g


CREATE TABLE DEPARTMENTS
(
DEPARTMENT_ID NUMBER (4) NOT NULL ,
DEPARTMENT_NAME VARCHAR2 (60 BYTE) NOT NULL
) TABLESPACE HOGE_TS

;


COMMENT ON TABLE DEPARTMENTS IS '部署マスタ'
;

COMMENT ON COLUMN DEPARTMENTS.DEPARTMENT_ID IS '部署ID'
;

COMMENT ON COLUMN DEPARTMENTS.DEPARTMENT_NAME IS '部署名'
;
CREATE UNIQUE INDEX DEPARTMENTS_PKX ON DEPARTMENTS
(
DEPARTMENT_ID ASC
)
;

ALTER TABLE DEPARTMENTS
ADD CONSTRAINT DEPARTMENTS_PK PRIMARY KEY ( DEPARTMENT_ID ) ;


CREATE TABLE EMPLOYEES
(
EMPLOYEE_ID NUMBER (5) NOT NULL ,
EMPLOYEE_NAME VARCHAR2 (40 BYTE) NOT NULL ,
給与 NUMBER (7,2) NOT NULL ,
DEPARTMENT_ID NUMBER (4) ,
MGR_ID NUMBER (5)
) TABLESPACE HOGE_TS

;



COMMENT ON TABLE EMPLOYEES IS '従業員マスタ'
;

COMMENT ON COLUMN EMPLOYEES.EMPLOYEE_ID IS '従業員ID'
;

COMMENT ON COLUMN EMPLOYEES.EMPLOYEE_NAME IS '従業員名'
;

COMMENT ON COLUMN EMPLOYEES.給与 IS '給与'
;

COMMENT ON COLUMN EMPLOYEES.DEPARTMENT_ID IS '部署ID'
;

COMMENT ON COLUMN EMPLOYEES.MGR_ID IS '上司ID'
;
CREATE UNIQUE INDEX EMPLOYEES_PKX ON EMPLOYEES
(
EMPLOYEE_ID ASC
)
;
CREATE INDEX EMP_DEPT_FK1X ON EMPLOYEES
(
DEPARTMENT_ID ASC
)
;
CREATE INDEX EMP_EMP_FK1X ON EMPLOYEES
(
MGR_ID ASC
)
;

ALTER TABLE EMPLOYEES
ADD CONSTRAINT EMPLOYEES_PK PRIMARY KEY ( EMPLOYEE_ID ) ;



ALTER TABLE EMPLOYEES
ADD CONSTRAINT EMP_DEPT_FK1 FOREIGN KEY
(
DEPARTMENT_ID
)
REFERENCES DEPARTMENTS
(
DEPARTMENT_ID
)
;


ALTER TABLE EMPLOYEES
ADD CONSTRAINT EMP_EMP_FK1 FOREIGN KEY
(
MGR_ID
)
REFERENCES EMPLOYEES
(
EMPLOYEE_ID
)
;


-- Oracle SQL Developer Data Modeler Summary Report:
--
-- CREATE TABLE 2
-- CREATE INDEX 4
-- ALTER TABLE 2
-- CREATE VIEW 0
-- CREATE PROCEDURE 0
-- CREATE TRIGGER 0
-- CREATE STRUCTURED TYPE 0
-- CREATE COLLECTION TYPE 0
-- CREATE CLUSTER 0
-- CREATE CONTEXT 0
-- CREATE DATABASE 0
-- CREATE DIMENSION 0
-- CREATE DIRECTORY 0
-- CREATE DISK GROUP 0
-- CREATE ROLE 0
-- CREATE ROLLBACK SEGMENT 0
-- CREATE SEQUENCE 0
-- CREATE SNAPSHOT 0
-- CREATE SYNONYM 0
-- CREATE TABLESPACE 0
-- CREATE USER 0
--
-- DROP TABLESPACE 0
-- DROP DATABASE 0
--
-- ERRORS 0
-- WARNINGS 0




バックナンバー
Oracle SQL Developer Data Modeler #1
Oracle SQL Developer Data Modeler #2

| | コメント (0) | トラックバック (0)

2009年9月20日 (日)

Oracle SQL Developer Data Modeler #2

Oracle SQL Developer Data Modelerの第2回目です。
今回はOracle database 11g release 2 for Linux x86のHRスキーマのテーブル定義をリーバスエンジニアリングし物理モデルと論理モデル、ついでにDDLも生成してみた。以下のムービーの通りリレーションの自動レイアウトはちょっとイマイチかもしれないがそれ以外は良さげです。ちなみに今回の例でも日本語は使っていません。多分次回のエントリで日本語を使っている所を出せるかも。。あくまで予定ですので未定ですが。


以下のムービーはQuickTIme XのScreen Recorderで記録後、YouTubeへアップロード。さらにサウンドトラックをYouTube上で設定した。


尚、上記例ではOracle SQL Developer Data ModelerからOracle database 11g release 2 へはTNS接続していましうす。MacOS XのOracle SQL DeveloperでTNS接続を利用する方法と同じです。詳細は以下を参照してください。

「Oracle SQL Developer for MacOSX で Oracle Instant Clientを使ってみる」


バックナンバー
Oracle SQL Developer Data Modeler #1

| | コメント (0) | トラックバック (0)

2009年9月18日 (金)

QuickTime X - Screen Recorder

以前もちょっと書いたけどSnow LeopardのQuickTime XからScreen Recorder機能が追加されている。この機能、操作ガイドなど作るのには非常に便利。いままではShareware使ってたりした方が多かったと思うけどSnow LeopardならQuickTime Xを起動してレコーディングすだけでOK。

1

QuickTime X Playerを起動して「メニュー」→「新規画面収録 ^⌘N」を選択。
2

「画面収録」ダイアログが表示された録画ボタンをクリックするだけで開始される。デフォルトの保存場所は「ムービー」フォルダ」。
「収録の開始」ボタンをクリックすると操作が録画される。

6

4

実際に収録したムービーは次の記事の時にで使う予定。

| | コメント (0) | トラックバック (0)

2009年9月 6日 (日)

MacBook Pro 15inch (MacBookPro3,1)は64bit mode kernelで起動するはずだが・・・・

64bit mode kernelで起動できるのかって話題いろいろと飛び交ってるので、うちのMacBook Pro 15inch(MacBookPro3,1)で確認してみた。現状では起動する条件は整っているように見えるが64bit kernel modeでは起動しない。
以下のチェックではMacBook Pro 15inch (MacBookPro3,1)はSnow Leopardでは64bit mode kernelで起動できるはずだが。。。。(アップルが公表している資料を見る限りでは。。



guppy:˜ oracle$ 
guppy:˜ oracle$
guppy:˜ oracle$ system_profiler SPSoftwareDataType SPHardwareDataType | grep -E '(Mac OS|64-bit|Model Identifier|Processor Name)'
System Version: Mac OS X 10.6 (10A432)
64-bit Kernel and Extensions: No
Model Identifier: MacBookPro3,1
Processor Name: Intel Core 2 Duo

guppy:˜ oracle$ ioreg -l -p IODeviceTree | grep firmware-abi
| | "firmware-abi" = <"EFI64">
guppy:˜ oracle$


なぜ起動しないのだろうとApple Support Forumを検索してみたら。。。どうやら64bit mode kernel起動可能な機種ではあるがfirmwareの不具合であるとうい書き込みを見つけた。。。待つしかないかな。。。ということでひとまず64bit kernelでのお遊びはまたの機会に。

| | コメント (0) | トラックバック (0)

2009年6月11日 (木)

MacOS X Snow Leopard - QuickTIme X

MacOS X Snow Leopardで登場するQuickTime Xではscreen recorder機能が搭載されるんだね〜。便利だ。

2

ついでなので書いておくと。6月17日にダウンロード開始とされているiPhone OS 3.0。OSがアップデートすることでいろいろな機能が追加される。待ち遠しい。
22

| | コメント (0) | トラックバック (0)