Docker による Oracle 11g イメージ構成のプルに関する詳細なチュートリアル

Docker による Oracle 11g イメージ構成のプルに関する詳細なチュートリアル

さっそく

Alibaba の oracle11g イメージをプルして構成する docker の記録を開始します。

最終結果としてpl/sqlを使用してログインする

Navicat接続は最後のステップです

参考: https://www.jb51.net/article/223375.htm

しかし、この構成にはいくつか問題があるため、他の人の役に立つことを願ってこの記事を書きました。

始める:

①. image-execute コマンドの pull を開始します。

docker pull レジストリ.cn-hangzhou.aliyuncs.com/helowin/oracle_11g

ダウンロード処理にはしばらく時間がかかりますので、しばらくお待ちください。コーヒーを飲みながら休憩してください。 (画像6.8G)

ダウンロード後、イメージを表示します: docker images

ダウンロードされたことがわかります

②コンテナを作成する

docker run -d -p 1521:1521 --name oracle11g registry.cn-hangzhou.aliyuncs.com/helowin/oracle_11g

ここで言っておきますが、コマンドの後のアドレスはダウンロードしたイメージのアドレス、つまりプルしたイメージの名前でなければなりません。そうでないと、名前がすでに存在するなどの問題が発生します。

作成関数が成功すると、コンテナIDが返されます。

③. コンテナを起動する

docker で Oracle11g を起動します

④. 設定用の画像を入力します

1. docker exec -it oracle11g bash

2. ソフトな接続を作る

sqlplus /nolog

そのようなコマンドは存在せず、使用できないことがわかりました。

3. ルートユーザーに切り替える

suルート

パスワード: helowin

これはまだコンテナ内にあることに注意してください。 。何人かの友人は撤退した。 。 。 。 。 。 。

4. プロファイルファイルを編集してORACLE環境変数を設定します。

エクスポート ORACLE_HOME=/home/oracle/app/oracle/product/11.2.0/dbhome_2
 
エクスポート ORACLE_SID=helowin
 
PATH=$ORACLE_HOME/bin:$PATH をエクスポートします

最後に追加

保存して終了: wq

5. ソフトリンクを作成する

$ORACLE_HOME/bin/sqlplus /usr/bin に以下のコマンドを入力します。

6. Oracleユーザーに切り替える

ここで言わなければならないのは、真ん中に内側のストリップを書く必要があるということです。これは必須です。そうしないとソフトリンクが無効になります。

⑤. sqlplusにログインし、sysおよびsystemユーザーのパスワードを変更します。

sqlplus /nolog

接続 /as sysdba

次に次のコマンドを実行します

システムによって識別されるユーザー システムを変更します。

sys によって識別されるユーザー sys を変更します。

また、test で識別されるユーザー create user test を作成することもできます。

そして、ユーザーに grant connect,resource,dba to test の権限を付与します。

ここでの落とし穴に注意してください。パスワード変更を実行すると、次のメッセージが表示されます: データベースが開いていません

データベースが開いていない場合は、以下の手順に従ってください。

入力:

データベースの変更オープン;

注: ここでプロンプトが表示される場合もあります:

ORA-01507: データベースがマウントされていません

急がなくていいよ!続く!

=========== 解決策============

入力: alter database mount;

入力: alter database open;

その後、データベースのパスワードを変更するコマンドを実行できます。

変更後、次のように入力します: ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED;

次の表を更新

終了はSQLソフト接続を終了することです

⑥. pl/sqlを使用して接続する

Navicat 接続では、ステップ 6 は直接スキップされますが、 Oracle の lsnrctl サービスはステップ 6 にあるため、それを読んでからステップ 7 に進む必要があります (ただし、何もする必要はありません)。ステップ 7 は、Navicat 接続の最後のステップです。

以前ポートを1521にマッピングしたので、 tnsnames.oraを設定する必要があります。

友人の中にはoraファイルがどこにあるか知らなかった人もいたので、この手順を追加しました

pl/sql インストール パッケージ、中国語パッケージ、キー ツール

http://xiazai.jb51.net/202109/yuanma/PLSQL_Developer_jb51.rar

ローカルダウンロード:

https://www.jb51.net/softs/737035.html

PLSQL インストールおよび構成ツールキット

https://www.jb51.net/article/170088.htm

