Skip to main content

This documentation is for an older version of this product. See the latest version of this content.Opens in a new tab

構成パラメータ・ファイルの概要

InterSystems IRIS® データ・プラットフォームは、起動時に構成パラメータ・ファイル (CPF) iris.cpf から構成値を読み取ります。このファイルには、InterSystems IRIS の特定の構成がインスタンスごとに定義されています。

このトピックでは、CPF の使用および編集の方法について説明します。このリファレンスの最初にある “目次” に、CPF の各パラメータをセクション別にソートして示しています。

Note:

このドキュメントおよび CPF そのものの中では、メモリを 2 の累乗として表します。例えば、1 キロバイト (KB) は 1024 バイトを意味し、1 メガバイト (MB) は 1024 KB を意味します。

CPF の概要

構成パラメータ・ファイル (CPF) は、InterSystems IRIS 構成を定義します。起動時に、InterSystems IRIS は CPF を読み取ってそのほとんどの設定の値を取得します。

既定の CPF である iris.cpf は、インストール・ディレクトリOpens in a new tabにあります。"アクティブな CPF の編集" のセクションで説明されているように、CPF を編集する方法は複数あります。

InterSystems IRIS は CPF のバックアップを複数作成します。iris.cpf ファイルが変更されている場合、InterSystems IRIS は 1 日 1 回、同じディレクトリに iris.cpf_yyyymmdd という名前のバックアップを作成します。これらのバックアップは、1 年が経過すると自動的に削除されます。さらに、起動またはシャットダウンが正常に完了した後にも、CPF のコピーが、最新の有効な構成を表す _LastGood_.cpf としてインストール・ディレクトリに保存されます。

CPF の形式

構成パラメータ・ファイルは、行単位の表記の UTF-8 テキスト・ファイルで、拡張子 .cpf が付いています。各行の終わりには、キャリッジ・リターンと改行文字を置きます。長い項目を次の行に続けることはできません。ファイル内の 1 行は、以下のいずれかの要素になります。

空白スペース

一般的に、行の先頭や行の終わりにあるスペースは無視されます。行の途中にあるスペースは、通常は意味があります。行の途中のスペースは、文字列内で意味を持つ要素である場合を除いて、使用しないことをお勧めします。

セクション見出し

互いに関連する設定は同じセクションに集められています。セクションの開始を示す行では、セクションの名前が角括弧で囲まれています。以下はその例です。

[Devices]

セクション見出し以降、次のセクション名 (またはファイルの終わり) までの行はすべて、同じセクションに属します。

パラメータ

セクション見出しの下にある行はそれぞれ、1 つのパラメータの定義です。パラメータ行の構文は以下のとおりです。keyword はパラメータ名、value は文字列です。

keyword=value

構成する類似の項目のセットがある場合は、keyword_# と表示される場合があります。例えば、ネームスペース、データベース、デバイスなど、類似の項目または項目のグループを構成する場合は、1 行に 1 項目ずつ指定します。構文は以下のとおりです。

keyword_1=value
keyword_2=value
keyword_n=value

value 文字列の構文は、パラメータによって大きく異なります。パラメータに応じて、True または False を表す 1 または 0、バイト数やMB 数などを指定します。また、値が 1 つのみの場合もあれば、複数の値を区切り文字で区切って指定する場合もあります。文字列の中の区切り文字も、コンマ、セミコロン、チルダ (~)、スラッシュ (/)、コロン、およびこれらの組み合わせなど、パラメータによって異なります。

Important:

InterSystems IRIS のバージョン 2022.1.1 以降、パラメータ値として空の引用符を設定すると (parameter="")、その値は空の文字列 (値なし) に設定されます (これまでのバージョンでは、このように設定すると既定値に設定されていました)。必須のパラメータ値として空の文字列を設定することはできないので、このようなパラメータを空の引用符に設定するとエラーになります。

コメント

CPF ではコメントがサポートされています。コメントは、1 行に記述することも、複数行にわたって記述することもできます。また、行の先頭から始めることも、行の他の内容の後から始めることもできます。

