問題タブ [database-administration]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
1242 参照

sql - Oracle-ゾンビテーブル

私は昨日からこの奇妙な問題を抱えています。私はいくつかのオプションを試しましたが、実際にORACLEとDB自体を再インストールしました。

ここに問題があります:私はゾンビのようなものであるこのテーブルを持っています。症状は次のとおりです。

テーブルが存在することを意味するレコードを返します。

MYTABLEのすべての列を返します。これまでのところ、テーブルは存在します。

戻り値ORA-00942:表またはビューが存在しません。この時点で私はかなり混乱しています。テーブルはUSERTABLESに存在しているように見えますが、それを選択することはできませんか?

戻り値: ORA-00604:再帰SQLレベル1でエラーが発生しましたORA-00001:一意制約(SYS.I_OBJ2)に違反しました

私はこのエラーを理解していません。しかし、最高のものはまだ来ていません。

驚いたことに、上記のクエリ(3番目のクエリの正確なコピー)は現在、いくつかのレコードを返します!さらに、列Fooが存在しないことに気付きました。現在表示されているテーブルは、他の列を含む最初のテーブルです。

テーブルを削除しようとすると、次のエラーが発生します。

ORA-00604:再帰SQLレベル1でエラーが発生しましたORA-00942:表またはビューが存在しませんORA-06512:19行目

これまで以上に混乱して、私は上記のクエリを試しましたが、驚いたことに、テーブルはもう存在しません。

私はこれを理解していません:テーブルはUSERTABLESにありますが、それを選択することはできませんが、同じ名前で新しいテーブルを作成するとエラーが発生しますが、以前のバージョンのテーブルをいくつか使用して選択できるようになりました記録。