ドッカーOracle11 =
 (説明 =
   (アドレスリスト =
     (アドレス = (プロトコル = TCP)(ホスト = 192.168.211.135)(ポート = 1521))
   )
   (CONNECT_DATA =
     (サービス名 = orcl)
   )
)

ログインするにはpl/sqlを開いてください: リスナーは現在、接続記述子で要求されたサービスを認識できません

今回はOracleのlsnrctlサービスについて見てみましょう。

これら2つが見えますか? 1つを選択して、 tnsnames.oraのservice_name=helowinXDBを変更します。

ドッカーOracle11 =
 (説明 =
   (アドレスリスト =
     (アドレス = (プロトコル = TCP)(ホスト = 192.168.211.135)(ポート = 1521))
   )
   (CONNECT_DATA =
     (サービス名 = helowinXDB)
   )
)

OK、ログインに成功しました。

ステップ7はNavicat接続です

友人の中にはNavicatを使って接続する人もいるので、この手順を追加しました

Navicatを開いた後(navicat12ではoci.dllファイルを設定する必要がありません)

新しい接続を直接作成する

これで、Docker pulling oracle 11g イメージ構成に関するこの記事は終了です。Docker oracle 11g イメージ構成に関するより関連性の高いコンテンツについては、123WORDPRESS.COM の以前の記事を検索するか、以下の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。

以下もご興味があるかもしれません:
  • Dockerを使用してOracle_11gをインストールする方法
  • Docker での Oracle データベースのインストールと構成の詳細な説明
  • Docker に Oracle をインストールして構成するチュートリアル
  • Docker で Oracle 11g イメージ構成をプルダウンする際の問題を分析する

<<:  優れたグラフィックデザイナーが習得すべき7つのスキル

>>:  MySQL 1130例外、リモートログインできない解決策

推薦する

jsはaudioContextを通じて3Dサウンド効果を実現します

この記事では、audioContextを介して3Dサウンド効果を実現するためのjsの具体的なコードを...

VueはElementUIのフォームサンプルコードを模倣する

実装要件ElementUI を模倣したフォームは、インデックス コンポーネント、Form フォーム ...

Vue カプセル化コンポーネント アップロード画像コンポーネント

この記事の例では、参考のためにvueアップロード画像コンポーネントの具体的なコードを共有しています。...

Vue で lodop 印刷コントロールを使用してブラウザ互換の印刷を実現する方法

序文このコントロールを直接印刷すると下部に透かしが入りますが、公式 Web サイトから購入することで...

サブセットかどうかを判断するためのMySQLメソッドの手順

目次1. 問題2. 解決策オプション1:オプション2: 1. 問題この話は、エラーと脱落率を照会する...

IE8 と Chrome でテーブルの幅を修正する方法

IE8 や Chrome で上記の設定を使用すると、画面の最大幅に合わせて表示が統一され、各列の幅は...

TypescriptとAxiosに基づくインターフェースリクエスト管理の詳細な説明

目次アイデア傍受を要求するレスポンスインターセプションhttpClient.tsを使用してリクエスト...

ViteでReactプロジェクトを構築する方法

目次序文Viteプロジェクトを作成する改修プロジェクトディレクトリの規則その他の構成序文毎日鳩、火ば...

ホバープロンプトにはvue2+elementuiを使用する

Vue2+elementui のホバー プロンプトは、外部と内部に分かれています。内部のものは el...

SQLはLeetCodeを実装します(180.連続した数字)

[LeetCode] 180. 連続した数字少なくとも 3 回連続して出現するすべての数字を検索す...

Vue2 における 12 種類のコンポーネント通信

目次1. 小道具2..同期3.vモデル4.参照5. $emit/v-on 6. $attrs/$li...

Vue3 でタイマーコンポーネントをカプセル化する方法

背景一部のショッピング モールの Web ページで商品の詳細を開くと、購入数量を選択するためのカウン...

MySQL の binlog ログと、binlog ログを使用してデータを回復する方法を説明します。

ご存知のとおり、binlog ログは MySQL データベースにとって非常に重要です。万が一、データ...

Alibaba Cloud CentOS7 サーバーの nginx 構成と FAQ の分析

序文:この記事は、jackyzm のブログ https://www.cnblogs.com/jack...

MySQL Bツリーインデックスとインデックス最適化の概要についての簡単な説明

MySQL の MyISAM エンジンと InnoDB エンジンはどちらもデフォルトで B+ ツリー...