1 行コメントを挿入するには、“;” (セミコロン)、“#” (シャープ記号)、または “//” (2 つのスラッシュ) を使用します。

複数行コメントを挿入するには、“/*” (スラッシュ、アスタリスク) を使用してコメントを開始し、“*/” (アスタリスク、スラッシュ) を使用して終了します。

CPF のサンプル

InterSystems IRIS バージョン 2021.2 の一部としてインストールした既定の CPF の例を以下に示します。例えば、[Startup] セクションの DefaultPort パラメータと WebServerPort パラメータの値として、それぞれ既定のスーパーサーバ・ポート 1972 と既定の Web サーバ・ポート 52773 が設定されています。

[ConfigFile]
Product=IRIS
Version=2023.1

[ECPServers]
CONTAINERT=docs-api-dev.iscinternal.com,1792
JUL28=172.24.208.1,51798

[Databases]
IRISSYS=C:\InterSystems\20223-604-JAN27\Mgr\
IRISLIB=C:\InterSystems\20223-604-JAN27\Mgr\irislib\
IRISTEMP=C:\InterSystems\20223-604-JAN27\Mgr\iristemp\
IRISLOCALDATA=C:\InterSystems\20223-604-JAN27\Mgr\irislocaldata\
IRISAUDIT=C:\InterSystems\20223-604-JAN27\Mgr\irisaudit\
ENSLIB=C:\InterSystems\20223-604-JAN27\Mgr\enslib\
USER=C:\InterSystems\20223-604-JAN27\Mgr\user\

[Namespaces]
%SYS=IRISSYS
USER=USER

[MirrorMember]
AgentAddress=
AsyncMemberGUID=
AsyncMemberType=0
AsyncUseSystemPurgeInterval=0
JoinMirror=0
SystemName=
ValidatedMember=0
VirtualAddressInterface=

[Journal]
AlternateDirectory=C:\InterSystems\20223-604-JAN27\Mgr\journal\
BackupsBeforePurge=2
CompressFiles=1
CurrentDirectory=C:\InterSystems\20223-604-JAN27\Mgr\journal\
DaysBeforePurge=2
FileSizeLimit=1024
FreezeOnError=0
JournalFilePrefix=
JournalcspSession=0

[Startup]
CallinHalt=1
CallinStart=1
CliSysName=
DBSizesAllowed=8192
DefaultPort=51801
DefaultPortBindAddress=
EnableVSSBackup=1
EnsembleAutoStart=1
ErrorPurge=30
FIPSMode=0
IPv6=0
JobHalt=1
JobServers=0
JobStart=1
LicenseID=
MaxConsoleLogSize=5
MaxIRISTempSizeAtStart=0
PasswordHash=
ProcessHalt=1
ProcessStart=1
ShutdownTimeout=300
SystemHalt=1
SystemMode=
SystemStart=1
TempDirectory=Temp
TerminalPrompt=8,2
WebServer=1
WebServerName=
WebServerPort=52801
WebServerURLPrefix=
ZSTU=1

[WorkQueues]
Default=
SQL=

[Gateways]
%DotNet Server=.NET,53301,%Gateway_Object,N6.0
%IntegratedML Server=ML,53501,%Gateway_ML
%JDBC Server=JDBC,53701,%Gateway_SQL,,,,,,,0
%Java Server=Java,53201,%Gateway_Object
%Python Server=Python,53401,%Gateway_Object
%R Server=R,53801,%Gateway_Object
%XSLT Server=XSLT,53601,%Gateway_Object,,,,,,,0

