質問 nl member · 2月 2, 2024

IRISコミュニティ版のライセンスキーの更新について

いつもお世話になっております。

IRISコミュニティ版を去年の4月ごろから使わせていただいておりましたが、期限切れを示唆するメッセージが出力されましたので質問させていただきます。

https://jp.community.intersystems.com/post/intersystems-iris%EF%BC%8Fin…

上記URLを拝見したところ「キーの期限を迎えた場合は、コミュニティ版の新バージョンに切り替えることで新しいキーが適用されます。」と記載されておりました。そこで、2点ほど質問がございます。

(1)新バージョンに切り替えることは具体的にどのように手順を踏めばよろしいでしょうか?

(2)新バージョンに切り替えたことで、今まで使用していたインスタンスの中身(テーブルやクラスなど)は復元や継承は可能でしょうか?

お手数をおかけしますが、教えていただけると幸いです。よろしくお願いいたします。

製品版: IRIS 2022.3

Comments

Mihoko Iijima · 2月 4, 2024

@nl member さん、こんにちは。

お使いいただいているのはWindowsまたはLinuxにインストールキットを使ってインストールされたIRISでしょうか。

もしそうであれば、新しいバージョンのコミュニティエディションにアップグレードインストールを行っていただくことで切り替えることができます。(もしコンテナ版IRISを利用されていましたら方法が異なりますので返信欄でお知らせください。)

アップグレードインストールを行っても、今まで使用されていたテーブルやクラス、データはそのまま残ります。(作成されたデータベースやUSERデータベースに保存した内容は残りますが、システム用データベースに保存したユーザ作成のデータやクラス/テーブル定義は一部を除き削除されます。)

%SYSネームスペース上で作成したユーザ作成のデータやクラス/テーブル定義ですが、Z、z、%Z、%z から始まる名称で作成した内容はアップグレード後も残りますがそれ以外のユーザ作成の情報は削除されます。詳細はドキュメントもご参照ください。「アップグレードの前に」の5番

アップグレードインストールの手順は以下の通りです。

1) IRISを停止する

2) 新バージョンのIRISインストーラーを起動後、現インスタンスを選択しアップグレードインストールを行う。

3) アップグレードインストール終了後、クラス・テーブル定義を新バージョンに合わせるため一括コンパイルを実行する。

do$system.OBJ.CompileAllNamespaces("u")

※ アップグレード前にコンパイルエラーとなるルーチン、クラス、テーブルがある場合はアップグレード後もエラーが出ますので、可能であればアップグレード前にコンパイルエラーの有無をご確認ください。


お試しいただいているバージョンと少し異なりますが、以下、WindowsLinux(Ubuntu)でのアップグレードインストールの例をご紹介します。(IRISは2023.2から2023.3にアップグレードしています。​​​​)

コミュニティエディションのライセンスキー期限切れの場合、IRISが開始できないので「2) インストーラーの起動」から始めてください。

《Windows》

TESTネームスペース・データベースを用意し、FS.Personテーブルに2件データがある状態でのアップグレード例です。

0) アップグレード前の確認

 

アップグレード前のデータの確認

TEST>write $ZV
IRIS for Windows (x86-64) 2023.2 (Build 227U) Mon Jul 31 2023 17:48:09 EDT
TEST>:sql
SQL Command Line Shell
----------------------------------------------------
 
The command prefix is currently set to: <<nothing>>.
Enter <command>, 'q' to quit, '?' for help.
[SQL]TEST>>select * from FS.Person
1.      select * from FS.Person
 
ID      Email   Name
1       taro@mail.com   山田太郎
2       hana@mail.com   鈴木花子
 
2 Rows(s) Affected
statement prepare time(s)/globals/cmds/disk: 0.2104s/45,367/309,226/0ms
          execute time(s)/globals/cmds/disk: 0.0061s/3/747/0ms
                                query class: %sqlcq.TEST.cls6
---------------------------------------------------------------------------
[SQL]TEST>>quit
 

1) IRIS停止

タスクバーのランチャー(IRのアイコン)をクリックし、「InterSystems IRISの停止」(または「InterSystems IRIS for Healthの停止」)をクリックし「シャットダウン」を選択します。

2) インストーラーの起動

「新規インスタンス」か現インスタンスかの選択肢が表示されます。現在のインスタンス名(例ではIRIS)を選択しOKボタンをクリックします。

次の画面の「アップグレード」ボタンをクリックして処理を進めます。

3) 一括コンパイル

アップグレードインストール終了後、クラス・テーブル定義を新バージョンに合わせるため、ターミナルを開き一括コンパイルを実行します(ネームスペースはどこでも大丈夫です)。

do$system.OBJ.CompileAllNamespaces("u")

以下、一括コンパイルからアップグレードインストール後のデータ確認メモです。

 

アップグレード後の確認

TEST>write $ZV
IRIS for Windows (x86-64) 2023.3 (Build 254U) Wed Nov 8 2023 13:26:07 EST
TEST>do $system.OBJ.CompileAllNamespaces("u")
 
