10.databa settei
Ubuntu 24 (ysmr) に Oracle Database Free を Docker で導入するまとめ
構成:
PC 用途 ysmr Oracle DB サーバ yossym-NucBox-EVO-X2 Java開発・接続
1. Docker インストール(ysmr)¶
ysmr で実行。
sudo apt update sudo apt install -y docker.io
2. Docker 自動起動¶
sudo systemctl enable docker sudo systemctl start docker
確認:
systemctl status docker
3. docker グループ追加¶
sudo無しで docker を使う設定。
sudo usermod -aG docker yossym
重要:
一度ログアウトして再ログイン
4. Docker 動作確認¶
docker run hello-world
成功すると:
Hello from Docker!
が表示されます。
5. Oracle Container Registry アカウント作成¶
Oracle公式:
Oracle Container Registry
Oracleアカウントを作成。
6. Oracle DB 利用規約同意¶
ここ重要です。
以下へアクセス:
Oracle Database Free Container
ログイン後:
Accept License
を押す。
7. Docker login¶
ysmr で:
docker login container-registry.oracle.com
Oracle アカウントを入力。
8. Oracle Database Free ダウンロード¶
かなり大きいです。
docker pull container-registry.oracle.com/database/free:latest
9. 永続化ディレクトリ作成¶
DBデータ保存用。
mkdir -p ~/oracle-data
10. Oracle Database 起動¶
docker run -d \ --name oracle-free \ -p 1521:1521 \ -p 5500:5500 \ -e ORACLE_PWD='YourStrongPassword123' \ -e ORACLE_CHARACTERSET=AL32UTF8 \ -v ~/oracle-data:/opt/oracle/oradata \ container-registry.oracle.com/database/free:latest
11. コンテナ確認¶
docker ps
期待:
oracle-free
が表示。
12. 初回起動ログ確認¶
初回は数分かかります。
docker logs -f oracle-free
最後に:
DATABASE IS READY TO USE!
が出たら完了。
13. ポート確認¶
ysmr で:
ss -tln | grep 1521
期待:
*:1521
14. Firewall¶
UFW利用時。
sudo ufw allow 1521/tcp
15. 接続情報¶
項目 値 Host 192.168.3.9 Port 1521 Service Name FREEPDB1 User system Password YourStrongPassword123
16. JDBC Driver ダウンロード¶
Oracle JDBC Driver:
Oracle JDBC Driver Downloads
ojdbc11.jar が Java21 と相性良いです。
例:
mkdir -p ~/.local/lib
へ保存。
17. Java JDBC サンプル¶
import java.sql.Connection;
import java.sql.DriverManager;
public class Main {
public static void main(String[] args)
throws Exception {
String url =
"jdbc:oracle:thin:@192.168.3.9:1521/FREEPDB1";
String user = "system";
String password =
"YourStrongPassword123";
Connection conn =
DriverManager.getConnection(
url,
user,
password
);
System.out.println("connected");
conn.close();
}
}
18. コンパイル¶
19. 実行¶
成功:
connected
20. Oracle 停止・起動¶
停止:
docker stop oracle-free
起動:
docker start oracle-free
21. 自動起動¶
22. SQL実行確認¶
Oracleコンテナへ入る。
docker exec -it oracle-free bash
- SQLPlus
sqlplus system/YourStrongPassword123@FREEPDB1
- テーブル作成
- INSERT
-
SELECT
-
GUIおすすめ
-
DBeaver
-
DBeaver
-
Host:
192.168.3.9
Port:
1521
Service:
FREEPDB1
⸻
- Java Gold 的に重要な部分
覚えるべきは:
* JDBC URL
* DriverManager
* Connection
* Statement
* PreparedStatement
* ResultSet
* commit
* rollback
です。
Dockerかどうかは Javaコードからはほぼ見えません。