[DeviceSubTypes]
C-ANSI=80^#,$C(27,91,72,27,91,74)^25^$C(8)^W $C(27,91)_(DY+1)_";"_(DX+1)_"H" S $X=DX,$Y=DY^$C(27,91,74)^$C(27,91,75)^$C(27,91,72,27,91,74)^$C(8,32,8)
C-IRIS Terminal=80^#,$C(27,91,72,27,91,74)^24^$C(8)^W $C(27,91)_(DY+1)_";"_(DX+1)_"H" S $X=DX,$Y=DY^$C(27,91,74)^$C(27,91,75)^$C(27,91,72,27,91,74)^$C(8,32,8)
C-TV925=80^#,$C(27,44)^24^$C(8)^W $C(27,61,DY+32,DX+32) S $X=DX,$Y=DY^^^$C(27,44)^$C(8,32,8)
C-VT100=80^#,$C(27,91,72,27,91,74)^24^$C(8)^W $C(27,91)_(DY+1)_";"_(DX+1)_"H" S $X=DX,$Y=DY^$C(27,91,74)^$C(27,91,75)^^
C-VT101W=132^#,$C(27,91,72,27,91,74)^14^$C(8)^W $C(27,91)_(DY+1)_";"_(DX+1)_"H" S $X=DX,$Y=DY^$C(27,91,74)^$C(27,91,75)^^
C-VT132=132^#,$C(27,91,72,27,91,74)^24^$C(8)^W $C(27,91)_(DY+1)_";"_(DX+1)_"H" S $X=DX,$Y=DY^$C(27,91,74)^$C(27,91,75)^^
C-VT220=80^#,$C(27,91,72,27,91,74)^24^$C(8)^W $C(27,91)_(DY+1)_";"_(DX+1)_"H" S $X=DX,$Y=DY^$C(27,91,74)^$C(27,91,75)^$C(27,91,72,27,91,74)^$C(8,32,8)
C-VT240=80^#,$C(27,91,72,27,91,74)^24^$C(8)^W $C(27,91)_(DY+1)_";"_(DX+1)_"H" S $X=DX,$Y=DY^$C(27,91,74)^$C(27,91,75)^$C(27,91,72,27,91,74)^$C(8,32,8)
C-VT52=80^#,$C(27,72)^24^$C(8)^W $C(27,89,DY+32,DX+32) S $X=DX,$Y=DY^^^^
M/UX=255^#^66^$C(8)^^^^^
MAIL=132^#^11^$C(8)^^^^^
P-DEC=132^#^66^$C(8)^^^^^
PK-DEC=150^#^66^$C(8)^^^^^
PK-QUME=150^#^66^$C(8)^^^^^

[Devices]
0=0^TRM^C-IRIS Terminal^^^^Principal device^
2=2^SPL^PK-DEC^^^^Spool LA120^
47=47^MT^M/UX^^("auv":0:2048)^^Magnetic tape^
48=48^MT^M/UX^^("avl":0:2048)^^Magnetic tape^
57=57^BT^M/UX^^("auv":0:2048)^^Magnetic tape^
58=58^BT^M/UX^^("avl":0:2048)^^Magnetic tape^
SPOOL=2^SPL^PK-DEC^^^^Spool LA120^
TERM=0^TRM^C-IRIS Terminal^^^^Windows Console^
|LAT|=0^TRM^C-VT220^^^^Principal device^
|PRN|=|PRN|^OTH^P-DEC^^"W"^^Windows Printer^
|TNT|=0^TRM^C-VT220^^^^Principal device^
|TRM|=0^TRM^C-IRIS Terminal^^^^Windows Console^

[MagTapes]
47=\\.\TAPE0
48=\\.\TAPE1
57=\\.\TAPE0
58=\\.\TAPE1

[config]
LibPath=
MaxServerConn=1
MaxServers=2
Path=
PythonPath=
bbsiz=-1
console=,
errlog=500
globals=0,0,0,0,0,0
gmheap=53952
history=500
ijcbuff=512
ijcnum=16
jrnbufs=64
locksiz=0
memlock=0
netjob=1
nlstab=50
overview=Windows (Intel)~Windows
pijdir=
routines=0
targwijsz=0
udevtabsiz=24576
wijdir=
zfheap=0,0

[Miscellaneous]
AsyncDisconnectErr=0
AsynchError=1
BreakMode=1
CollectResourceStats=0
DisconnectErr=0
FileMode=0
GlobalKillEnabled=1
IEEEError=1
LicenseAltHeaders=0
LineRecall=1
ListFormat=0
LogRollback=0
MVDefined=0
NodeNameInPid=0
NullSubscripts=0
OldZU5=0
OpenMode=0
PopError=0
RefInKind=0
ScientificNotation=1
SetZEOF=0
ShutDownLogErrors=0
StopID=0
SwitchOSdir=0
SynchCommit=0
TelnetNUL=0
TruncateOverflow=0
Undefined=0
UseNagleAlgorithm=0
ViewPastData=0
ZDateNull=0
ZaMode=0

