oci-iam % brew install oci-cli
Warning: oci-cli 3.64.1 is already installed and up-to-date.
To reinstall 3.64.1, run:
brew reinstall oci-cli
oci-iam %
oci session authenticate --region ca-toronto-1
メッセージに「Please switch to newly opened browser window to log in!」とあるように、ブラウザの画面が開きます。
oci-iam % oci session authenticate --region ca-toronto-1
Please switch to newly opened browser window to log in!
You can also open the following URL in a web browser window to continue:
https://login.ca-toronto-1.oraclecloud.com/v1/oauth2/authorize?action=login&client_id=iaas_console&response_type=token+id_token&nonce=954c351f-1f7d-4d8e-b26c-70bdca30b65a&scope=openid&public_key=eyJrdHkiOiAiUlNBIiwgIm4iOiAid05ac3M0b19MY3pLZDA1M2h0UmJZUWpRZzRpYnZaQUh4dFhKWkdkYmJpeEJGNTBocTA1a2FYcXkwVnE1Vk5HR0lXZnUyd1NJdXdJQnMzU2x4VWt3Y25VNE1UbU5KeHFZdHZDUW9XczNhTTVKZjQ1Xzlfb1dPWVF1aDRCUlFGZWNaRFhRTi05QUlmc1JGdndoUzR4R2pBQUtTQWtDS2tIcXZaa2d0eUJEeU1VUjFJUWNERDNiWVVkVmdPTjJUUTlmSFhvV0VOM2pjTGY4NWQ4TkJqT3RLc3N4VG9xR0JDVjVISzR3WkpOd0NVd0ZCbVFsdzNPc1poM25jZ0piNVNSWWZpYWNsWlRic3R3azkzdGhWRXFoQ1JQajFZSnZMU0QwX2pVdVZNUzRwcWxSZkN6aGlHVE94NDQ2Ums2VGhoUlE3dWlxLW9HUlJEcjBwcUVlMzN4X2pRIiwgImUiOiAiQVFBQiIsICJraWQiOiAiSWdub3JlZCJ9&redirect_uri=http%3A%2F%2Flocalhost%3A8181
ブラウザの画面よりサインインするユーザーを選択します。OCIコンソールでの作業を行っているはずなので、おそらくアクティブ・セッションはあるでしょう。
oci-iam % oci session authenticate --region ca-toronto-1
Please switch to newly opened browser window to log in!
You can also open the following URL in a web browser window to continue:
https://login.ca-toronto-1.oraclecloud.com/v1/oauth2/authorize?action=login&client_id=iaas_console&response_type=token+id_token&nonce=c7d7f214-f519-4696-9503-6100f47b613e&scope=openid&public_key=eyJrdHkiOiAiUlNBIiwgIm4iOiAidWMwTC0wSDVmY2pzYjl0eG5tOXg5dG5qQ2cwLUU3UjZzRW5GbXo3MG9uTHZNS3ZnRGxQREl3cWloZm83ZmwtSDQ3OEYwZ2MxN2N3dkcwTHMtamdubEZITHBmclVqNDU2ZTBmVUlBNmFwcHRabDJaUUdJck9IZ3M4Vm1xMGlIanZYNjgxRXpWYjJiT28yampNS21OZ01TSDVNdFJMaWpQclp4Y3NoNXFXM2JkMll6djFfR0pycFNXMVJjM2YtWXpxQTViNDVuaUFSc0ZzY1k5ZTdTbWpkc052d25nMnpwcGFBNllZRXk3QjNKTGl5LU1OQVU0Y2Uwcm1WN2s4OFdaUVY4THVBXzNTdHM5OGVUdlNzQU5qWHlnNGQ2Zm9fbFpTRWdZMWpBeF82VGdkc1J4b3ZyYWRGYVlPU0VtVjRMeWc4R2lwMjBoYXVUVDZiMTVuNmZ0WGh3IiwgImUiOiAiQVFBQiIsICJraWQiOiAiSWdub3JlZCJ9&redirect_uri=http%3A%2F%2Flocalhost%3A8181
Completed browser authentication process!
Enter the name of the profile you would like to create: DBSESSION
Config written to: /Users/_____________/.oci/config
Try out your newly created session credentials with the following example command:
oci iam region list --config-file /Users/___________/.oci/config --profile DBSESSION --auth security_token
oci-iam %
データベースへの接続に使用するトークンを取得します。
oci iam db-token get --profile DBSESSION --auth security_token
oci-iam % oci iam db-token get --profile DBSESSION --auth security_token
Private key written at /Users/___________/.oci/db-token/oci_db_key.pem
db-token written at: /Users/__________/.oci/db-token/token
db-token is valid until 2025-08-26 11:55:07
oci-iam %
oci-iam % unzip -d tns_admin Wallet_SALESADB.zip
Archive: Wallet_SALESADB.zip
inflating: tns_admin/ewallet.pem
inflating: tns_admin/README
inflating: tns_admin/cwallet.sso
inflating: tns_admin/tnsnames.ora
inflating: tns_admin/truststore.jks
inflating: tns_admin/ojdbc.properties
inflating: tns_admin/sqlnet.ora
inflating: tns_admin/ewallet.p12
inflating: tns_admin/keystore.jks
oci-iam %
tns_admin/tnsnames.oraを編集します。(TOKEN_AUTH=OCI_TOKEN)の指定を含めたTNS名salesadb_ociを追加します。
salesadb_oci = (description= (retry_count=20)(retry_delay=3)(address=(protocol=tcps)(port=1522)(host=adb.ca-toronto-1.oraclecloud.com))(connect_data=(service_name=ge15__________f_salesadb_low.adb.oraclecloud.com))(security=(ssl_server_dn_match=yes)(TOKEN_AUTH=OCI_TOKEN)))
変更したtnsnames.oraを参照するように、環境変数TNS_ADMINを設定します。その後、SQLclでsalesadb_ociへ接続します。
export TNS_ADMIN=$PWD/tns_admin
sql /@salesadb_oci
oci-iam % export TNS_ADMIN=$PWD/tns_admin
oci-iam % sql /@salesadb_oci
SQLcl: 火 8月 26 11:10:45 2025のリリース25.2 Production
Copyright (c) 1982, 2025, Oracle. All rights reserved.
接続先:
Oracle Database 23ai Enterprise Edition Release 23.0.0.0.0 - for Oracle Cloud and Engineered Systems
Version 23.9.0.25.08
SQL>
グローバル認証に関する情報を確認します。
select sys_context('userenv','authentication_method'), sys_context('userenv','authenticated_identity');
SQL> select sys_context('userenv','authentication_method'), sys_context('userenv','authenticated_identity');
SYS_CONTEXT('USERENV','AUTHENTICATION_METHOD') SYS_CONTEXT('USERENV','AUTHENTICATED_IDENTITY')
_________________________________________________ __________________________________________________
TOKEN_GLOBAL y********@********.com
SQL>
接続したデータベース・ユーザーを確認します。
select sys_context('userenv','session_user'), sys_context('userenv','current_user');
SQL> select sys_context('userenv','session_user'), sys_context('userenv','current_user');
SYS_CONTEXT('USERENV','SESSION_USER') SYS_CONTEXT('USERENV','CURRENT_USER')
________________________________________ ________________________________________
MCPUSER MCPUSER
SQL>
以上で、ブラウザで認証したユーザーによりデータベースに接続できることが確認できました。
conn -save salesadb-oci -savepwd /@salesadb_oci
SQL> conn -save salesadb-oci -savepwd /@salesadb_oci
名前: salesadb-oci
接続文字列: salesadb_oci
ユーザー:
パスワード: 未保存
接続しました.
SQL> exit
Oracle Database 23ai Enterprise Edition Release 23.0.0.0.0 - for Oracle Cloud and Engineered Systems
Version 23.9.0.25.08から切断されました
oci-iam %
connmgr listを実行し、接続salesadb-ociが保存されていることを確認します。
oci-iam % sql /nolog
SQLcl: 火 8月 26 11:23:07 2025のリリース25.2 Production
Copyright (c) 1982, 2025, Oracle. All rights reserved.
SQL> connmgr list
.
├── adb-free-23ai-freepdb1-wksp_apexdev
├── local-23ai-freepdb1-sys
├── local-23ai-freepdb1-wskp_apexdev
├── mydb
├── salesadb-az
└── salesadb-oci
SQL> exit
oci-iam %
#!/bin/sh
WD=/Users/xxxxxxxxxx/Documents/oci-iam
export TNS_ADMIN=$WD/tns_admin
~/sqlcl/bin/sql -mcp
oci-iam % chmod 755 sql-mcp.sh
oci-iam %
{
"mcpServers": {
"sqlcl": {
"command": "/Users/xxxxxxxxx/Documents/oci-iam/sql-mcp.sh"
}
}
}
追記:TOKEN_AUTH=OCI_INTERACTIVEの設定について
oci-iam % sql /@salesadb_int
SQLcl: 火 8月 26 11:40:53 2025のリリース25.2 Production
Copyright (c) 1982, 2025, Oracle. All rights reserved.
接続に失敗しました
USER =
URL = jdbc:oracle:thin:@salesadb_int
エラー・メッセージ = ORA-18726: OracleResourceProviderからの値の取得に失敗しました: No implementation of oracle.jdbc.spi.AccessTokenProvider with name: "ojdbc-provider-oci-token" can be located. Implementations of oracle.jdbc.spi.AccessTokenProvider that can be located have the following names : []
https://docs.oracle.com/error-help/db/ora-18726/
oci-iam %
oci-iam % sql /nolog
SQLcl: 火 8月 26 11:43:02 2025のリリース25.2 Production
Copyright (c) 1982, 2025, Oracle. All rights reserved.
SQL> sdk list
+------------+-----------+---------+----------------------------------------------------------------------+
| SDK | INSTALLED | VERSION | ドキュメント |
+------------+-----------+---------+----------------------------------------------------------------------+
| jdbc-oci | いいえ | 1.0.6 | https://docs.oracle.com/en/database/oracle/oracle-database/23/jjdbc/ |
| jdbc-azure | いいえ | 1.0.6 | https://docs.oracle.com/en/database/oracle/oracle-database/23/jjdbc/ |
+------------+-----------+---------+----------------------------------------------------------------------+
SQL> sdk install jdbc-oci
ojdbc-provider-oci SDKおよびその依存性をダウンロードしています。
jdbc-oci SDKは正常にインストールされました。SQLclを再起動して変更を反映してください
SQL> sdk list
+------------+-----------+---------+----------------------------------------------------------------------+
| SDK | INSTALLED | VERSION | ドキュメント |
+------------+-----------+---------+----------------------------------------------------------------------+
| jdbc-oci | はい | 1.0.6 | https://docs.oracle.com/en/database/oracle/oracle-database/23/jjdbc/ |
| jdbc-azure | いいえ | 1.0.6 | https://docs.oracle.com/en/database/oracle/oracle-database/23/jjdbc/ |
+------------+-----------+---------+----------------------------------------------------------------------+
SQL> exit
oci-iam %
oci-iam % sql /@salesadb_int
SQLcl: 火 8月 26 11:45:00 2025のリリース25.2 Production
Copyright (c) 1982, 2025, Oracle. All rights reserved.
接続に失敗しました
USER =
URL = jdbc:oracle:thin:@salesadb_int
エラー・メッセージ = ORA-18726: OracleResourceProviderからの値の取得に失敗しました
https://docs.oracle.com/error-help/db/ora-18726/
oci-iam %