docker は oracle をインストールできます。インストール方法: 1. 公式 Oracle イメージをプルし、「docker イメージ」を使用してイメージを表示します; 2. コンテナーを起動した後、「docker exec -it oracle11g bash」を使用してコンテナーに入り、環境変数を編集します; 3. 「sqlplus /nolog」 oracle コマンドラインを入力するだけです。
このチュートリアルの動作環境: linux7.3 システム、docker バージョン 19.03、Dell G3 コンピューター。
docker を使用して oracle をデプロイでき、これには多くの利点があります。インストール時間を短縮できるだけでなく、迅速な導入も可能になります。
Docker をデプロイメントに使用する利点は次のとおりです。
(1) 構成を簡素化し、一度ビルドしてパッケージ化すると、テスト環境、実稼働環境として使用できます。または実稼働前環境。多くのテスト セッションを保存できます。たとえば、1 つのサーバーで待機せずに複数のバージョンをテストできます。
(2) は、開発者が環境をデプロイする難しさを解決できます。たとえば、新しい同僚が環境をインストールするのに半日かかる場合がありますが、すでに構成されている環境を直接実行する方がはるかに便利です。容器。
(3) アプリケーションの分離とサーバーの統合: 1 つのサーバーで Docker を使用して複数のサービス セットをデプロイでき、分離性は非常に高くなります (仮想マシンを除く)。
(4) 開発の場合は、展開後どこでも実行できるため、開発とデバッグが容易になります。
(5) リソースの使用率を削減できます。仮想マシンと比較して、不必要なリソースを大幅に節約できます。分離性の損失は、他の利点によって十分に補われます。
(6) 運用保守に関しては、すぐに容量を拡張でき、本来の使用率を下げることができます
(7) 小規模なサービスごとにクラスタリングが可能で、Docker のリソース使用率の比較が可能1 台のサーバー上で複数のサーバーを起動できるため、他の製品と比較して、サーバー上でより多くの I/O を使用します。
(8) 複数のプラットフォームにデプロイ可能
例は次のとおりです。
Oracle を Linux にインストールするのは非常に面倒です。誰もがさまざまな問題に遭遇すると信じています。一度インストールして、将来さまざまなプラットフォームに移植するためにイメージをエクスポートしやすくするために、docker を使用してインストールすることにしました
DockerHub で Oracle を検索しますOracle の公式イメージを見つけるには、アドレス: https://hub.docker.com/
ここで docker pull oraclelinux
コマンドを使用する場合、最新タグがないため、イメージを取得できません。したがって、バージョン番号を手動で指定することしかできません。
例: docker pull oraclelinux
公式イメージを使用するとダウンロード速度が非常に遅いため、Ali を使用できます。 image docker pull registry.cn-hangzhou.aliyuncs.com/hellowin/oracle_11g
は dockerHub (2 番目) にあり、この構成を参照できます
使用する docker イメージ
イメージをチェックし、ダウンロードされたことを確認します
docker run -d -it -p 1521:1521 --name oracle11g --restart=always registry.cn-hangzhou.aliyuncs.com/hellowin/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 /hellowin/oracle_11g
開始されたスレッドを表示netstat -tulnp
実行中のスレッドを表示ステータスdocker ps -a
コンテナに入るdocker exec -it oracle11g bash
rootユーザーに切り替えますsu root
, hellowin
docker コンテナー用に構成された環境変数は /etc/profile
にありません。また、このファイルはコンテナーが始めました。
環境変数構成を /home/oracle/.bashrc
ファイルに設定すると、ソフト接続の作成を省略できます ln -s $ORACLE_HOME/bin/sqlplus /usr/ bin
環境変数を編集しますvi /home/oracle/.bashrc
、ファイルの最後に次のコマンドを追加します
export ORACLE_HOME=/home/oracle/app/oracle/product/11.2.0/dbhome_2 export ORACLE_SID=helowin export PATH=$ORACLE_HOME/bin:$PATH
wq
保存して終了します。次に、source /home/oracle/.bashrc
を使用して環境変数を更新し、有効にします。
Use sqlplus /nolog
oracle コマンドラインを入力します
「オペレーティング システム認証」方法を使用して oracle にログインします conn / as sysdba
デフォルトの root ユーザーを直接使用する場合ログインしようとすると、ログイン失敗が報告されます。ここで su - oracle
コマンドを使用して現在のユーザーを oracle に切り替えてから、ログイン コマンド
ORA-12514, TNS を実行する必要があります。リスナーは現在、接続記述子で要求されたサービスを認識していません
このエラーはデータベース名が間違っていることが原因です
su - oracle sqlplus /nolog conn / as sysdba select instance_name from v$instance; show user;
上記のコマンドを使用して調べます。利用可能な「データベース名」と「ユーザー名」
この Ali の画像では、すべてのパスワードが統一されていますhellowin
システム ユーザーはDBA 権限はありますが、SYSDBA 権限はありません。このアカウントは通常、データベースの管理に使用されます。
sys ユーザーは、Oracle データベース内で最高の権限を持つアカウントです。「SYSDBA」および「SYSOPER」権限があり、通常、外部からのログインは許可されません。
外部データベース管理ツールが接続できるように、ファイアウォールはポート 1521 を許可する必要があります
# 打开防火墙 systemctl start firewalld # 查询端口状态 firewall-cmd --query-port=1521/tcp # 永久性开放端口 firewall-cmd --permanent --zone=public --add-port=1521/tcp # 重启防火墙 firewall-cmd --reload firewall-cmd --query-port=1521/tcp
##推奨調査: "
docker ビデオ チュートリアル以上がdocker で Oracle をインストールできますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。