Oracle Database, Oracle Database Clientをそれぞれ異なるRHEL 8マシンにインストールしました。
今回はClientからスクリプトで作成したPDB(ORCLPDB1)に接続してみたいと思います。
環境
- DB Server
- Client
・Red Hat Enterprise Linux release 8.5 (Ootpa)
・Kernel 4.18.0-348.7.1.el8_5.x86_64
・oracle-database-preinstall-19c-1.0-3.el7.x86_64.rpm
・oracle-database-ee-19c-1.0-1.x86_64.rpm
・開発環境、GNOME環境、日本語入力インストール
・Subscription登録
・Red Hat Enterprise Linux release 8.5 (Ootpa)
・Kernel 4.18.0-348.7.1.el8_5.x86_64
・oracle-database-preinstall-19c-1.0-3.el7.x86_64.rpm
・LINUX.X64_193000_client.zip
・開発環境、GNOME環境、日本語入力インストール
・Subscription登録
- ORCLPDB1にユーザ作成
- oracleユーザでログイン
- 環境変数の設定
- ネット・サービス名の設定
- 接続
DB Server側で作業をしてORCLPDB1にユーザを作成します。
Oracle Database ユーザー作成方法 (11g,12c,18c,19c)
https://dekiruengineer.com/engineer/create_users_in_the_oracle_database/
1 2 3 4 5 6 7 8 9 10 11 12 13 |
[oracle@rhel8 ~]$ sqlplus / as sysdba SQL*Plus: Release 19.0.0.0.0 - Production on Version 19.3.0.0.0 Copyright (c) 1982, 2019, Oracle. All rights reserved. Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production Version 19.3.0.0.0 に接続されました。 SQL> show pdbs CON_ID CON_NAME OPEN MODE RESTRICTED ---------- ------------------------------ ---------- ---------- 2 PDB$SEED READ ONLY NO 3 ORCLPDB1 READ WRITE NO |
ORCLPDB1に接続
1 2 3 4 5 6 7 8 9 |
SQL> alter session set container=ORCLPDB1; セッションが変更されました。 SQL> show con_name; CON_NAME ------------------------------ ORCLPDB1 |
ユーザID:rootlinks, パスワード: Password で作成しました。
1 2 3 |
SQL> CREATE USER rootlinks IDENTIFIED BY "Password"; ユーザーが作成されました。 |
権限付与
1 2 3 4 5 6 7 |
SQL> GRANT CONNECT TO rootlinks; 権限付与が成功しました。 SQL> GRANT RESOURCE TO rootlinks; 権限付与が成功しました。 |
以下、Client側での作業になります。
取り合えずoracleユーザでログインします。
ORACLE_HOME, ORACLE_BASE, 言語設定, PATHを設定します。
1 2 3 4 |
[oracle@rhel8 ~]$ export ORACLE_BASE=/opt/oracle/app [oracle@rhel8 ~]$ export ORACLE_HOME=/opt/oracle/app/product/19.0.0/client_1 [oracle@rhel8 ~]$ export NLS_LANG=Japanese_Japan.AL32UTF8 [oracle@rhel8 ~]$ export PATH=$PATH:$ORACLE_HOME/bin |
tnsnames.oraにネット・サービス名を設定してサービス名で接続できるようにします。
1 2 3 4 5 6 7 8 9 10 11 |
[oracle@rhel8 ~]$ vi $ORACLE_HOME/network/admin/tnsnames.ora [oracle@rhel8 ~]$ cat $ORACLE_HOME/network/admin/tnsnames.ora ORCLPDB1 = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = rhel8)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = ORCLPDB1) ) ) |
接続できました。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
[oracle@rhel8 ~]$ sqlplus rootlinks/Password@ORCLPDB1 SQL*Plus: Release 19.0.0.0.0 - Production on Version 19.3.0.0.0 Copyright (c) 1982, 2019, Oracle. All rights reserved. 最終正常ログイン時間: 金 1月 12 2022 16:53:02 +09:00 Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production Version 19.3.0.0.0 に接続されました。 SQL> show con_name; CON_NAME ------------------------------ ORCLPDB1 SQL> |
接続できない場合はFirewallの設定、あるいはtnsnames.oraに記述したHOST=と通信できるかなどを確認して下さい。