質問

Oracle または SQL Server データベースに接続する ASP .NET アプリケーションがあります。インストーラーは、ソース管理下に保管されている「.bak」ファイルを単純に復元する「データベースの復元...」などの SQL コマンドを使用して、既存の SQL Server に新しいデータベースをインストールするために開発されました。

私は Oracle を初めて使用しますが、私たちのアプリケーションは最近 10g と互換性を持つように移植されたばかりです。

現在、「exp.exe」ツールを使用して「.dmp」ファイルを生成し、「imp.exe」を使用してそれを開発者向けボックスにインポートしています。

「Oracle Database インストーラー」を作成するにはどうすればよいでしょうか?

スクリプト ファイルを使用してデータベースを作成し、データベースに次の情報を入力しますか? 必須 デフォルトデータ?

「imp.exe」ツールをバックグラウンドで実行しますか?

システム管理者が宛先サーバーを選択するだけで完了できるように、クリーンなインターフェイスを提供する必要があるのでしょうか、それとも「.dmp」ファイルを提供するだけでよいのでしょうか?ベストプラクティスは何ですか?

ありがとう。

役に立ちましたか?

解決

問題は、顧客が Oracle について何を知っているかということです。

  • 何もない?おそらくこの立場を再考する必要があります。Oracle は非常に大規模で複雑です。顧客が何も知らないと仮定すると、不適切なチュートリアルやヘルプを提供し始めることになります。

  • 最低限の有能さ?彼らが有能であれば、彼らは自分自身で imp を実行するのに十分な知識を持っています。また、SQL を実行するスクリプトを実行するのにも十分な知識があります。

  • 本物の DBA ?Oracle を購入できるほとんどの組織は、本物の DBA を購入することができます。本物の DBA は多くのことに対処でき、手作業はほとんど必要ありません。彼らの中には、店舗の標準に従ってストレージパラメータを割り当てることを好む人もいます。

適切なデフォルトを使用してスクリプトを提供する必要があります。誰かがすべてのストレージ パラメータを簡単に見つけて、必要に応じて調整できるようにスクリプトを定義する必要があります。

初期データは、エクスポート/インポートまたはスクリプト経由で行うことができます。私は脚本の方が好きです。

他のヒント

Iは、DBA、開発者、建築家などの両側(消費者とプロバイダ)から繰り返し、これを行っている。

プロバイダーとして、私の壮大な業績(1996年)の一つが最大の保険会社(数百万ドルの項目)を対象と商業保険の請求管理ソフトウェア製品のインストールCDを作成しました。そのインストールCDには、Oracle 7.2 RDBMSエンジン、FileNetの光学ストレージシステムにインストール(スキャンした紙文書を、バイナリバージョンのカタログ作成されます)、そして私たちのカスタム請求処理アプリケーションは、(VB 4.0で構築された)、全てが統合され、実行する準備ができて。インストールプロセスの一環として、ユーザーは、Oracleソフトウェアのインストールをスキップするか、それをカスタマイズし、ユーザーがその主要な内容(データベース、スキーマ、表領域、サイズ、ディスクなど)のすべてに/カスタマイズデータベース設定をオーバーライドすることができますことができます。

私はまた、必要に応じてクライアントサイトへの移動が含まこの製品のフィールドサービスを、提供します。私は私が複製することができありとあらゆるシナリオの下で倍の文字通り何百ものインストールCDをテストし、私たちは(私は4回に旅をしましたが、それでも電話を必要なフィールド障害、ましてや旅行を持っていなかったプリセールスもののため代わりに)。

つい最近(2007年)、私はmegacorpで内部システム用のOracle 10gデータベースの作成をスクリプト化。製造において、データベースは、主に、高データ容量を持つ単一のトランザクション・テーブルに対して、8 TBに大きました。テストでは、データベースは、ささやかなサーバー用に1 TBの周りサイズにされました。開発では、データベースは、私のラップトップ上で実行するために100メガバイトの周りサイズにされました。まったく同じスクリプトは、すべての3つの環境を作成し、私は約5分で新しい環境/マシンを処理するためにそれらを拡張することができます。このデータベースは、極端なパフォーマンスチューニングを関与するので、すべての関連特性のカスタマイズが絶対的に重要なだった。

戻る保険金請求処理製品まで - 私はもともとOracleデータベースへのSQL Serverデータベースからの変換を導くために雇われたことを追加してくださいみましょう。ほとんどの潜在的な顧客は、プロ、深刻な解決策として、SQL-Serverベースの製品を表示していなかったので、それの変換は、ビジネスの必要性として同定されました。それは今日それほど一般的ではありませんが、それはまだ一般的に適用されます。ターゲット顧客に好まれるように、複数のデータベース・オプションを受け入れることができるかどうかのソフトウェア製品は、(特にエンタープライズクラスの顧客)市場浸透の良いチャンスを持っている。

