IRISコミュニティ版のライセンスキーの更新について
いつもお世話になっております。
IRISコミュニティ版を去年の4月ごろから使わせていただいておりましたが、期限切れを示唆するメッセージが出力されましたので質問させていただきます。
https://jp.community.intersystems.com/post/intersystems-iris%EF%BC%8Fin…
上記URLを拝見したところ「キーの期限を迎えた場合は、コミュニティ版の新バージョンに切り替えることで新しいキーが適用されます。」と記載されておりました。そこで、2点ほど質問がございます。
(1)新バージョンに切り替えることは具体的にどのように手順を踏めばよろしいでしょうか?
(2)新バージョンに切り替えたことで、今まで使用していたインスタンスの中身(テーブルやクラスなど)は復元や継承は可能でしょうか?
お手数をおかけしますが、教えていただけると幸いです。よろしくお願いいたします。
Comments
@nl member さん、こんにちは。
お使いいただいているのはWindowsまたはLinuxにインストールキットを使ってインストールされたIRISでしょうか。
もしそうであれば、新しいバージョンのコミュニティエディションにアップグレードインストールを行っていただくことで切り替えることができます。(もしコンテナ版IRISを利用されていましたら方法が異なりますので返信欄でお知らせください。)
アップグレードインストールを行っても、今まで使用されていたテーブルやクラス、データはそのまま残ります。(作成されたデータベースやUSERデータベースに保存した内容は残りますが、システム用データベースに保存したユーザ作成のデータやクラス/テーブル定義は一部を除き削除されます。)
%SYSネームスペース上で作成したユーザ作成のデータやクラス/テーブル定義ですが、Z、z、%Z、%z から始まる名称で作成した内容はアップグレード後も残りますがそれ以外のユーザ作成の情報は削除されます。詳細はドキュメントもご参照ください。「アップグレードの前に」の5番
アップグレードインストールの手順は以下の通りです。
1) IRISを停止する
2) 新バージョンのIRISインストーラーを起動後、現インスタンスを選択しアップグレードインストールを行う。
3) アップグレードインストール終了後、クラス・テーブル定義を新バージョンに合わせるため一括コンパイルを実行する。
do$system.OBJ.CompileAllNamespaces("u")※ アップグレード前にコンパイルエラーとなるルーチン、クラス、テーブルがある場合はアップグレード後もエラーが出ますので、可能であればアップグレード前にコンパイルエラーの有無をご確認ください。
お試しいただいているバージョンと少し異なりますが、以下、WindowsとLinux(Ubuntu)でのアップグレードインストールの例をご紹介します。(IRISは2023.2から2023.3にアップグレードしています。)
コミュニティエディションのライセンスキー期限切れの場合、IRISが開始できないので「2) インストーラーの起動」から始めてください。
《Windows》
TESTネームスペース・データベースを用意し、FS.Personテーブルに2件データがある状態でのアップグレード例です。
0) アップグレード前の確認
アップグレード前のデータの確認
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の停止」)をクリックし「シャットダウン」を選択します。
.png)
2) インストーラーの起動
「新規インスタンス」か現インスタンスかの選択肢が表示されます。現在のインスタンス名(例ではIRIS)を選択しOKボタンをクリックします。
次の画面の「アップグレード」ボタンをクリックして処理を進めます。
.png)
3) 一括コンパイル
アップグレードインストール終了後、クラス・テーブル定義を新バージョンに合わせるため、ターミナルを開き一括コンパイルを実行します(ネームスペースはどこでも大丈夫です)。
do$system.OBJ.CompileAllNamespaces("u")以下、一括コンパイルからアップグレードインストール後のデータ確認メモです。
アップグレード後の確認
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) アップグレード前のデータの確認
アップグレード前のデータの確認
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停止
停止ログ
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)アップグレードインストールを続けます。
アップグレードインストールの画面メモ
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")以下、一括コンパイルからアップグレードインストール後のデータ確認メモです。
アップグレード後の手続きメモ
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>
ご返信ありがとうございます。インストールキットを用いて使用しているため、上記コメントを参考にアップグレードをいたします。
💡 この質問は重要な質問とみなされます。 詳細はこちら。