[ECP]
ClientReconnectDuration=1200
ClientReconnectInterval=5
ServerTroubleDuration=60

[Cluster]
CommIPAddress=
JoinCluster=0

[LicenseServers]
LOCAL=127.0.0.1,4002

[Monitor]
SNMPEnabled=0

[IO]
File=^%X364
MagTape=^%XMAG
Other=^%X364
Terminal=^%X364

[SQL]
ANSIPrecedence=1
AdaptiveMode=1
AllowRowIDUpdate=0
AutoParallel=1
AutoParallelThreshold=3200
BiasQueriesAsOutlier=0
Comment=1
DBMSSecurity=1
DDLDefineBitmapExtent=1
DDLFinal=1
DDLNo201=0
DDLNo30=0
DDLNo307=0
DDLNo311=0
DDLNo315=0
DDLNo324=0
DDLNo333=0
DDLSQLOnlyCompile=0
DDLUseExtentSet=1
DDLUseSequence=1
DefaultSchema=SQLUser
DelimitedIds=1
DropDelete=1
ECPSync=0
ExtrinsicFunctions=0
FastDistinct=1
IdKey=1
IdTrxFrom=~ `!@#$%^&*()_+-=[]\{}|;':",./<>?
IdTrxTo=
LockThreshold=1000
LockTimeout=10
ODBCVarcharMaxlen=4096
ParameterSampling=0
QueryProcedures=0
RTPC=1
ReferentialChecks=1
SaveMAC=0
TCPKeepAlive=300
TODATEDefaultFormat=DD MON YYYY
TimePrecision=0

[SqlSysDatatypes]
BIGINT=%Library.BigInt
BIGINT(%1)=%Library.BigInt
BINARY=%Library.Binary(MAXLEN=1)
BINARY VARYING=%Library.Binary(MAXLEN=1)
BINARY VARYING(%1)=%Library.Binary(MAXLEN=%1)
BINARY(%1)=%Library.Binary(MAXLEN=%1)
BIT=%Library.Boolean
BLOB=%Stream.GlobalBinary
CHAR=%Library.String(MAXLEN=1)
CHAR VARYING=%Library.String(MAXLEN=1)
CHAR VARYING(%1)=%Library.String(MAXLEN=%1)
CHAR(%1)=%Library.String(MAXLEN=%1)
CHARACTER=%Library.String(MAXLEN=1)
CHARACTER VARYING=%Library.String(MAXLEN=1)
CHARACTER VARYING(%1)=%Library.String(MAXLEN=%1)
CHARACTER(%1)=%Library.String(MAXLEN=%1)
CLOB=%Stream.GlobalCharacter
DATE=%Library.Date
DATETIME=%Library.DateTime
DATETIME2=%Library.DateTime
DEC=%Library.Numeric(MAXVAL=999999999999999,MINVAL=-999999999999999,SCALE=0)
DEC(%1)=%Library.Numeric(MAXVAL=<|'$$maxval^%apiSQL(%1,0)'|>,MINVAL=<|'$$minval^%apiSQL(%1,0)'|>,SCALE=0)
DEC(%1,%2)=%Library.Numeric(MAXVAL=<|'$$maxval^%apiSQL(%1,%2)'|>,MINVAL=<|'$$minval^%apiSQL(%1,%2)'|>,SCALE=%2)
DECIMAL=%Library.Numeric(MAXVAL=999999999999999,MINVAL=-999999999999999,SCALE=0)
DECIMAL(%1)=%Library.Numeric(MAXVAL=<|'$$maxval^%apiSQL(%1,0)'|>,MINVAL=<|'$$minval^%apiSQL(%1,0)'|>,SCALE=0)
DECIMAL(%1,%2)=%Library.Numeric(MAXVAL=<|'$$maxval^%apiSQL(%1,%2)'|>,MINVAL=<|'$$minval^%apiSQL(%1,%2)'|>,SCALE=%2)
DOUBLE=%Library.Double
DOUBLE PRECISION=%Library.Double
FLOAT=%Library.Double
FLOAT(%1)=%Library.Double
IMAGE=%Stream.GlobalBinary
INT=%Library.Integer(MAXVAL=2147483647,MINVAL=-2147483648)
INT(%1)=%Library.Integer(MAXVAL=2147483647,MINVAL=-2147483648)
INTEGER=%Library.Integer(MAXVAL=2147483647,MINVAL=-2147483648)
LONG=%Stream.GlobalCharacter
LONG BINARY=%Stream.GlobalBinary
LONG RAW=%Stream.GlobalBinary
LONG VARCHAR=%Stream.GlobalCharacter
LONG VARCHAR(%1)=%Stream.GlobalCharacter
LONGTEXT=%Stream.GlobalCharacter
LONGVARBINARY=%Stream.GlobalBinary
LONGVARBINARY(%1)=%Stream.GlobalBinary
LONGVARCHAR=%Stream.GlobalCharacter
LONGVARCHAR(%1)=%Stream.GlobalCharacter
MEDIUMINT=%Library.Integer(MAXVAL=8388607,MINVAL=-8388608)
MEDIUMINT(%1)=%Library.Integer(MAXVAL=8388607,MINVAL=-8388608)
MEDIUMTEXT=%Stream.GlobalCharacter
MONEY=%Library.Currency
NATIONAL CHAR=%Library.String(MAXLEN=1)
NATIONAL CHAR VARYING=%Library.String(MAXLEN=1)
NATIONAL CHAR VARYING(%1)=%Library.String(MAXLEN=%1)
NATIONAL CHAR(%1)=%Library.String(MAXLEN=%1)
NATIONAL CHARACTER=%Library.String(MAXLEN=1)
NATIONAL CHARACTER VARYING=%Library.String(MAXLEN=1)
NATIONAL CHARACTER VARYING(%1)=%Library.String(MAXLEN=%1)
NATIONAL CHARACTER(%1)=%Library.String(MAXLEN=%1)
NATIONAL VARCHAR=%Library.String(MAXLEN=1)
NATIONAL VARCHAR(%1)=%Library.String(MAXLEN=%1)
NCHAR=%Library.String(MAXLEN=1)
NCHAR(%1)=%Library.String(MAXLEN=%1)
NTEXT=%Stream.GlobalCharacter
NUMBER=%Library.Numeric(SCALE=0)
NUMBER(%1)=%Library.Numeric(MAXVAL=<|'$$maxval^%apiSQL(%1)'|>,MINVAL=<|'$$minval^%apiSQL(%1)'|>,SCALE=0)
NUMBER(%1,%2)=%Library.Numeric(MAXVAL=<|'$$maxval^%apiSQL(%1,%2)'|>,MINVAL=<|'$$minval^%apiSQL(%1,%2)'|>,SCALE=%2)
NUMERIC=%Library.Numeric(MAXVAL=999999999999999,MINVAL=-999999999999999,SCALE=0)
NUMERIC(%1)=%Library.Numeric(MAXVAL=<|'$$maxval^%apiSQL(%1,0)'|>,MINVAL=<|'$$minval^%apiSQL(%1,0)'|>,SCALE=0)
NUMERIC(%1,%2)=%Library.Numeric(MAXVAL=<|'$$maxval^%apiSQL(%1,%2)'|>,MINVAL=<|'$$minval^%apiSQL(%1,%2)'|>,SCALE=%2)
NVARCHAR=%Library.String(MAXLEN=1)
NVARCHAR(%1)=%Library.String(MAXLEN=%1)
NVARCHAR(%1,%2)=%Library.String(MAXLEN=%1)
NVARCHAR(MAX)=%Stream.GlobalCharacter
POSIXTIME=%Library.PosixTime
RAW(%1)=%Library.Binary(MAXLEN=%1)
REAL=%Library.Double
ROWVERSION=%Library.RowVersion
SERIAL=%Library.Counter
SMALLDATETIME=%Library.DateTime(MINVAL="1900-01-01 00:00:00",MAXVAL="2079-06-06 23:59:59")
SMALLINT=%Library.SmallInt
SMALLINT(%1)=%Library.SmallInt
SMALLMONEY=%Library.Currency
SYSNAME=%Library.String(MAXLEN=128)
TEXT=%Stream.GlobalCharacter
TIME=%Library.Time
TIME(%1)=%Library.Time(PRECISION=%1)
TIMESTAMP=%Library.PosixTime
TIMESTAMP2=%Library.TimeStamp
TINYINT=%Library.TinyInt
TINYINT(%1)=%Library.TinyInt
UNIQUEIDENTIFIER=%Library.UniqueIdentifier
VARBINARY=%Library.Binary(MAXLEN=1)
VARBINARY(%1)=%Library.Binary(MAXLEN=%1)
VARCHAR=%Library.String(MAXLEN=1)
VARCHAR(%1)=%Library.String(MAXLEN=%1)
VARCHAR(%1,%2)=%Library.String(MAXLEN=%1)
VARCHAR(MAX)=%Stream.GlobalCharacter
VARCHAR2(%1)=%Library.String(MAXLEN=%1)

[Telnet]
DNSLookup=ON
Port=23

アクティブな CPF の編集

CPF は、管理ポータル、API 呼び出し、テキスト・エディタなど、複数の方法で操作できます。特定のパラメータを変更する方法の手順については、該当するパラメータのリファレンス・ページの "このパラメータの変更" のセクションを参照してください。変更によっては、変更を有効にするためにインスタンスの再起動が必要になる場合があります。

テキスト・エディタを使用して CPF を変更する場合は、最初にインスタンスをシャットダウンする必要があります。インストール・ディレクトリOpens in a new tabにある iris.cpf ファイルを開き、目的の変更を行います。CPF が無効であると InterSystems IRIS が起動しなくなることがあるため、CPF を編集する前にバックアップ・コピーを保存しておくことをお勧めします。必ず、この章の "CPF の形式" のセクションで説明されている構文に従ってください。

InterSystems IRIS で使用する CPF を iris start コマンドで 指定したり、部分的な CPF を作成して、UNIX® システムや Linux システムへの導入時に iris.cpf にマージしたりできます。これらのオプションは、以下のセクションで説明します。

起動時の CPF の選択

開発用、テスト用など、2 つ以上の InterSystems IRIS 構成を頻繁に切り替える場合は、それらの目的に合わせて別個の CPF を作成できます。InterSystems IRIS の起動時に、使用する .cpf ファイルを指定すると、手動で設定を変更する時間を減らすことができます。

例えば、Windows で、InterSystems IRIS インストール・ディレクトリが C:\IRIS の場合、各 CPF は以下のようになります。

C:\IRIS\iris.cpf              ; default CPF
C:\IRIS\production.cpf        ; for production 
C:\IRIS\development.cpf       ; for development
C:\IRIS\testapps.cpf          ; for testing
C:\IRIS\iris_customerbug.cpf  ; for troubleshooting

別の CPF を使用するには、まず InterSystems IRIS を停止する必要があります。続いて、InterSystems IRIS で使用する CPF のフル・パスを指定して、iris start コマンドでインスタンスを起動します。iris start コマンドについては、"システム管理ガイド" の “InterSystems IRIS 複数インスタンスの使用法” の章にある "InterSystems IRIS インスタンスの制御" のセクションで説明されています。

インスタンスのシャットダウン時に、最後の既知のエラーなし構成が、インストール・ディレクトリ内の _LastGood_.cpf というファイルに自動的に保存されます。このファイルは、必要に応じてリカバリに利用できます。

構成マージ機能の使用

UNIX® および Linux では、宣言型の構成マージ・ファイルを使用して、既定の iris.cpf を変更できます。マージ・ファイルは、任意の数の CPF パラメータに目的の値を設定する部分的な CPF です。

構成マージはさまざまな目的に役立ちます。マージ・ファイルにより、同じソースから導入する複数のインスタンスの設定を個別に指定し、自動導入や DevOps アプローチをサポートできます。以下のいずれかを実行して、コンテナ化された InterSystems IRIS インスタンスとコンテナ化されていない InterSystems IRIS インスタンスで構成マージを使用できます。

  • インスタンスの起動時または再起動時に、環境変数 ISC_CPF_MERGE_FILE を、適用する構成マージ・ファイルのパスに設定します。この変数が存在することで操作がトリガーされ、指定されたマージ・ファイルを使用してインスタンスの CPF を変更してから、インスタンスが起動されます。

    構成マージは、自動導入で非常に便利です。新規インスタンスの初回起動前に、指定された構成変更を行うため、同じコンテナ・イメージまたは同じインストール・キットから導入する複数のインスタンスの構成をカスタマイズできるからです。マルチノード・トポロジの自動導入では、複数のマージ・ファイルを使用して異なるグループのインスタンスをカスタマイズできます。例えば、計算ノードを含むシャード・クラスタOpens in a new tabの自動導入では、データ・ノード 1、残りのデータ・ノード、および計算ノードに異なるマージ・ファイルをこの順序で適用します。また、ミラーOpens in a new tabの導入時には、プライマリ、バックアップ、および非同期メンバに異なるマージ・ファイルを適用できます。

    複数のインスタンスの自動再構成も同じ方法で行うことができます。それぞれのインスタンスのグループに適用可能なマージ・ファイルを指定して、インスタンスのグループを再起動します。

    Important:

    マージ・ファイルを指定する ISC_CPF_MERGE_FILE 環境変数を使用して構成マージでコンテナをデプロイすると、そのファイルは更新の間、継続的に監視されます。コンテナが実行中である限り、見つかったファイルは直ちにマージされます。つまり、マージ・ファイルを更新することで、コンテナ化されたインスタンスの構成をいつでも更新できます。詳細は、"構成マージを使用した InterSystems IRIS の自動構成" の "構成マージを使用して既存のインスタンスを再構成する方法Opens in a new tab" を参照してください。

  • iris merge コマンドOpens in a new tabを使用して、再構成するインスタンス、適用するマージ・ファイル、および変更する CPF を指定します。既定では、マージ・ファイルは ISC_CPF_MERGE_FILE (存在する場合) で指定されたファイルで、CPF はインスタンスの現在の iris.cpf ファイルですが、どちらのファイルもコマンド行で指定できます。コマンドの構文の詳細は、"構成マージを使用して既存のインスタンスを再構成する方法" を参照してください。

    Note:

    一部の構成変更は、起動時にのみ適用されるため、iris merge で使用されるマージ・ファイルで指定した場合、インスタンスが再起動されるまで適用されません。

マージ・ファイルの構文は CPF と同じです ("CPF の形式" のセクションを参照)。また、マージ・ファイルには任意の名前と拡張子を付けることができます。マージ・ファイルには CPF 内にある任意のパラメータを記述できますが、変更しない値を含める必要はありません。

CPF とは異なり、マージ・ファイルには同じセクションとパラメータを重複して記述できます。この場合、InterSystems IRIS ではファイルの末尾に近い方の値が優先されるため、これを利用してテンプレート・マージ・ファイルを作成できます。例えば、一般的に必要な値をファイルの先頭に保存し、インスタンス固有の値を末尾に追加した場合、マージ・ファイルの読み取り時にインスタンス固有の値が優先されます。

マージ・ファイルの使用例については、以降のセクションを参照してください。InterSystems IRIS コンテナ導入時のマージ・ファイルの使用法の詳細は、"構成マージを使用した InterSystems IRIS の自動構成Opens in a new tab" を参照してください。InterSystems Cloud Manager (ICM) でのマージ・ファイルの使用法の詳細は、"InterSystems Cloud Manager ガイド" の "カスタマイズされた InterSystems IRIS 構成を使用した導入Opens in a new tab" を参照してください。InterSystems Kubernetes Operator (IKO) でのマージ・ファイルの使用法の詳細は、"InterSystems Kubernetes Operator の使用" の "configSource: 構成ファイルの作成とその ConfigMap の提供Opens in a new tab" を参照してください。

構成マージの例

この例では、起動時にマージ・ファイルを使用して、コンテナ化されていないインスタンスの共有メモリ・ヒープOpens in a new tabデータベース・キャッシュOpens in a new tabを変更する方法を説明します。これらの設定はそれぞれ gmheap パラメータと globals パラメータで制御します。

最初のステップはマージ・ファイルを作成することです。以下のサンプル・ファイルには config_merge.cpf という名前が付いていますが、任意の名前または拡張子が有効です。マージ・ファイルでは CPF と同じ構文を使用することに注意してください。

# Example configuration merge file.

[config]
globals=0,0,800,0,0,0
gmheap=256000

次に、iris stop コマンドを使用してマージ対象のターゲット・インスタンスをシャットダウンします。

$ sudo iris stop IRIS

最後に、以下のスクリプトのように ISC_CPF_MERGE_FILE を使用してインスタンスを再起動します。

このスクリプトが実行されると、iris.cpf ファイルが config_merge.cpf ファイルで指定したとおりに InterSystems IRIS によって変更されます。

#!/bin/bash

# Start InterSystems IRIS with the necessary parameters (all on one line).
sudo ISC_CPF_MERGE_FILE=/merge_files/config_merge.cpf iris start IRIS

インスタンスが起動したらマージは完了です。iris.cpf ファイルに gmheap 設定と globals 設定の目的の値が含まれることを確認します。

[config]
...
errlog=500
globals=0,0,800,0,0,0
gmheap=256000
history=500,1024
...
Note:

ISC_CPF_MERGE_FILE で指定されたマージ・ファイルが存在しない場合、インスタンスの起動時にエラー・メッセージが表示されて起動が続行されます。

構成のセキュリティ

偶発的または意図的な誤った構成から CPF を保護するために、構成セキュリティを有効にすることができます。このオプションは、[システムワイドセキュリティパラメータ] ページ ([システム管理][セキュリティ][システム・セキュリティ][システムワイドセキュリティパラメータ]) で利用できます。

構成セキュリティが有効になっている場合、InterSystems IRIS の起動時に、前回の起動時以降、構成パラメータ・ファイルが変更されたことが検出され、その変更の検証のために、InterSystems IRIS の起動ユーティリティによってユーザ名とパスワードの入力が要求されます。このユーザ・アカウントには、%Admin_Manage:Use 特権が付与されている必要があります。適切なユーザ名とパスワードを指定できない場合、オペレータは以下のいずれかを選択できます。

  1. ユーザ名とパスワードを再入力する。

  2. 最新の既知の正しい構成を使用して起動する。

  3. 起動を中止する。

オペレータが 2 番目のオプションを選択した場合は、起動時に呼び出したパラメータ・ファイルの名前 (file.cpf) が変更され、_rejected という接尾語が付加されます (file.cpf_rejected)。次に、最新の既知の正しい構成 (_LastGood_.cpf) によって file.cpf が上書きされ、この構成を使用して InterSystems IRIS が起動します。

Note:

この構成セキュリティ設定は、オペレーティング・システム・レベルのセキュリティの代わりにはなりません。構成ファイルを変更できる機能を、ユーザに対してオペレーティング・システム・レベルで厳格に制限することで、構成ファイルを保護することをお勧めします。

システム全体に適用されるその他のセキュリティ・パラメータの詳細は、"システム管理およびセキュリティ" を参照してください。

パラメータの説明

このドキュメントの各パラメータ・リファレンス・ページには、以下のほとんどのセクションが含まれます。

  • 構文 – このパラメータが含まれる CPF のセクションと、それに続く構文の概要。その下には、有効な入力の説明と既定値があります。

  • 説明 – パラメータの正式な説明。有効な入力の例や、値を選択する際のガイドラインが含まれる場合があります。

  • このパラメータの変更 – このパラメータを変更するためのさまざまな方法。プログラムによる方法、またはブラウザベースの管理ポータルを使用する方法があります。

  • 関連項目 – 関連するパラメータと関連ドキュメントへのリンク。

FeedbackOpens in a new tab