docker インストール oracle11g の歴史の中で最も完全な手順

Linux に oracle をインストールするのは非常に面倒なので、誰もがさまざまな落とし穴に遭遇すると思います. 一度インストールするためには、将来さまざまなプラットフォームに移植するためのイメージをエクスポートすることも便利なので、インストールすることにしました. docker で詳細な記録を作成し、後で必要なときに元に戻します。

1. docker 環境をインストールします。

2. Oracle イメージのプルを開始します

         docker pull registry.cn-hangzhou.aliyuncs.com/helowin/oracle_11g

    6Gくらいあります、ちょっと時間がかかります、ただタバコを吸って10分くらい待ちます。

(自分で鏡像を作りました。必要な学生は私をプライベートにすることができます。)

3. ダウンロードが完了したら、イメージを表示します

     ドッカー画像

4.コンテナを作成する

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

シェルスクリプトとして記述でき、次にOracleデータベースを開いたときに、コマンド1つでコンテナを作成できます。

シェルスクリプトは次のとおりです。

# ANSIBLE マネージド ブロックの開始
#!/bin/bash
docker rm -f oracle11;
docker run -it -d -p 1521:1521 -v /data/oracle:/data/oracle --name oracle11 registry.cn-hangzhou.aliyuncs.com/helowin/oracle_11g
# END ANSIBLE MANAGED BLOCK

 

ただし、前回の簡単な設定値を保存するために、このシェル スクリプトを記述し、次回から docker start oracle11 コマンドで直接開くことはお勧めしません。

   関数として作成された場合、コンテナ ID を返します

5.構成するミラーを入力します

     docker exec -it oracle11 bash

6.ソフトコネクションを作る

      sqlplus /nolog

そのようなコマンドがないことがわかったので、root ユーザーを切り替えます。

su root 

パスワードを入力してください: helowin

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

       開きます: 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


8. 保存後、source /etc/profile を実行して環境変数を読み込みます。

9.ソフト接続を作成する

            ln -s $ORACLE_HOME/bin/sqlplus /usr/bin

10. oracle ユーザーに切り替えます

              ここでも言っておきますが、必ず内側の行を真ん中に書いてください。そうしないと、ソフトリンクが無効になります

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

      sqlplus /nolog --login
     conn /as sysdba
     --alter user system registered by system;--システム ユーザー アカウント パスワードの変更;
    system によって識別されるユーザー sys の変更;--sys ユーザー アカウント パスワードの変更;
    test によって識別されるユーザー テストの作成; - - 内部管理者アカウントのパスワードを作成します;
    connect,resource,dba を yan_test に付与します; -- 内部管理者アカウントとパスワードに dba 権限を許可します;
    ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED; --パスワード ルール ポリシーを変更して、パスワードが決して変更されないようにします期限切れ; (穴があります。後で説明します)
    alter system set processes=1000 scope=spfile; --データベースの最大接続データを変更します;


12. 上記の情報を変更した後、データベースを再起動する必要があります;

conn /as sysdba
shutdown immediately; --データベースの
起動を閉じる; --データベースを起動します

exit: ソフトリンクを終了します

ピットの説明の 1 つ:

パスワードが変更されると、次のように表示されます: データベースが開いていません

      データベースが開かれていないことを示すプロンプトが表示されますが、急いで次のようにしないでください。

      次のように入力してください。alter database open;

    注: ここにもヒントがあるかもしれません: ORA-01507: データベースがマウントされていません

      

解決:

次のように入力します。データベース マウントを変更します。

 次のように入力してください。alter database open;

次に、コマンドを実行してデータベースのパスワードを変更できます

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

      次のテーブルを更新してください exit は、廃止された SQL ソフト接続です

 

Linux に oracle をインストールするのは非常に面倒なので、誰もがさまざまな落とし穴に遭遇すると思います. 一度インストールするためには、将来さまざまなプラットフォームに移植するためのイメージをエクスポートすることも便利なので、インストールすることにしました. docker で詳細な記録を作成し、後で必要なときに元に戻します。

1. docker 環境をインストールします。

2. Oracle イメージのプルを開始します

         docker pull registry.cn-hangzhou.aliyuncs.com/helowin/oracle_11g

    6Gくらいあります、ちょっと時間がかかります、ただタバコを吸って10分くらい待ちます。

(自分で鏡像を作りました。必要な学生は私をプライベートにすることができます。)

3. ダウンロードが完了したら、イメージを表示します

     ドッカー画像

4.コンテナを作成する

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

シェルスクリプトとして記述でき、次にOracleデータベースを開いたときに、コマンド1つでコンテナを作成できます。

シェルスクリプトは次のとおりです。

# ANSIBLE マネージド ブロックの開始
#!/bin/bash
docker rm -f oracle11;
docker run -it -d -p 1521:1521 -v /data/oracle:/data/oracle --name oracle11 registry.cn-hangzhou.aliyuncs.com/helowin/oracle_11g
# END ANSIBLE MANAGED BLOCK

 

ただし、前回の簡単な設定値を保存するために、このシェル スクリプトを記述し、次回から docker start oracle11 コマンドで直接開くことはお勧めしません。

   関数として作成された場合、コンテナ ID を返します

5.構成するミラーを入力します

     docker exec -it oracle11 bash

6.ソフトコネクションを作る

      sqlplus /nolog

そのようなコマンドがないことがわかったので、root ユーザーを切り替えます。

su root 

パスワードを入力してください: helowin

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

       開きます: 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


8. 保存後、source /etc/profile を実行して環境変数を読み込みます。

9.ソフト接続を作成する

            ln -s $ORACLE_HOME/bin/sqlplus /usr/bin

10. oracle ユーザーに切り替えます

              ここでも言っておきますが、必ず内側の行を真ん中に書いてください。そうしないと、ソフトリンクが無効になります

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

      sqlplus /nolog --login
     conn /as sysdba
     --alter user system registered by system;--システム ユーザー アカウント パスワードの変更;
    system によって識別されるユーザー sys の変更;--sys ユーザー アカウント パスワードの変更;
    test によって識別されるユーザー テストの作成; - - 内部管理者アカウントのパスワードを作成します;
    connect,resource,dba を yan_test に付与します; -- 内部管理者アカウントとパスワードに dba 権限を許可します;
    ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED; --パスワード ルール ポリシーを変更して、パスワードが決して変更されないようにします期限切れ; (穴があります。後で説明します)
    alter system set processes=1000 scope=spfile; --データベースの最大接続データを変更します;


12. 上記の情報を変更した後、データベースを再起動する必要があります;

conn /as sysdba
shutdown immediately; --データベースの
起動を閉じる; --データベースを起動します

exit: ソフトリンクを終了します

ピットの説明の 1 つ:

パスワードが変更されると、次のように表示されます: データベースが開いていません

      データベースが開かれていないことを示すプロンプトが表示されますが、急いで次のようにしないでください。

      次のように入力してください。alter database open;

    注: ここにもヒントがあるかもしれません: ORA-01507: データベースがマウントされていません

      

解決:

次のように入力します。データベース マウントを変更します。

 次のように入力してください。alter database open;

次に、コマンドを実行してデータベースのパスワードを変更できます

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

      次のテーブルを更新してください exit は、廃止された SQL ソフト接続です

 

おすすめ

転載: blog.csdn.net/lssqk/article/details/111942406