ORACLE8iのテーブル作成で、
FREE、USEDEなどのパフォーマンスに関わるようなものの設定の適正値をどなたか教えて下さい。
(いまいち、何を指定してけばよいのかわからないのです。。。とほほ)


デフォルトで充分なのか、または適正値の算出する方法などがあるのでしょうか?

よろしくおお願いいたします。

このQ&Aに関連する最新のQ&A

A 回答 (1件)

Free,Usede(Used?)は、PCT FREE,PCT USEDのことでしょうか?



そうであれば、適正値を判断するのは難しくなります。
詳しいことは、Oracleのマニュアル(データベース、チューニング)を読んでいただくとして、簡単に説明すると、PCT FREEは、あとからUPDATEコマンドを使ってデータを更新するときに、データ量が増えることがありますよね。(たとえば、VARCHAR2の列で、空白だった列を50文字ぐらいの文字列にするなど)当然それだけの容量が新たに必要になるのですが、そのようなときのためのあらかじめとっておくための空きの容量です。具体的にはパーセントで示しますので、データベースの容量にPCT FREEをかければあらかじめあけておく量となります。もし、この容量が小さすぎてあふれた場合、1つの行がばらばらに格納され、パフォーマンスが悪くなることになります。なお、INSERTでばらばらに格納されることはありません。(まったくないわけではありませんが、INSERTでばらばらに格納されるならば、それは、ORACLE BLOCKのサイズが小さすぎるということで、PCT FREEが原因ではありません)
PCT USEDは、一度作られた行を、DELETE文などで削除した場合、その部分に空きができますよね。当然その部分をそのままほっておくのはもったいないので、新しい行を追加するときには、使いたいのですが、すぐには使いません。INSERTするときにデータの容量がPCT USED(同じくパーセントで示します)以下になっていれば、空いた部分を使ってデータを追加します。

つまり、まっさらなデータベースにデータを追加するときは、残り容量がPCT FREEになるまではそのまま追加し、さらに追加するときはPCT FREEだけ残して別の部分を使ってデータを追加します。
UPDDATEするときは、以前は言っているデータより大きいデータで更新するときに、PCT FREEで確保した部分を使います。
DELETEするときは、そのまま削除するのですが、データ容量がPCT USED以下になるまで再利用しないということです。

では、どう設計するかですが、上記の原理を理解して設計するのですが、そのデータベースをどのように使うかで決まります。つまり、UPDATEが多くINSERT時はデータ量が少ないのであればPCT FREEは大きくしておく必要がありますが、UPDATEがほとんどない場合は、PCT FREEを小さくしたほうが、データベースが小さくなりますしパフォーマンスもよくなります。
PCT USEDも同じで、DELETE分が多いのであれば大きめにしてやると、データ容量は小さくなりますが、連続的に追加したデータがばらばらに追加される可能性がありますので、パフォーマンスが落ちるかもしれません。逆にDELETEがほとんどないのであれば、大きくとってやればデータ容量も小さくなりパフォーマンスもあがることになります。
つまり、どれだけ使い方を把握できるかになります。わからなければ取りあえずデフォルトで使い、運用やテストするときにデータベースの状態を分析し、適正な値を見つけるというのが、普通です。ただし、よほど特殊なことをしない限り(DWHやパフォーマンスが厳しいとき以外)気にしなくてもいいように思います。パフォーマンスに関しても、このあたりの値よりも索引やSQL文の書き方のほうが大きく影響します。

このあたりの講習会としては「ORACLE データベース管理 基礎編」をお勧めします。
    • good
    • 0

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

関連するカテゴリからQ&Aを探す

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Qテーブル入れ子にしたらNNではダメ?

赤い背景画像を使ったHTMLにテーブルを3個入れ子で載せました。
下のテーブルのセルに白色、中のテーブルのセル色にグレー、一番上のテーブルのセルに白色を指定しました。

そこへラジオボタンをつけたのですが、本来、枠がない丸いボタンのところに赤の枠ができてしまいます。
IEでは問題ないのですが、NN4.7で確認したらこうなっていました。

デザインを変えずに回避する方法があったら教えてください。
また、NN6.*~だったらOKということはありますか?

Aベストアンサー

こんにちは!

<input type="radio" name="address" value="menber" checked style="background-color:#FFFFFF;">

と style="background-color:#FFFFFF;" を追加してください。

NN6は分かりませんが4.7と7で確認しました。

Mac 側は確認していません・・。

QOracle 8i に入っている値が、おかしい(指定した値ではない)

お世話になります。

現在、Oracle8i を使っています。会社で、社員情報メンテナンス表を作っているんです。社員番号を主キーとして扱っています。

そのテーブルを Java を使って扱っているんですが、この社員番号を検索して、帰ってくる値が、登録(INSERT 文) の時の値と違います。全く違うんではなく、見た目は一緒ですけど、コンピュータで扱うと違うという返事が返ってきます。