同様に、インストールCDにも不可欠な要素として見られていました。しかし、その状況と、より多くのは、ほとんどの「本当の」DBAはインポートベースのデータベースのインストールを受け入れないことを私に明らかにしました。 DBAや建築家として、私は間違いなく同じ理由でないことを知っています。

簡単に言えば、輸入ベースのデータベースのインストールでは、顧客に結果のデータベースを超えるほとんど制御を与えません。それが何をしたか疑問にそれらを残して、顧客に不透明です。それは、彼らができるか少しコントロールを行使しようとする大規模な努力を費やすために顧客を強制します。これは、(Oracleの輸入はよく所有権とアクセス権の問題、制約問題などのために知られている)、悪名高い脆弱でエラーが発生しやすいです。すべてのそれらの影響を計量、輸入ベースのデータベースのインストールは専門外です - それは、最初の顧客のニーズを入れていません。

スクリプトデータベースのインストールは、透明性、コンフィギュラ、選択的な再現性、および全体的な顧客管理そのプロフェッショナリズムの要求の正しい種類を提供します。それはまた、あなたが適切にインポートがないような方法で、データベースの設計上の決定の影響を理解するために奨励しています。

幸運を祈ります。

は、個人的に私は、データベースの作成とデータのロード可能にSQLスクリプトを好みます。私は PL / SQL Developerのを使用する傾向があります。これは、既存のデータベースからのスクリプトを生成するために、いくつかの良いオプションがあります。あなたはこれらを持っていたら、SQLPLUSまたは任意のSQLを実行することができます任意のアプリケーションコード(Javaの持つ例えばJDBC)を使用してスクリプトを実行することができます。 ヒキガエルには、Oracleの開発のための、より一般的な(そしてより高価な)ツールです。

SQLエクスポートの唯一の制限は、それがCLOB / BLOBフィールドをエクスポートすることはできませんです。あなたがそれらを持っている場合は、(PL / SQLエクスポートとして)、それらを個別に行うか、PL / SQLエクスポートとして全体のことを行う必要がありますどちらか。 Theresのファイルを除いて、これとはドラマが効果的にバイナリのエクスポート(拡張子.pde)ではありません、あなたはそれを実行する方法では、より制限されています。

SQLソース・ファイルの他の大きな利点は、彼らは、バージョンを容易に制御することが可能です。これは、1つのまたは2つのスクリプトを実行して、データベース環境を作成できるようにするには本当に便利です。

私は思うOracleのインポートおよびエクスポートツールは、バックアップのために、より適用可能であり、操作を復元します。

さて、顧客にそれを提供するためとして、あなたのコメントから、あなたがデータベース管理者にこれを与えることだろうと思われます。ほとんどすべてのOracleインストールでは、DBAが関与しています。彼らは、スキーマを作成し、データのロードを行うために、SQLスクリプトで罰金になります。彼らは、サイト固有の設定(たとえば、予想される負荷に基づいなどSGA、一時表領域、同時接続の#を、チューニング)の多くをやってされます。

あなたは、ベンダーとして、任意の関連する構成についての指針を与えることができますし、サポートと、おそらくインストール中に巻き込まれるかもしれないが、最終的にはそれが彼らのために働くかを把握するためにそれら次第です。 Oracleは、ネットワークトポロジとファイアウォールconfiguraitonで無限のバリエーションを持つオペレーティング・システムおよびハードウェアの多数の変異体で実行されます。あなたは、インストーラまたは(前述のガイドラインを除く)の命令でもセットにこれらのすべてを考慮にいないことができます。

私が最後に(Oracle)データベースの作成に関わったとき(社内に DBA がいるかなり大きな会社向け)、DBA は次のようなことを知りたがっていました。

  • 私たちがデータベースと呼びたかったもの、
  • 必要な表領域と、それぞれの表領域に含まれるデータ量の推定
  • 接続するユーザーの数。

(記憶によると)彼らはデータベースとテーブルスペースをセットアップし、その後、彼らが実行できる簡単なスクリプトの組み合わせを提供しました(または、タスクの自動化が簡単ではない場合は明確な指示を提供しました)
私が言ったように、これは社内アプリのためのものであるため、理解する内容は異なるかもしれませんが、私の場合、彼らは、(a) 間違ったことが行われる可能性のある誤解がないように、すべての指示を明確に記載することを望んでいました。 (b) 何かがうまくいかなかったとしても、彼らには責任がない(「私たちは指示に従っていただけだ」)

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top