docker を使用して手動でさまざまなコンテナ(サービス)をインストールする
イメージ検索方法:https://hub.docker.com/
Oracle のインストール#
参考 1:https://blog.csdn.net/javaboyweng/article/details/125486242
参考 2:Docker-14:Docker で Oracle11g をインストール (いいね)
参考 3:[docker で Oracle データベースをインストール - テンセントクラウド開発者コミュニティ - テンセントクラウド (tencent.com)] (いいね)
イメージ:https://hub.docker.com/r/akaiot/oracle_11g
インストールビデオチュートリアル:参考
ここではクラウドサーバーを使用して、docker を通じて Oracle コンテナをインストールします。
サーバーは 2 コア 4G を使用しています。
操作#
前提知識として docker の一般的なコマンドに慣れている必要があります。
イメージをプルする
docker pull registry.cn-hangzhou.aliyuncs.com/helowin/oracle_11g
コンテナを起動する:
docker run -d -it -p 1521:1521 \
--name oracle \
--restart=always \
--mount source=oracle_vol,target=/home/oracle/app/oracle/oradata registry.cn-hangzhou.aliyuncs.com/helowin/oracle_11g
--mount source=oracle_vol,
target=/home/oracle/app/oracle/oradata 、サーバーのローカルディレクトリで、カスタマイズ可能です。例えば:/root/docker-data/oracle/oracledata
registry.cn-hangzhou.aliyuncs.com/helowin/oracle_11g
ファイルを変更するために、まずコンテナ内に入って、以下の操作を実行します:
docker exec -it oracle /bin/bash
# rootユーザーに切り替え
su root
次にパスワードを入力します
#パスワード:
helowin
/etc/profile
ファイルを変更し、ORACLE_HOME と ORACLE_SID を設定してから、適用します。
入力:
vi /etc/profile
#設定内容
export ORACLE_HOME=/home/oracle/app/oracle/product/11.2.0/dbhome_2
export ORACLE_SID=helowin
export PATH=$ORACLE_HOME/bin:$PATH
--restart
は docker 再起動時にコンテナが自動的に再起動することを示します
--mount
はホスト上のパスをコンテナにマウントすることを示しますexport ORACLE_SID=helowin 、ORACLE_SID = カスタム sid、後で接続時に使用されます
次に設定ファイルを適用します:
#設定ファイルを適用
source /etc/profile
シンボリックリンクを作成します。
ln -s $ORACLE_HOME/bin/sqlplus /usr/bin
sqlplus にログインします。
# oracleユーザーに切り替え
su oracle
# クライアントプロセスを起動しました
sqlplus /nolog
# 接続身分
connect / as sysdba
# systemアカウントのパスワードを変更
alter user system identified by パスワード;
# sysアカウントのパスワードを変更
alter user sys identified by パスワード;
# パスワードを無期限に設定:
alter profile default limit PASSWORD_LIFE_TIME UNLIMITED;
ユーザーを作成します(自分で決めてください)。
#ユーザーを作成
create user jiefei identified by ユーザー名;
#ユーザーに権限を付与
grant connect,resource,dba to ユーザー名;
接続回数も変更します:
alter system set processes=1000 scope=spfile;
もう一つ、上記の情報を変更した後、データベースを再起動する必要があります;
conn /as sysdba
データベースサービスを停止します:
shutdown immediate;
データベースサービスを起動します:
startup open;
シンボリックリンクを退出します:
exit
ツール接続#
Navicat Premium16 ツールを使用して Oracle データベースに接続してテストします。
ツールダウンロード:こちらを参考
可能な問題#
パスワードを変更する際に「database not open」というエラーが発生した場合
解決策:
入力:
alter database mount;
入力:
alter database open;
これでデータベースパスワードを変更するコマンドが実行できるようになります。
変更後、入力:
ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED;
テーブルをリフレッシュします。
exit は sql を終了し、シンボリックリンクを終了します。