具体的にいうと、1 で登録した番号を、SELECT 文で返ってきた値を Java で 1 と同じか?と聞いてみると、違うとコンピュータが返します。僕のプログラムがおかしいのか?と思い、家に返って ほかのDB を使って、試したところちゃんとできました。

Java のプログラムを使って、DB からかえってきた値をコンソール画面に表示したら、ちゃんと「 1 」と表示されます。しかし、その値が、「 1 」と等しいか? Javaで調べるプログラムを作ってみると、違うという答えが返ってきます。

誰かわかる方は、ご返事ください。よろしくお願いします。

Aベストアンサー

>型は、問題ないと思います。char 型でやっております。

(varchar2でなくて) char ということは固定長文字列ですよね?
固定長の場合、スペース埋めされますが、それは考慮されてます?

例えば、char(3)の列に、"1"を代入すると、データベース内部では
後ろに2つのスペースが埋められ "1__"(_はスペース)という形で
保存されます。

それを取り出して元の変数と比較すると
"1" と"1__"の比較なので当然等しくはならないはずですが…。

QNN4.7 テーブルの背景を表示出来ますか?

至急教えて欲しいのですが、ネットスケープ4.7でhtmlを確認中ですが。
テーブルへ背景を埋め込むと表示されないようです。
この現象は、NN4.7では無理なのでしょうか?
どなたか助けてくださいm(_ _)m

Aベストアンサー

NN4.7では <table bgcolor="~"> や <table background="~"> は正式にサポートされています。
(Win. Mac. 共にNN4から正式サポート)

但し、NNの仕様でテーブルの各セル内が背景以外何もない場合は背景が表示されません。

おそらく、背景が表示されていない部分は、文字も画像も入れていないのではありませんか?

そのときには、各空白のセルに相当するソース部位に「&nbsp;」(&は実際には半角です)を記述しておきます。
「&nbsp;」(&は実際には半角です)は、空白を表す特殊な記号で、ブラウザには表示されません。

QSQL、oracleにて文字列操作(連結、切りだし)のパフォーマンス向上法

oracle7を使用しています。

#desc a
num  char(8)
code char(2)
seq char(2)
・・・

#desc b
bango char(12)
・・・

上記場合で aのnum,code,seq を結合したものと bのbangoが
同じかどうかの検索を外部結合付きで行いたいとします。

where
bango(+) = num || code || seq

で動作は正常に行われるのですが、検索速度がかなり重くなってしまいます。
文字列連結(||)は重くなるというのを聞いたことがあるのでできれば
(||)を使用したくないのです。

where
substr(bango,0,8) (+) = num
and substr(bango,9,2) (+) = code
and substr(bango,11,2) (+) = seq

とすると外部結合のところでおこられちゃいました。
文字列連結をつかわずに上記SQLの検索パフォーマンス向上法を
どなたか教えていただけませんか?

oracle7を使用しています。

#desc a
num  char(8)
code char(2)
seq char(2)
・・・

#desc b
bango char(12)
・・・

上記場合で aのnum,code,seq を結合したものと bのbangoが
同じかどうかの検索を外部結合付きで行いたいとします。

where
bango(+) = num || code || seq

で動作は正常に行われるのですが、検索速度がかなり重くなってしまいます。
文字列連結(||)は重くなるというのを聞いたことがあるのでできれば
(||)を使用したくないのです。