システムネームスペース '%SYS' をスキップしています。
ネームスペースを 'TEST' に変更しています。
02/04/2024 16:18:18 に修飾子 'u' でコンパイルを開始しました。
Class FS.Personは最新状態です。
コンパイルが正常に終了しました (所要時間: 0.002秒)。
 
ネームスペースを 'USER' に変更しています。
02/04/2024 16:18:18 に修飾子 'u' でコンパイルを開始しました。
ネームスペースにコンパイルするクラスがありません:USER
コンパイルが正常に終了しました (所要時間: 0.000秒)。
 
全ネームスペースのコンパイルが正常に終了しました。所要時間は 0.007秒です。
 
TEST>:sql
SQL Command Line Shell
----------------------------------------------------
 
The command prefix is currently set to: <<nothing>>.
Enter <command>, 'q' to quit, '?' for help.
[SQL]TEST>>select * from FS.Person
3.      select * from FS.Person
 
ID      Email   Name
1       taro@mail.com   山田太郎
2       hana@mail.com   鈴木花子
 
2 Rows(s) Affected
statement prepare time(s)/globals/cmds/disk: 0.0028s/4/140/0ms
          execute time(s)/globals/cmds/disk: 0.0029s/3/747/0ms
                                query class: %sqlcq.TEST.cls2
---------------------------------------------------------------------------
[SQL]TEST>>quit
TEST>

《Linux》

TESTネームスペース・データベースを用意し、FS.Personテーブルに2件データがある状態でのアップグレード例です。

0) アップグレード前のデータの確認

 

アップグレード前のデータの確認

$ iris session iris

Node: ip-172-31-43-125, Instance: IRIS

Username: SuperUser
Password: ***
USER>set $namespace="TEST"

TEST>write $ZV
IRIS for UNIX (Ubuntu Server 22.04 LTS for x86-64) 2023.2 (Build 227U) Mon Jul 31 2023 18:12:26 EDT
TEST>:sql
SQL Command Line Shell
----------------------------------------------------

The command prefix is currently set to: <<nothing>>.
Enter <command>, 'q' to quit, '?' for help.
[SQL]TEST>>select * from FS.Person
1.      select * from FS.Person

ID      Email   Name
1       taro@mail.com   Ubuntu太郎
2       hana@mail.com   Ubuntu花子

2 Rows(s) Affected
statement prepare time(s)/globals/cmds/disk: 0.0008s/322/145/0ms
          execute time(s)/globals/cmds/disk: 0.0004s/3/748/0ms
                                query class: %sqlcq.TEST.cls6
---------------------------------------------------------------------------
[SQL]TEST>>quit

TEST>h

1) IRIS停止

 

停止ログ

$ sudo iris stop iris

            InterSystems IRIS Shutdown Status:  8:04 am 04 Feb 2024

       0 interactive jobs (Telnet/Lat)
       0 background jobs (from job command)
       5 CSP server jobs
       0 ODBC server jobs
      28 system jobs

Do you want to broadcast a message to anyone? No => No
Do you want to see the InterSystems IRIS status report? No => No
Do you want to run the user defined shutdown routine? Yes => Yes
Are you ready for the system to halt? Yes => Yes

08:04:52 Shutting down InterSystems IRIS
08:04:53 Notifying Clients
08:04:53 No user shutdown routines to execute
08:04:53 Stopping User Jobs
08:04:57 Stopping Network Servers
08:04:57 Withdrawing from License Domain
08:04:57 Waiting for users to stop
08:04:57 Stopping Client Networking
08:04:57 Removing database locks
08:04:57 Updating Journal File
08:04:58 Waiting for database updates to complete
08:04:58 Database updates complete
08:04:58 Stopping System Jobs
08:05:00 Shutdown complete

2、アップグレードインストール

新バージョンのインストーラーを起動すると、現在のインスタンスリストが表示されるので、対象のインスタンス名を「Enter instance name:」の後に記入し(例ではIRIS)アップグレードインストールを続けます。

 

アップグレードインストールの画面メモ

$ sudo ./irisinstall

Your system type is 'Ubuntu 22.04 LTS (x64)'.

Currently defined instances:

IRIS instance 'IRIS'   (default)
        directory:    /usr/irissys
        versionid:    2023.2.0.227.0com
        datadir:      /usr/irissys
        conf file:    iris.cpf  (SuperServer port = 1972, WebServer = 52773)
        status:       down, last used Sun Feb  4 08:04:57 2024
        product:      InterSystems IRIS

Enter instance name: IRIS
Do you want to update InterSystems IRIS instance 'IRIS' <Yes>?  

------------------------------------------------------------------
NOTE: Users should not attempt to access InterSystems IRIS while
      the installation is in progress.
------------------------------------------------------------------

Select installation type.
    1) Development - Install InterSystems IRIS server and all language bindings
    2) Server only - Install InterSystems IRIS server
    3) Custom
Setup type <1>? 1

