Oracle Autonomous Database Free Container Image Documentation
以下のMacbook Proで作業を行なっています。今となっては世代が古いM1チップです。Mシリーズの世代で動作は変わらないとは思いますが、QEMUによるIntel CPUのエミュレーションで動作させるため、CPUの世代の違いで動作が変わることが無いとは言えません。
FAQのHow can I install colima and docker on machines with M1/M2 chips ?に記載されている手順に従い、docker、docker-compose、colima、qemuをインストールします。
brew install docker
% docker --version
Docker version 26.0.0, build 2ae903e86c
% docker-compose --version
Docker Compose version 2.26.0
% colima --version
colima version 0.6.8
% qemu-system-x86_64 -version
QEMU emulator version 8.2.1
Copyright (c) 2003-2023 Fabrice Bellard and the QEMU Project developers
%
% colima start --cpu 8 --memory 18 --arch x86_64
INFO[0000] starting colima
INFO[0000] runtime: docker
INFO[0001] starting ... context=vm
INFO[0065] provisioning ... context=docker
INFO[0067] starting ... context=docker
INFO[0077] done
%
docker pull container-registry.oracle.com/database/adb-free:latest
% docker pull container-registry.oracle.com/database/adb-free:latest
latest: Pulling from database/adb-free
66cb99a7273e: Pull complete
0e3c46fdb0f9: Pull complete
054518c1d5d2: Pull complete
Digest: sha256:65641de72d0e18787bca990c452b3a13fab6ca3a6f00f6e4bd758520efd82bf4
Status: Downloaded newer image for container-registry.oracle.com/database/adb-free:latest
container-registry.oracle.com/database/adb-free:latest
%
コンテナadb-freeを作成します。作成するAutonomous Datababaseの管理者パスワードを環境変数MYPASSに設定します。ワークロード・タイプにATPを指定します。
% export MYPASS=********
% docker run -d \
-p 1521:1522 \
-p 1522:1522 \
-p 8443:8443 \
-p 27017:27017 \
-e WORKLOAD_TYPE='ATP' \
-e WALLET_PASSWORD=$MYPASS \
-e ADMIN_PASSWORD=$MYPASS \
--cap-add SYS_ADMIN \
--device /dev/fuse \
--name adb-free \
container-registry.oracle.com/database/adb-free:latest
b25947e90852286716d9f7fa2abca0d3e56086bad56535843c7938ddbabcd5b7
%
% docker logs -f adb-free
Archive: /u01/POD1.zip
creating: /u01/app/oracle/oradata/
creating: /u01/app/oracle/oradata/POD1/
creating: /u01/app/oracle/oradata/POD1/0A156A2AE0DA39A7E06377234664C7E0/
creating: /u01/app/oracle/oradata/POD1/0A156A2AE0DA39A7E06377234664C7E0/datafile/
inflating: /u01/app/oracle/oradata/POD1/0A156A2AE0DA39A7E06377234664C7E0/datafile/o1_mf_temp_lwbwv5fk_.tmp
creating: /u01/app/oracle/oradata/POD1/0A1438F87F472D38E0637723466488D2/
creating: /u01/app/oracle/oradata/POD1/0A1438F87F472D38E0637723466488D2/datafile/
inflating: /u01/app/oracle/oradata/POD1/0A1438F87F472D38E0637723466488D2/datafile/o1_mf_temp_lwbwv4cg_.tmp
inflating: /u01/app/oracle/oradata/POD1/redo01.log
creating: /u01/app/oracle/oradata/POD1/10E957D242B84061E0636402000AF924/
creating: /u01/app/oracle/oradata/POD1/10E957D242B84061E0636402000AF924/datafile/
# /tmp/hs_err_pid767.log
Could not load hsdis-amd64.so; library not loadable; PrintAssembly is disabled
#
# If you would like to submit a bug report, please visit:
# https://bugreport.java.com/bugreport/crash.jsp
#
/usr/local/bin/ords: line 222: 767 Aborted ${JAVA} "${APP_VM_OPTS[@]}" ${ORDS_DEBUG} -jar "${ORDS_HOME}"/${ORDS_WAR} ${ORDS_VERBOSE} "$@"
% docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
%
% docker container ls -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
b25947e90852 container-registry.oracle.com/database/adb-free:latest "/bin/bash -c /u01/s…" 12 minutes ago Exited (134) 4 minutes ago adb-free
%
コンテナadb-freeを起動します。
docker start adb-free
% docker start adb-free
adb-free
%
また、以下のような状況でエラーが発生し、構成スクリプトが中断したこともありました。
ORDS: Release 23.4 Production on Tue Mar 26 05:41:46 2024
Copyright (c) 2010, 2024, Oracle.
Configuration:
/u01/ords/
Oracle REST Data Services - Non-Interactive Customer Managed ORDS for Autonomous Database
Error the Autonomous database connection failed for user: ADMIN TNS service name: MY_ATP_low
java.sql.SQLRecoverableException: IO Error: Connection reset by peer, connect lapse 1508 ms., Authentication lapse 0 ms.
この場合は、コンテナを削除して作り直すことで対応できました。(docker rmとdocker runの再実行)。原因は不明ですが、Colimaの環境を作成した直後にadb-freeのコンテナを作成すると、コンテナの再作成が必要なエラーが発生することが多い気がします。
2024-03-26T06:29:05.910Z WARNING *** jdbc.InitialLimit in configuration |default|lo| is using a value of 3, this setting may not be sized adequately for a production environment ***
2024-03-26T06:29:49.577Z INFO
Mapped local pools from /u01/ords/databases:
/ords/ => default => VALID
2024-03-26T06:29:50.285Z INFO Oracle REST Data Services initialized
Oracle REST Data Services version : 23.4.0.r3461619
Oracle REST Data Services server info: jetty/10.0.18
Oracle REST Data Services java info: Java HotSpot(TM) 64-Bit Server VM 11.0.21+9-LTS-193
2024-03-26T06:31:43.906760+00:00
MY_ATP(3):Resize operation completed for file# 503, fname /u01/app/oracle/oradata/POD1/10E957D242B84061E0636402000AF924/datafile/o1_mf_temp_m04tjrwy_.dbf, old size 2048K, new size 12288K