where
substr(ban...続きを読む

Aベストアンサー

再投稿です。CONCAT()関数は試してみましたか?
||演算子と同じです。
でも処理時間が早くなるか自信ないです。
うまくいかなかったらすみません。

where
bango(+) = CONCAT(num, code, seq)

QIE6/NN7.1のテーブルのheight="100%"

テーブルの高さの指定 height="100%" なんですが、
IE6とNN7.1で100%で表示されません。

下記の記述に間違いはありますでしょうか?
もしかしたら初歩的な問題なんでしょうか?


ちなみにIE5.5 MacのIE5.2では表示されました。
困っています。
宜しくお願いいたします。

ーーーーーーーーーーーーーー
<table border="0" cellspacing="0" cellpadding="0" height="100%">
<tr>
<td valign="top">上</td>
</tr>
<tr>
<td valign="bottom">下</td>
</tr>
</table>
ーーーーーーーーーーーーー

Aベストアンサー

HTML4.01の規格(仕様)では、tableに使えるアトリビュートは、summary、align、widthです。
heightが有効になるほうが特殊だと思ったほうがよいとおもいます

QORACLEからの値取得字の文字化けについて

いつもお世話になっております。

ORACLE9iのテーブル内容に"1~4"という文字が入ってまして、
そのデータをVB6でoo4oを用いて取得したのですが、
取得文字が"1?4"となってしまいました。

?にReplace("1?4","?","~")というのもやってみたのですが、
変換されないので、?とはかかれてますが?ではない文字に化けてしまっているのかと思います。

どうすれば正しく取得できるのでしょうか、、、
ちなみにデータは"1(半角)~(全角)4(全角)"というわけの分からない形になっています。

この問題を解消する手立てをご存知の方、どうかアドバイスをお願い致します。

Aベストアンサー

オラクルは、多分、SJISだと思うのですが・・・。
もしかしたら、コードがEUCなのかもしれませんね。

QNNでテーブルの枠線(BORDER)の設定は?

NN6です。
BORDERを使用したいのですが、NNではうまくいきません。
<TABLE>タグにあてはめるとだめだときいたので、TDにあてはめようとしているのですが…。

HEAD内で
TDにBORDER-STYLE="SOLID; BORDER-COLOR:GRAY;"
としました。これをTD CLASS=***
としているのですが、一向に線は出てきません。
どのように直せばいいのでしょうか?

Aベストアンサー

とりあえずダブルクォーテーションは不要なので削除しましょう。

BORDER-STYLE=SOLID; BORDER-COLOR:GRAY;

それでも出なかったらボーダーの太さも明記しておきましょう。

BORDER-STYLE=SOLID; BORDER-COLOR:GRAY;BORDER-WIDTH:1pt;

QOracle8iのデータをOracle8へ移行する方法

Oracle8iでエクスポートしたファイルをOracle8へインポートすると
「IMP-00010:有効なエクスポート・ファイルではありません。
ヘッダーは検証に失敗しました。」
と出て失敗してしまいます。
講習会のテキストを読んでみると、「この方法ではうまくできないこと
のあります」とだけ書いてあり、どうすればうまく行くのかが
わかりません。
元々下位バージョンへ移行するということで、「ムリなんじゃないかなぁ~」
と思ってやってみたらやっぱりダメでした。
何か良い方法はないのでしょうか・・?

Aベストアンサー

ORACLE8iのエクスポートファイルじゃないとダメなんですか?
8i環境のテーブルのレコードを8環境に移行したいというのであれば、Oracle8iではなく、Oracle8のexpを使用してエクスポートファイルを作り、Oracle8のimpでデータを8環境に入れてやればいいはずです。

QIE(5.5)とNN(4.7)のフォントサイズについて。

フォントサイズがデフォルトのままだと、IE(5.5)とNN(4.7)とではフォントサイズが違うのです。
IEの方でフォントサイズを「小」にするとNNと丁度良いサイズになるので、
IEでアクセスしたときには強制的にフォントサイズを「小」に変更することなど出来ませんでしょうか?
CSSで「12px」とかにしたんですけど、やはりIEでサイズが「中」になっていると
微妙にサイズが違ってしまうのです。
また、テーブル内のフォントのサイズも同じように変更したいのでNNに対しては融通が利かないのです。
なにとぞお知恵をお貸しくださいませm(_ _)m

Aベストアンサー

これはJavaScriptとの併用である程度解決つきます。
ブラウザによって使用するCSSファイル(この場合は外部ファイルにします。拡張子『.css』)を用意し、<head>~</head>タグ内にブラウザの判別のスクリプトを書く形です。

IE用とNN用で別々のCSSを用意する事によって、かなり近い状態で表示されるはずです(それでもWindows/Mac、他のバージョンを考えると完全に一致させる事は至難の技ですが・・・)。

JavaScriptでのブラウザ判別については、ここの『JavaScirpt』の方で見つかったので、そのリンクを。

参考URL:http://oshiete1.goo.ne.jp/kotaeru.php3?q=186603

QORACLEのスキーマーを別のORACLEインスタンスにコピーする方法

いつもお世話になっています。

表題の件なのですが、ORACLEのスキーマのコピーをおこないたいのですが、方法がわかりません。

いろいろ調べたのですが、テーブル単位のコピーは発見できたのですがスキーマごとというものはみつかりませんでした。

ご存知のかたがいらっしゃったらご教授お願いいたします

Aベストアンサー

スキーマ単位のデータ移行(コピー)であれば、エクスポートとインポート機能が利用できます。やり方はotn.oracle.co.jpからドキュメントがダウンロードすればかいてあると思います。

[Oracle9iなら]
http://otn.oracle.co.jp/document/products/oracle9i/920/general.html#sql
Oracle9i データベース・ユーティリティ リリース2(9.2)

[Oracle8iなら]
http://otn.oracle.co.jp/document/products/oracle8i/817/general.html#basic
Oracle8i ユーティリティ・ガイド リリース8.1

[Oracle8なら]
http://otn.oracle.co.jp/document/products/oracle8/80/general.html
Oracle8 Server ユーティリティ リリース8.0

あたりに書いてあると思います。


人気Q&Aランキング

おすすめ情報