Disk blocks required  = 2475820
Disk blocks available = 2184588
Disk space might be insufficient for an update.
Do you want to continue <Yes>?  

What group should be allowed to start and stop
  this instance <root>? root

InterSystems IRIS did not detect a license key file

Do you want to enter a license key <No>?  

Please review the installation options:
------------------------------------------------------------------
Instance name: IRIS
Destination directory: /usr/irissys
InterSystems IRIS version to install: 2023.3.0.254.0com
InterSystems IRIS currently installed version: 2023.2.0.227.0com
Installation type: Development
Unicode support: Y
User who owns instance: root
Group allowed to start and stop instance: root
Effective group for InterSystems IRIS processes: irisusr
Effective user for InterSystems IRIS SuperServer: irisusr
SuperServer port: 1972
WebServer port: 52773
JDBC Gateway port: 53773
Web Gateway: not using local web server
------------------------------------------------------------------

Confirm InterSystems IRIS upgrade <Yes>?  

Starting installation
Starting up InterSystems IRIS for loading...
../bin/irisinstall -s . -B -c c -C /usr/irissys/iris.cpf*IRIS -W 1 -g20 
Starting Control Process
Allocated 498MB shared memory
32MB global buffers, 80MB routine buffers
Creating a WIJ file to hold 32 megabytes of data
IRIS startup successful.
System locale setting is 'C.UTF-8'
This copy of InterSystems IRIS has been licensed for use exclusively by:
InterSystems IRIS Community
Copyright (c) 1986-2023 by InterSystems Corporation
Any other use is a violation of your license agreement

%SYS>
Start of IRIS initialization
Initializing Manager database
Recompiling routines in Manager database
Loading system routines
Updating system TEMP and LOCALDATA databases
Loading system classes
Installing National Language support
Updating Security database
Loading system source code
Building system indices
Updating Audit database
Updating Journal directory
Updating User database
Updating Interoperability databases
Scheduling inventory scan
IRIS initialization complete
285 lines written to /usr/irissys/mgr/filecheck.isc
See the 'iboot.log' file for a record of the installation.

Starting IRIS
Using 'iris.cpf' configuration file

Starting Control Process
Global buffer setting requires attention.  Auto-selected 25% of total memory.
Allocated 1529MB shared memory
976MB global buffers, 97MB routine buffers
Creating a WIJ file to hold 99 megabytes of data
This copy of InterSystems IRIS has been licensed for use exclusively by:
InterSystems IRIS Community
Copyright (c) 1986-2023 by InterSystems Corporation
Any other use is a violation of your license agreement

You can now access InterSystems IRIS, to access the management portal point your browser to:
http://localhost:52773/csp/sys/UtilHome.csp

Installation completed successfully
$

3、アップグレード後のデータの確認

アップグレードインストール終了後、クラス・テーブル定義を新バージョンに合わせるため、IRISにログインし一括コンパイルを実行します(ネームスペースはどこでも大丈夫です)。

do$system.OBJ.CompileAllNamespaces("u")

以下、一括コンパイルからアップグレードインストール後のデータ確認メモです。

 

アップグレード後の手続きメモ

$ iris session iris

Node: ip-172-31-43-125, Instance: IRIS

Username: SuperUser
Password: ***
USER>set $namespace="test"

TEST>

TEST>do $system.OBJ.CompileAllNamespaces("u")

Skipping system namespace '%SYS'.
Changing namespace to 'TEST'.
Compilation started on 02/04/2024 08:09:35 with qualifiers 'u'
Compiling class FS.Person
Compiling table FS.Person
Compiling routine FS.Person.1
Compilation finished successfully in 0.175s.

Changing namespace to 'USER'.
Compilation started on 02/04/2024 08:09:35 with qualifiers 'u'
No classes to compile in namespace: USER
Compilation finished successfully in 0.000s.

Compilation of all namespaces finished successfully. Total duration is 0.175s.

TEST>write $ZV
IRIS for UNIX (Ubuntu Server 22.04 LTS for x86-64) 2023.3 (Build 254U) Wed Nov 8 2023 13:04:38 EST
TEST>:sql
SQL Command Line Shell
----------------------------------------------------

The command prefix is currently set to: <<nothing>>.
Enter <command>, 'q' to quit, '?' for help.
[SQL]TEST>>select * from FS.Person
1.      select * from FS.Person

ID      Email   Name
1       taro@mail.com   Ubuntu太郎
2       hana@mail.com   Ubuntu花子

2 Rows(s) Affected
statement prepare time(s)/globals/cmds/disk: 0.0824s/38,715/173,878/0ms
          execute time(s)/globals/cmds/disk: 0.0006s/3/748/0ms
                                query class: %sqlcq.TEST.cls1
---------------------------------------------------------------------------
[SQL]TEST>>quit

TEST>

0
nl member  2月 5, 2024 to Mihoko Iijima

ご返信ありがとうございます。インストールキットを用いて使用しているため、上記コメントを参考にアップグレードをいたします。

0