何かご意見は ?私は本当にあなたの助けが必要です:(

編集-私は今チェックしました:私はどのテーブルも落とすことができません。これは新しい症状かもしれません。

解決

問題は、MDSYS.SDO_GEOR_SYSDATA_TABLEテーブルが欠落していて、ドロップイベントトリガーがそれにアクセスしようとしてエラーを生成したことでした。解決策は、そのテーブルを復元することでした。

0 投票する
1 に答える
262 参照

mysql - 中期的な一時テーブル - 15 ~ 30 日間続くようにその場でテーブルを作成しますか?

環境

私は現在、注文を管理し、技術者とサービスの間で通信するためのツールを開発しています。産業の文脈は、放送とテレビです。それぞれが独自の仕様に合わせて作成されたメディア ファイルを期待する複数のクライアントは、単一のクライアントの注文の制限された範囲内であっても、ワークフローが大きく異なることを意味します。

あるクライアントは、ある日は 1 つの SD ファイルを要求し、次の日には最大 14 個のファイルを含む本格的な HD パッケージを要求することができます... MySQL データベースでは、ワークフローを構成するすべての小さなタスクに関する正確な情報を保存しようとしています。複数のフォーム:

  • 正確な追跡のために、タスクが完了するたびに DATETIME 値
  • VARCHAR の会社のファイル システムで新しく作成されたファイルへのパス
  • 背景情報を TEXT 値でアーカイブします (ユーザー コメントなどの情報。たとえば、インシデントが発生して前進が妨げられた場合、ユーザーはこのフィードでそれについてコメントできます)

これに 30 個の異なるファイル タイプを掛けると、1 つのテーブルには多すぎます。したがって、クライアントごとに分割すると思いました。クライアントごとに1つのテーブルを作成して、15を超えるフィールドを操作しない1つのテーブルを使用するだけで注文できるようにします。それでも、クライアントが 9 つの異なるトランスコーディング仕様を持っていて、特定の注文が 1 つしか必要としない場合、これはかなり厳格なソリューションです。各トランスコーディング フィールドにフラグ フィールドを追加して、その特定の注文に必要なフィールドを示す必要があると思います。

概念

次に、注文が実行されている間 (約 1 日から 1 か月の範囲) の一時テーブルを作成できるのではないかというクレイジーなアイデアを思いつきました。25 を超える注文が同時に実行されることはめったにないため、混雑することはありません。

アイデアは、注文ごとに調整されたテーブルを作成し、フラグや不必要な永遠に空のフィールドを排除することです。注文が完了すると、テーブルはフラッシュされ、JSON エンコードされて TEXT または BLOB に変換されるため、後で変更が必要になった場合に復元できます。

DBMS (特に MySQL) がそのような慣行に苦しんでいる経験はありますか? これは実行可能なオプションのように聞こえますか? 私は喜んで試してみて(私はすでに始めています)、ここで続けるかやめるかについてアドバイスを求めています.

ご意見ありがとうございます。

0 投票する
1 に答える
101 参照

database - 多くのリモートDBをメインDBと同期させるために呼び出されるDBA関数/ツールとは何ですか

私はフロントエンド開発者であり、いくつかのDBAタスクを実行するように求められています。大航海時代。

私のクライアントには、PostgreSQLアプリケーションをホストする10個のリモート(ネットワーク外)データ収集端末があります。私の仕事は、これらの端末が生成する.backupまたは.sqlファイルを取得し、それらをメインDBに追加することです。これらすべてのDBのスキーマは一致します。ただし、マージ操作は多くの重複につながります。既存のDBにバックアップファイルを追加し、重複を除外し、マージに関するレポートを提供できるツールを探しています。

DBAドメインでこの種の操作の用語はありますか?

この機能は通常、基本的なDB管理スイート(pgAdmin IIIなど)に組み込まれていますか、エンタープライズレベルのツールが必要ですか、それともコマンドラインで簡単に実行できる機能ですか?

アップデート

DBレプリケーションに関するPostgreSQLの記事と用語集

0 投票する
1 に答える
4870 参照

sql - SQL SLEEP_BPOOL_FLUSH 待機。マージ プッシュ サブスクリプションを再初期化できない

マージ サブスクリプションを初期化しようとしていますが、失敗し、クエリ タイムアウトの期限が切れたというエラーが発生します。

SQL アクティビティ モニターを確認すると、sys.sp_MSCleanupForPullReinitコマンドがSUSPENDEDモードであり、待機型であることが示されますSLEEP_BPOOL_FLUSH

レプリケーション エージェントを停止して開始しようとしましたが、それでも同じ問題が発生します。

これはどのように修正できますか?

0 投票する
1 に答える
1411 参照

sql-server - SQL Server 2008 r2 Express Edition で xp_cmdshell が失敗しますか?

xp_cmdshell プロシージャで問題が発生しています。SQL Server 2008 r2 Express Edition に接続された ssms から以下のコマンドを実行しています。

exec xp_cmdshell 'echo abc'

結果はヌルになり、メッセージ 1 行が影響を受けます。結果として abc は返されません。上記の結果から xp_cmdshell が有効になり、エラーは表示されません。

問題を調べてください。

ありがとう、

ニテッシュ・クマール

0 投票する
1 に答える
497 参照

sql - xp_cmdshell プロキシ アカウントの無効化 自動的に

sp is sql serverを実行しようとすると、実行するxp_cmdshell権限がないというエラーが表示されますxp_cmdshell。インスタンスのプロパティウィンドウでセキュリティタブをチェックすると、service Proxy Accountセクション のenable service account Proxyチェックボックスが設定されています。このチェック ボックスの選択を解除して再度選択し、ユーザー名とパスワードを設定すると、xp_cmdshell を実行できます。

私の質問は、なぜこれが起こるのか...?サービスアカウントプロキシを無効にできるアクションは何ですか. あなたの考えは正常な動作です。それは最近起こり、何度も起こります。

0 投票する
4 に答える
2745 参照

sql - SQL サーバー スキーマの監査?

2 つの異なるスキーマを持つ SQL Server 2008 Enterprise データベースがあります。1 つは私たちが維持するロックされたスキーマで、もう 1 つは外部の開発チームが独自のニーズに合わせて追加および変更できるようにするオープン スキーマです。通常、これは私たちにとってはうまくいきますが、ある特定のチームが本当にそれを台無しにするのが好きで、他のすべての人に影響を与えています. だから2つの質問:

  1. 後から考えると、最初から堅牢なものをセットアップしておけばよかったのですが、そうしませんでした。デフォルトのインストールだけでした。「ユーザー XYZ が 2012 年 7 月 12 日午前 9:00 にプロシージャ ABC を変更した」という単純なものであっても、スキーマに対してこれまでに何が行われたかを確認できると便利です。SQL Server に組み込まれ、デフォルトで有効になっているもので、これを追跡して活用できるものはありますか? もしそうなら、どこで/どのように?
  2. 長期的な解決策に関する限り、これには何をお勧めしますか? 私はDDLトリガーについて少し調べてきましたが、それは有望なオプションのようです. このアプローチを使用したことがある場合は、それがどのように機能し、何ができるかについて少し共有できますか?

ありがとうございました

0 投票する
1 に答える
1469 参照

mysql - スーパー特権とルートアカウント

MySQLでスーパー権限を持つユーザーとすべての権限を持つrootユーザーの違いを知りたいですか?

0 投票する
3 に答える
214 参照

sql - スキーマの更新をエンド ユーザー データベースにプッシュする良い方法は何ですか?

これは広すぎるかもしれませんが、私が対処するのに時間がかかっている問題です。エンドユーザーに配布するアプリケーションがあります。derby バックエンド上で実行されています。コードの変更をかなり簡単にプッシュすることができます。それはサーバーに送信され、新しいバージョンがあることを確認し、ダウンロードして古いコードを上書きし、再起動します。

ただし、コードを変更すると、derby データベースのスキーマも変更されます。これを更新する優れた方法はありません。現在、FTP 経由で SQL 更新をプッシュできます。プログラムがインターネットに接続されると、新しい SQL ファイルが検索され、ダウンロードされて実行されます。

残念ながら、クライアントの多くはインターネット アクセスが制限されているため、これらの更新プログラムを断続的に入手しています。変更が十分に大きいために、ローカル DB スキーマが必要なものと同期しなくなることがあります。または、コードの変更は CD で入手できますが、SQL の変更は入手できません (誰かが CD を郵送します)。

私が試みたのは、スキーマの XML 表現を提供できる SOAP サービスを作成することです。これまでに開発するのは巨大な PITA でした。

このようなデータベースを維持するために人々が現在使用している方法は何ですか? これを行うのは私が初めてではないように感じるので、私がしていることよりも良い方法があるかもしれません.

ここでのいくつかのコメントに基づいて、ここに更新があります: 基本的に、DB の厳密なバージョン管理に準拠していないことで、早い段階で自分自身を台無しにしたと思います。多くの人がカスタム インストールを作成しました (意のままにうめきます)。彼らの DB と「公式」コピーの違いを見分けることができるツールが必要です。

ツールを作成しましたが、ある程度は機能しますが、追跡しなければならないことが…たくさん…あります。

0 投票する
1 に答える
18 参照

database-administration - エンティティを削除する代わりに、データベースでアクティベーション フィールドを使用する

データベースからデータを削除することは良い習慣ではなく、データベース内のエンティティを削除する場合は、ブール値のアクティブ化/非アクティブ化フィールドを使用して、エンティティが物理的にではなく論理的に消去されるようにすることをお勧めします。 ..

私が疑問に思っているのは、なぜデータを保持する必要があるのですか?