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関数のカリー化の詳細な説明

目次1. 補足知識ポイント: 関数の暗黙的な変換2. 補足知識: call/apply を使って配列...

Linux システムで grub.cfg ファイルの破損を修復する手順

目次1. grub.cfg ファイルの紹介1. grub.cfg ファイルの場所2. grub.cf...

MySQLでトリガーを作成する方法

この記事の例では、参考のためにMySQLトリガーを作成するための具体的なコードを共有しています。具体...

ウェブサイト上で flv/MP4 やその他のビデオ ファイルを再生できない問題は、MIME タイプに関連しています。

ウェブサイトを作成している際に、flv や MP4 形式などのビデオ ファイルはローカルでは正常に再...

Node.js http モジュールの使用

目次序文ウェブHTTP サーバーファイルサーバー練習する序文Node.js 開発の目的は、JavaS...

MySQL のデータ型とフィールド属性の原理と使用法の詳細な説明

この記事では、MySQL のデータ型とフィールド属性について説明します。ご参考までに、詳細は以下の通...

HTML で入力ボックスに純粋な数字のみを入力するように制限する方法

inputボックスを純粋な数字のみに制限する1、onkeyup = "value=valu...

ハードコーディングに別れを告げ、フロントエンドテーブルがインスタンスコードを自動的に計算できるようにします。

序文私のチームが税制モジュールを開発していたとき、計算問題、特にグリッド内の計算を解決するために時間...

MySQL で group by を使用すると常にエラー 1055 が発生します (推奨)

MySQL で group by を使用すると常にエラー 1055 が発生するため、原因を確認する...

MySQLにおける分散ロックの考え方をDBの助けを借りて詳しく説明します

序文スタンドアロン ロックであっても分散ロックであっても、共有データに基づいて現在の操作の動作を判断...

Nginx の場所と proxy_pass パスの設定の問題の概要

目次1. Nginxロケーションの基本設定1.1 Nginx 設定ファイル1.2 Pythonスクリ...

UnityはMySQLに接続し、テーブルデータの実装コードを読み取ります

表は以下のとおりです。 Unity が読み取って呼び出すときのコード: データベース内の別のテーブル...

古典的なJavaScriptの再帰ケースの質問の詳細な分析

目次再帰とは何ですか?また、どのように機能しますか? 1. 合計(1)デジタル加算(2)配列の和2....

mysql5.7 のエンコーディングを utf8mb4 に設定する方法

最近、問題に遭遇しました。モバイル端末の絵文字や一部の絵文字は 4 バイトですが、UTF-8 は 3...

MySQL 数十億のデータのインポート、エクスポート、移行に関するメモ

最近はMySQLのメモをたくさん取っていますが、それは主に会社のOracleが比較的安定していてメン...