2021/05/30

V12の新しいODSバージョンとODS専用拡張子

Notes/Domino の V12 は 6月7日のローンチイベントに合わせて公開されるのだろうと勝手に思いこんでいましたが、5月27日に Flexnet からダウンロードできる状態になったことを Twitter で知り、驚きました。


早速 Docker 上で起動しましたが、順調に稼働しています!



さて、V12 では新しい ODS バージョンである「55」を使用できるようになりました。

バージョン「55」のODSを使用するには、まず notes.ini へ

CREATE_R12_DATABASES=1

を追加します。

これを追加した後、新たに作成するデータベースの ODS バージョンは「55」になります。新機能については次のリンクをご確認ください。

Domino 12 の ODS 55 で導入された拡張機能


※ひとつ前の V11 には新しい ODS バージョンは無く、V10と同じ「53」が使われていました。V12は「55」なのでひとつ飛ばしになりますが、実は「54」はV12のベータテスト中には存在しました。しかし最終ベータ版では使用できなくなってました。なお過去にもこういった「バージョン飛ばし」はありました。


既存のデータベースの ODS バージョンを「55」にするには、notes.ini への追加の他に Compact タスクを実行します。


ここでもし ODS バージョン「55」のデータベースに不具合が発生し、それが ODS バージョンに起因することが疑われる場合は、compact -r で1つ前の ODS バージョンに戻すことができます。

そして1つ前のバージョン「53」に戻した NSF へ Compact タスクを実行して再び「55」に戻ってしまうと都合が悪いので、「53」のまま変更されないよう対策したい場合があります。


そんな時に「ODS専用拡張子」を使います。データベースを新たに作成したり、既存データベースのコピーやレプリカを作る際に、ODS専用拡張子を利用できます。

ODS専用拡張子を使って作成されたデータベースは、内部に「creation-class」という情報を持ちます。既存のNSFをOSレベルでコピーして拡張子を変えたものはこの情報を持ちません。

ODS専用拡張子と creation-class は、NotesPeek を使用すると Database Information から creation-class の値で確認できます。


今回 V12 が登場したので、改めてサンプルとして作成したデータベースで確認しました。

結果は下表のとおりです。

ODS専用拡張子 ODSバージョン creation-class
.N85 51 65298
.NS9 52 65299
.NS10 53 65300
.NS12 55 65301


ODS専用拡張子ではない通常の拡張子や、サポートされていない拡張子の creation-class には NoteFile と表示されます。

拡張子 ODSバージョン creation-class
.NSF 55 NoteFile
.NS11 55 NoteFile

creation-class が NoteFile のデータベースに compact -r を実行すると ODS バージョンが1つ前の「53」に戻ります。


Domino のデータディレクトリにあるファイル一覧を Windows Explorer で見てみました(下図)。


ODS専用拡張子とそうでない拡張子のファイルが混在しています。この一覧で Notes のアイコンが表示され「HCL Notes database」として Notes と関連付けされている拡張子は .NSF と .NS4 の2つだけです。とは言えODS専用拡張子のデータベースは Notes 上の「アプリケーションを開く」の画面でファイル名を指定すれば開くことはできました。

まあファイルの関連付けなんてどうでもいいんです。問題はここからです。

Notes 上で「アプリケーションを開く」のリスト(下図)を表示すると、拡張子が4桁の .NS10 と .NS12、3桁でも .N85 のデータベースが表示されません。(※1)


管理クライアントの「ファイル」タブも同じです。Windows Explorer で表示された数からずいぶん減ってます。(※1)


実は .N85 と .NS10 が表示されない件は「のの会」でもお話したことがあります。

今回 V12 にして新たに気付いたのは、新機能の「backup」タスクを実行したときです。
デフォルトのバックアップ設定では、.NS10, .NS12, .N85 のデータベースはバックアップの対象になりませんでした。(※1)

こちらも「load backup ods_test.ns12」といったようにファイル名を指定することでバックアップはできました、念のため。


V10 と V11 では、compact -r でひとつ前の ODS バージョンの拡張子は .NS9 なので問題なくリストに表示されます。.NS10 が表示されないとしても使われる機会がほとんどなかったのかもしれませんね。まあ .N85 はあったかもしれませんが...

「そもそもODS専用拡張子なんて知らんかった!」なんて聞こえてきそうですし、V12 にアップグレードしても .NS10 を使わざるを得ないことなんてそうそう無いような気もします。

けどそろそろ対応しておいたほうがよろしいんじゃないでしょうか...HCLさん。


2021/5/31 追記

ODS専用拡張子のいくつかがバックアップされない件、障害情報が公開されました。(※1)

それから現状では、backup タスクでバックアップしないデータベースを指定できますが、バックアップするデータベースの指定ができません。今回のようにバックアップできないデータベースだけ指定したり、また全部では無く特定のデータベースだけバックアップ対象として指定できるよう、改善要望があります。ご賛同いただけると嬉しいです。


※1: 2022/1/22 追記

この記事で触れた ODS 専用拡張子の不具合は、バージョン 12.0.1 で解消されていることを確認しましたので、ここにご報告します。

「データベースを開く」では、拡張子が4桁の .NS10 と .NS12、3桁の .N85 のデータベースもきちんと表示されました。

管理クライアントの「ファイル」タブも同様に表示されました。

バージョン12の新機能であるバックアップタスクでも、きちんとバックアップされるようになりました。バックアップの箇所で触れた障害情報もステータスが「Resolved」
に変わってました。

上記とは別件で原因も異なるかもしれませんが、Domino 12.0 の新機能である Entitlement tracking では、拡張子 .n85 のデータベースがスキャン対象にならない問題がありました。こちらも 12.0.1 で解消されています(こちらの Article)のでついでにご報告します。

0 件のコメント:

コメントを投稿