ホームページ  >  記事  >  php教程  >  Oracleクエリ文集(Oracle基本コマンド集1)

Oracleクエリ文集(Oracle基本コマンド集1)

高洛峰
高洛峰オリジナル
2017-01-06 13:19:192058ブラウズ

1.パスワードで識別されるユーザーのユーザー名を作成します;//ユーザー名とパスワードを作成します oracle,oracle
2.grant connect,resource,dba to username;//grant connect,resource,dba,sysdba をユーザー名に許可します
3.connect username; /パスワード//入力してください。
4.select table_name,column_name from user_tab_columns where table_name='mview_log';//テーブル内のテーブル名、フィールド名などをクエリします。
5. スクリプト SQL ファイルを実行するにはどうすればよいですか? SQL>@PATH/filename.sql;
6.Oracle oledb プロバイダーは、SQL SERVER とは少し異なり、「;」を使用する必要があります。複数の SQL ステートメントを区切るために、Oracle は ORACLE 呼び出し仕様に準拠する必要があります。つまり、セミコロン区切りに加えて、ステートメント本体も begin /end; で囲む必要があります。
C# を使用した記述は次のようになります。
this.oleDbCommand1.CommandText = "begin INSERT INTO GROUP_INFO (GROUP_ID, GROUP_NAME) VALUES (1, '2'); INSERT INTO GROUP_INFO(GROUP_ID, GROUP_NAME) VALUES (2, '2'); end;"; 7. user_tab_columns から個別の table_name を選択して、すべてのテーブルをクエリします。
8. 上位 N 個のレコードを検索するには? a.*,rownum from (カード種類順に * を選択) a where rownum9. ユーザーの下のすべてのテーブルを検索します: select * from タブ
SQL> 3 、システムにどのユーザーがいるかを確認します
SQL> select * from all_users;
SQL> によって識別されるユーザーの作成を許可します。 、リソースに接続します
SQL> タブからすべてのオブジェクトをクエリします
SQL> a(数字);
8. クエリテーブル構造
SQL> を値に挿入します
11.
SQL> セットを更新
13. ロールバック
SQL> を送信します。 from
(select t .*,dense_rank() over (order by cardkind) Rank from cardkind t)
where Rank = 2
select 'Welcome to visit'|| chr(10)||' www.CSDN.NET' から
47
Oracle9i より前は、中国語はバイナリ エンコーディングに従ってソートされていました。
oracle9iではピンイン、部首、画数によるソート機能が追加されました。 NLS_SORT 値を設定します。
SCHINESE_RADICAL_M 部首 (1 番目の順序)、ストローク (2 番目の順序) で並べ替えます。
SCHINESE_STROKE_M ストローク (1 番目の順序)、部首 (2 番目の順序) で並べ替えます。
SCHINESE_PINYIN_M ピンインで並べ替えます。中国人?
はい
49. WIN で SQL*Plus 起動オプションを変更するにはどうすればよいですか?
SQL*PLUS 独自のオプション設定は、$ORACLE_HOME/sqlplus/admin/glogin.sql で設定できます。
50. oracle データベースのデフォルトの日付を変更するには?
alter session set nls_date_format='yyyymmddhh24miss';
init.ora に行を追加できます
nls_date_format='yyyymmddhh24miss'
51.
alter table xxx storage(buffer_pool keep);
oraInventory を確認する方法
53. クエリ結果のシリアル番号を自動的に生成する方法
select rownum,COL from table;
54. データ パンツのテーブルが配置されているテーブルスペースを知る方法
select tablespace_name from user_tables where table_name='TEST'; フィールド TABLESPACE_NAME があります。 );
select * from dba_segments where …;
create table new_table as (select * from old_table);
select line,trim(text) t from user_source where name ='A' order by line;
システムの強制終了セッションを変更してそのセッションを強制終了する方法は?最初に彼女のセッション ID を指定する
または
プロセスを再変更する 名前だけで十分です。
57. SQL リファレンスとは何ですか?
これは、Oracle 公式 Web サイトのドキュメント センターからダウンロードできる SQL マニュアルです
ps -ef | ora
Windows
サービスの表示 起動していますか
データベースに接続できますか
59. テーブルの主キーを変更する方法
テーブル aaa を変更します
制約 aaa_key を削除します
テーブル aaa を変更します
制約 aaa_key プライマリ キーを追加します
ALTER DATABASE .... DATAFILE を使用しますか?
サイズを手動で変更しますデータ ファイルの元のデータ ファイルに損傷はありますか?
61. ORACLE でどのプログラムが実行されているかを確認するには?
v$sessions テーブルを表示します
62. データベースにあるテーブルスペースの数を確認するにはどうすればよいですか?
select * from dba_tablespaces; Oracle データベース内のユーザー接続の数を変更するにはどうすればよいですか?
initSID.ora を変更し、プロセス サイズを増やし、データベースを再起動します。
レコードの最終更新時刻を確認するには?
PL でファイルを読み書きする方法。 /SQL?
UTL_FILE パッケージを使用すると、ユーザーは PL/SQL を介してオペレーティング システム ファイルの読み取りと書き込みを行うことができます。
66. レコードに「&」を入れるにはどうすればよいですか?
値に挿入 (translate ('at{&}t','at{}','at'));
67. EXP に QUERY パラメータを追加するにはどうすればよいですか?
EXP USER/PASS FILE=A.DMP TABLES(BSEMMPMS)
QUERY='"WHERE EMP_NO='S09394'" ﹔
68. 簡体字中国語と繁体字中国語をサポートする oracle8i の文字セットの問題について?
ZHS16GBK は
69 をサポートできます。Data Guard とはどのようなソフトウェアですか?
Standby
70 の代替製品です。
SQL> select * from v$version; CREATE SPFILE FROM PFILE=' E:ora9iaadmineyglepfileinit .ora'; ファイルが作成されました。
SQL> CREATE SPFILE='E:ora9idatabaseSPFILEEYGLE.ORA' FROM
PFILE='E:ora9iadmineyglepfileinit.ora'; ファイルが作成されました。
71. カーネルパラメータの適用?
shmmax
意味: この設定は、Oracle データベースまたはオペレーティングシステムが使用する物理メモリの量を決定するものではなく、使用できるメモリの最大量を決定するだけです。この設定は、オペレーティング システムのカーネル リソースにも影響しません。
設定方法: 0.5*物理メモリ
例: shmsys:shminfo_shmmax=10485760 を設定
shmmin
意味: 共有メモリの最小サイズ。
設定方法:通常は1に設定します。
例: shmsys:shminfo_shmmin=1 を設定:
shmmni
意味: システム内の共有メモリ セグメントの最大数。
例: shmsys:shminfo_shmmni=100 を設定します。
shmseg
意味: 各ユーザープロセスが使用できる共有メモリセグメントの最大数。
例: Set shmsys:shminfo_shmseg=20:
semmni
意味: システム内のセマフォ識別子の最大数。
設定方法: この変数の値を、このシステム上のすべての Oracle インスタンスの init.ora 内の最大の
プロセスの値に 10 を加えた値に設定します。
例: Set semsys:seminfo_semmni=100
semmns
意味: システム内のエマフォの最大数。
設定方法:この値は、各OracleインスタンスのinitSID.ora内の
processesの値の合計(最大のProcessesパラメータを除く)+最大のProcesses×2+10×
の方法で計算できます。 Oracle インスタンスの数。
例: Set semsys:seminfo_semmns=200
semmsl:
意味: セット内のセマフォの最大数。
設定方法:全OracleインスタンスのInitSID.oraのProcessesの最大値に10を加えた値に設定します。
例: semsys:seminfo_semmsl=-200 を設定します。
72. どのユーザーが SYSDBA および SYSOPER 権限を持っているかを確認するにはどうすればよいですか?
SQL>conn sys/change_on_install
SQL>select * from V_$PWFILE_USERS; 1 つ以上のテーブルを個別にバックアップする方法
exp user/password tables=(Table 1,...,Table 2)
74. 1 人以上のユーザーを個別にバックアップするにはどうすればよいですか?
exp system/manager owner=(User 1, User 2,…, User n) file=エクスポートファイル
75. CLOB フィールドで全文検索を実行するにはどうすればよいですか?
SELECT * FROM A WHERE dbms_lob.instr(a.a,'K',1,1)>0; 76. 現在接続しているユーザーを表示するには?
SHOW USER
77.
col file_name 形式 a50
SQL> dba_data_files から tablespace_name,file_id,bytes/1024/1024,file_name を選択します
file_id で並べ替えます
SQL>
SQL> SELECT SEGMENT_NAME, OWNER,TABLESPACE_NAME,SEGMENT_ID,FILE _ID,STATUS FROM
DBA_ROLLBACK_SEGS
79. フィールドの初期定義のチェック範囲を変更するには?
SQL> alter table xxx stopconstraint_name;
新しい制約を作成します:
SQL> alter table xxx addconstraint_name check();
80.
これらのファイル情報を次のビューで表示します: v$database、v$datafile、v$controlfile
v$parameter;
INNER JOIN? bsempms a,bsdptms b から a.* を選択します。 b.dpt_no;
82. 外部結合を行うにはどうすればよいですか?
bsempms a,bsdptms b から a.* を選択します。 dpt_no( +)=b.dpt_no;
SQL>@$PATH/filename.sql;
テーブル table_name; を実行するには? 85. データベース インスタンスの数を確認する方法
SQL>SELECT * FROM V$INSTANCE;
SQL>select * from all_tables; をテストする方法SQL ステートメントの実行にかかる時間
SQL>select * from tablename;
ASCII()
SELECT CHAR(65) FROM DUAL とは何ですか? ;
SELECT ASCII('A') FROM DUAL;
89. 文字列接続
SELECT COL1||COL2 FROM TABLE; 90. ?
SQL>SPOOL C:ABCD.TXT;
SQL>spool off;
SQL>SET AUTOTRACE ON ; ;SELECT * FROM TABLE;
OR
SQL>SELECT * FROM v$filestat ;
alter table table_name edit (field_name varchar2(100)) でフィールド サイズを変更するにはどうすればよいですか? ;
大きな行を変更し、小さすぎる行を変更します (すべて空でない場合)
select * from table_name where trunc (date field) = to_date('2003-05-02) ','yyyy-mm-
dd') ;
94. SQL ステートメントを使用して年間の日付を挿入するにはどうすればよいですか?
テーブル BSYEAR (d date) を作成します
BSYEAR に挿入
select to_date('20030101','yyyymmdd')+rownum-1
from all_objects
where rownum 95. テーブル名を変更して new_table_name に変更するにはどうすればよいですか?
96.
sqlcode=0
97. ユーザーが持つ権限を確認するには?
SELECT * FROM dba_sys_privs;
98. インターネットからダウンロードした ORACLE9I と市販の標準バージョンの違いは何ですか?
Web サイトからダウンロードした Oracle 製品を
商業目的で使用してはならないと明示的に規定していることを除いて、機能的な違いはありません。そうしないと侵害となります。
99. データベースがアーカイブ モードで実行されているか、非アーカイブ モードで実行されているかを確認するにはどうすればよいですか?
dbastudio に入り、プロセス --> データベース --> アーカイブ ビューを開きます。
100. SQL>スタートアップ pfile、ifile、spfiled の違いは何ですか?
pfile は、テキスト形式の Oracle の従来の初期化パラメータ ファイルです。
ifile は C 言語の include に似ており、別のファイルを導入するために使用されます
spfile は 9i で新しく追加されたもので、バイナリ形式のデフォルトのパラメータ ファイルです
起動後にアクセスできるのは pfile のみです
101 上位 N 個の項目を検索する方法?
SELECT * FROM empLOYEE WHERE ROWNUM < n ORDER BY empno;
SQL>conninternal ;
103.変更されましたか?
一般的には不可能であり、推奨されません。
104. 2 つのテーブルのレコードの合計数をカウントするにはどうすればよいですか?
select (select count(id) from aa)+(select count(id) from bb) total from Dual
105.列の N 番目 大きな値?
select * from
(select t.*,dense_rank() over (order by sal) ランク from 従業員)
where Rank = N;
106. 既存の日付に 2 年を追加するにはどうすればよいですか? (
select add_months(sysdate,24) from Dual;
107. 負の USED_UBLK 値は何を意味しますか?
「無害」です。
108. 接続文字列は何を意味しますか?
tnsnames のサービス名の後にある必要があります。 ora コンテンツ
109. REDO LOG のサイズを拡張するにはどうすればよいですか?
一時的な REDO ログ グループを作成し、以前のログを削除して、新しいログを作成しますか?
いいえ。
111. N 以上の最小の整数値を返しますか?
DUAL から CEIL(N) を返します。
113. 現在の月の最後の日を返します。
SELECT LAST_DAY(SYSDATE) FROM
114. 異なるユーザー間でデータをインポートするには? Y インデックス =Y

115. データベーステーブルの主キーフィールドの名前を見つけるには?
SQL>SELECT * FROM user_constraints WHERE CONSTRAINT_TYPE='P' と
table_name='TABLE_NAME'; 2 つの結果セットを相互に追加する関数。 ?
SQL>SELECT * FROM BSEMPMS_OLD INTERSECT * FROM BSEMPMS_NEW;
SQL>SELECT * FROM BSEMPMS_OLD UNION ALL SELECT * FROM BSEMPMS_NEW; 2 つの結果セット?
SQL> ; FROM BSEMPMS_OLD MINUS SELECT * FROM BSEMPMS_NEW;
シーケンス seq_custid を作成する
テーブルを作成する場合:
テーブル custid を作成します。
{ cust_id smallint not null,
.. .}
insert の場合:
テーブル cust に挿入
values( seq_cust.nextval, ...)
日付の各部分の一般的な書き方
119> の年の書き方。時点:
SELECT TO_CHAR(SYSDATE, 'YYYY') FROM DUAL;
120> 時点の月を取得する方法:
SELECT TO_CHAR(SYSDATE,'MM') FROM
121>時点の日付を取得します:
SELECT TO_CHAR(SYSDATE, 'DD') FROM DUAL; 時点の時間を取得する方法:
SELECT TO_CHAR(SYSDATE, 'HH24') FROM DUAL; ;. ある時点での分を取得する方法:
SELECT TO_CHAR(SYSDATE, 'MI') FROM DUAL; ある時点で秒を取得する方法:
SELECT TO_CHAR(SYSDATE, 'SS') FROM DUAL;
125> ある時点の日付を取得する方法:
SELECT TRUNC(SYSDATE) FROM DUAL;
126> ある時点の時刻を書き込む方法:
SELECT TO_CHAR(SYSDATE,'HH24:MI:) SS') FROM DUAL;
127> 日付と時刻の形式が文字形式に変更されます
SELECT TO_CHAR(SYSDATE) FROM DUAL;
128> 文字列を日付または時刻の形式に変換します:
SELECT TO_DATE('2003/08/) 01') FROM DUAL; 129> 戻りパラメータの曜日の書き方:
SELECT TO_CHAR(SYSDATE,' D') FROM DUAL; パラメータの曜日を返します。 SELECT TO_CHAR(SYSDATE,'DDD') FROM DUAL;
131>。午前 0 時とパラメータで指定された時刻値との差を返します。 間の秒数を記述する方法:
SELECT TO_CHAR(SYSDATE,'SSSSS') FROM DUAL ;
132>. 戻りパラメータに年の週を記述する方法:
SELECT TO_CHAR(SYSDATE,'WW') FROM DUAL;
CURRVAL および nextval
テーブルのシーケンスを作成する
CREATE SEQUENCE EMPSEQ ... ;
SELECT empseq.currval FROM DUAL ;
シーケンスに値を自動的に挿入
INSERT INTO emp
VALUES (empseq.nextval, 'LEWIS', 'CLERK',
7902, SYSDATE, 1200, NULL, 20) ;
134. ROWNUM
SELECT * FROM WHERE ROWNUM SELECT ROWID, ename FROM WHERE deptno = 20;
136. N 秒を時、分、秒の形式に変換しますか?
宣言にサーバーアウトを設定します := 1000000;
開始
ret := 'hour' || to_char(to_date(mod(n,3600), 'sssss'),'fmmi" minutes
"ss"seconds"');
dbms_output.put_line(ret);
137.
SELECT b.tablespace、b.segfile#、b.segblk#、b.blocks、a.sid、a.serial#、
a.username、a.osuser、a.status
FROM v$session a,v$ sort_usage b
WHERE a.saddr = b.session_addr
ORDER BY b.tablespace, b.segfile#, b.segblk#, b.blocks ; 138. 比較的大規模なソートを実行するプロセスの SQL ステートメントをクエリする方法?
select /*+ ORDERED */ sql_text from v$sqltext a
where a.hash_value = (
sql_hash_value from v$session b
where b.sid = &sid and b.serial# = &serial)
order by Piece asc ;
139. 重複したレコードを見つけるには?
SELECT * FROM TABLE_NAME
WHERE ROWID!=(SELECT MAX(ROWID) FROM TABLE_NAME D
WHERE TABLE_NAME.COL1=D.COL1 AND TABLE_NAME.COL2=D.COL2);
140.
DELETE FROM TABLE_NAME
WHERE ROWID!=(SELECT MAX(ROWID) FROM TABLE_NAME D
WHERE TABLE_NAME.COL1=D.COL1 AND TABLE_NAME.COL2=D.COL2);
141. すべてのビューをすばやくコンパイルするにはどうすればよいですか?
SQL >SPOOL VIEW1.SQL
SQL >SELECT 'ALTER VIEW '||TNAME||'
COMPILE;' FROM TAB;
SQL >SPOOL OFF
次に VIEW1.SQL を実行します。
SQL >@VIEW1.SQL;
142. ORA-01555 スナップショットが古すぎます
MINEXTENTS 値を増やし、エクステント サイズを増やし、高い OPTIMAL 値を設定します。
143. トランザクションに必要なロールバック セグメント領域が不足しており、テーブル領域がいっぱいであることが示され (ORA-01560 エラー)、ロールバック セグメント拡張が
パラメータ MAXEXTENTS の値に達しています (ORA-01628)。ロールバック セグメント テーブル ファイルを追加するためのスペース、または既存のファイルを大きくするための MAXEXTENTS の値。
144. ORACLE ストアド プロシージャを暗号化するには?
次のストアド プロシージャの内容は、AA.SQL ファイルに配置されます。
begin としてプロシージャ testCCB(i innumber) を作成または置換します。
dbms_output.put_line('入力パラメータは'||to_char(i));
SQL>wrap iname=a.sql;
PL/SQL ラッパー: リリース 8.1.7.0.0 - 2001 年 11 月 27 日火曜日 22:26:48 に製造
Copyright (c) Oracle Corporation 1993, 2000.All Rights Reserved. AA.plb への SQL の処理
AA.plb の実行
SQL> @AA.plb ; ケースの待機を監視する方法
select events,sum(decode(wait_Time,0,0,1)) "Prev",
sum(decode(wait_Time,0,1,0)) "Curr",count(*) "Tot"
from v$ session_Wait
イベント順に 4 つずつグループ化します
146。
select name、waits、gets、waits/gets "Ratio"
from v$rollstat C, v$rollname D
where C.usn = D.usn; 147. テーブルスペースの I/O 比率を監視するにはどうすればよいですか?
select B.tablespace_name name,B.file_name "file",A.phyrds pyr,
A.phyblkrd pbr,A.phywrts pyw, A.phyblkwrt pbw
from v$filestat A, dba_data_files B
where A.file# = B.file_id
B.tablespace_name による順序
148 ファイルシステムの I/O 率を監視するには?
select substr(C.file#,1,2) "#"、substr(C.name,1,30) "Name"、
C.status、C.bytes、D.phyrds、D.phywrts
from v $datafile C, v$filestat D
where C.file# = D.file#; 149. 特定のユーザーの下のすべてのインデックスを検索するにはどうすればよいですか?
user_ind_columns、user_indexes から user_indexes.table_name、user_indexes.index_name、uniqueness、column_name を選択します
user_ind_columns.index_name = user_indexes.index_name
user_ind_columns.table_name = user_indexes.table_name
user_indexes.table_type で並べ替えますインデックス。テーブル名、
ユーザーインデックス。インデックス名、列位置
150. SGA のヒット率を監視するには?
a.value + b.value "logical_reads"、c.value "phys_reads"、
round(100 * ((a.value+b.value)-c.value) / (a.value+b.value) を選択します。 ) 「バッファ ヒット率」
v$sysstat a、v$sysstat b、v$sysstat c
から、a.statistic# = 38 および b.statistic# = 39
および c.statistic# = 40
; SGA で辞書バッファのヒット率を監視しますか?
パラメータを選択、gets,Getmisses 、getmisses/(gets+getmisses)*100 "ミス率"、
(1-(sum(getmisses)/ (sum(gets)+sum(getmisses)))))*100 "ヒットrate "
from v$rowcache
wheregets+getmisses <>0
group byparameter,gets,getmisses;
152. SGA の共有キャッシュ領域のヒット率を監視する方法 (1% 未満の場合) ?
select sum(pins) "総ピン数", sum(reloads) "総リロード数",
sum(reloads)/sum(pins) *100 libcache
from v$librarycache
select sum(pinhits-reloads)/sum( pins) "hit radio",sum(reloads)/sum(pins) "reload
percent"
v$librarycache から
153. すべてのデータベース オブジェクトのカテゴリとサイズを表示するにはどうすればよいですか?
select count(name) num_instances ,type ,sum(source_size) source_size ,
sum(parsed_size) parsed_size ,sum(code_size) code_size ,sum(error_size)
error_size,
sum(source_size) +sum(parsed_size) +sum(code_size) ) +sum(error_size) size_required
dba_object_size から
タイプ順に 2 でグループ化
154。SGA の REDO ログ キャッシュのヒット率を監視します。1% 未満である必要があります。
SELECT name、gets、misses、immediate_gets、 immediate_misses,
Decode(gets,0,0,misses/gets*100) rate1,
Decode(immediate_gets+immediate_misses,0,0,
immediate_misses/(immediate_gets+immediate_misses) *100) rate2
FROM v$latch WHERE name IN ('redo assign', 'redo copy');
155. メモリとハードディスクのソート率を監視し、sort_area_size を増やすのが最適です。
SELECT name, value FROM v$sysstat WHERE name IN ('sorts (メモリ)', 'sorts
(disk)');
156. 現在のデータベースで誰がどの SQL ステートメントを実行しているかを監視するにはどうすればよいですか?
SELECT osuser, username, sql_text from v$session a, v$sqltext b
where a.sql_address =b.address order by address, Piece; 157. 辞書バッファを監視するには?
SELECT (SUM(PINS - RELOADS)) / SUM(PINS) "LIB CACHE" FROM V$LIBRARYCACHE;
SELECT (SUM(GETS - GETMISSES - USAGE - FIXED)) / SUM(GETS) "ROW CACHE" FROM
ROWCACHE;
SELECT SUM(PINS) "EXECUTIONS", SUM(RELOADS) "CACHE MISSES WHILE EXECUTING" FROM
V$LIBRARYCACHE; 後者を前者で割ると、比率は 1% 未満で 0% に近くなります。より良い。
V$ROWCACHE から SUM(GETS) "DICTIONARY GETS",SUM(GETMISSES) "DICTIONARY CACHE GET MISSES" を選択します
158. MTS を監視します
v$dispatcher から、busy/(busy+idle) "sharedservers used" を選択します。
この値が 0.5 より大きい場合、パラメータを増やす必要があります
select sum(wait)/sum(totalq) "dispatcher waits" from v$queue where
type='dispatcher';
select count(*) from v $dispatcher;
v$mts からservers_highwater を選択します。
servers_highwater が mts_max_servers に近い場合、パラメータを増やす必要があります
SQL>SHOW USER;
SQL>デュアルからユーザーを選択します。
160. フラグメントテーブルを高度に表示するにはどうすればよいですか? (*) = (SELECT MAX( COUNT(*) ) FROM dba_segments GROUP BY
segment_name);
selectsegment_name,sum(bytes),count(*) のテーブルのストレージ状況を確認するにはどうすればよいですか? ) ext_quan from dba_extents where
tablespace_name='&tablespace_name' およびsegment_type='TABLE ' でグループ化されます
tablespace_name,segment_name;
selectsegment_name,count(*) from dba_extentsここで、segment_type='INDEX' および
owner='&owner'
segment_name でグループ化します
164 より多くの CPU を使用するユーザー セッションを確認するにはどうすればよいですか?
a.sid、spid、status を選択します。 substr(a.program,1,40)
prog,a.terminal,osuser,value /60/100 value
v$session a,v$process b,v$sesstat c から
where c.statistic#=11 and c.sid=a.sid と a.paddr=b.addr は値の説明で順序付けされます
165. リスナーのログ ファイルを確認するには
$ORACLE_HOME/NETWORK/LOG/LISTENER.LOG を使用します
166リスナーパラメータファイルを知る方法
$ORACLE_HOME/NETWORK/ADMIN/LISTENER
167. TNS 接続ファイルを知る方法
$ORACLE_HOME/NETWORK/ADMIN /TNSNAMES.ORA
168. Sql*Net 環境ファイルを確認する方法
$ORACLE_HOME/NETWORK/ADMIN /SQLNET.ORA を確認する方法
8I を例として挙げます。例
$ORACLE_HOME/ADMIN/SID/BDUMP/SIDALRT.LOG
170. 基本構造を知る方法
8I を例に挙げます
$ORACLE_HOME/RDBMS/ADMIN/STANDARD.SQL を確認する方法
171.データ ディクショナリ ビュー
$ORACLE_HOME/RDBMS/ADMIN/CATALOG.SQL
172 監査用のデータ ディクショナリ ビューを確立する方法
$ ORACLE_HOME/RDBMS/ ADMIN/CATAUDIT.SQL
173. スナップショット用のデータ ディクショナリ ビューの作成方法を知るには?
8I を例に挙げます
$ORACLE_HOME/RDBMS/ADMIN/CATSNAP.SQL
この講義では主に SQL ステートメントの最適化方法について説明します。 ! 主に ORACLE9I に基づいています。 /*+ALL_ROWS*/
ステートメント ブロックに対してコストベースの最適化方法が選択され、リソース消費を最小限に抑えるために最適なスループットが得られることを示します。
SELECT /* +ALL+_ROWS */ EMP_NO,EMP_NAM,DAT_IN FROM BSEMPMS WHERE EMP_NO='CCBZZP';
175. /*+FIRST_ROWS*/
ステートメント ブロックに対してコストベースの最適化方法が選択されていることを示します。リソース消費を最小限に抑えるために取得されます。
例:
SELECT /*+FIRST_ROWS*/ EMP_NO,EMP_NAM,DAT_IN FROM BSEMPMS WHERE EMP_NO='CCBZZP'; /*+CHOOSE*/
に関する統計情報があるかどうかを示します。データ ディクショナリ内のアクセス テーブルの場合、コストに基づいてメソッドが最適化され、最高のスループットが得られます。
データ ディクショナリ内のアクセス テーブルに関する統計情報がない場合、最適化メソッドはルールに基づいて行われることを示します。オーバーヘッド;
例:
SELECT /*+CHOOSE*/ EMP_NO,EMP_NAM,DAT_IN FROM BSEMPMS WHERE EMP_NO='CCBZZP'; /*+RULE*/
ステートメント ブロックのルールベースの最適化方法の選択を示します。
例:
SELECT /*+ RULE */ EMP_NO,EMP_NAM,DAT_IN FROM BSEMPMS WHERE EMP_NO=' CCBZZP'; /*+FULL(TABLE)*/
のグローバル スキャンを選択する方法を示します。
例:
SELECT /*+FULL(A)*/ EMP_NO,EMP_NAM FROM BSEMPMS A WHERE EMP_NO='CCBZZP ';
179. /*+ROWID(TABLE)*/
テーブルは ROWID に基づいてアクセスされます。例:
SELECT /*+ROWID(BSEMPMS)*/ * FROM BSEMPMS WHERE ROWID>='AAAAAAAAAAAA'
AND EMP_NO='CCBZZP';
180. /*+CLUSTER(TABLE)*/
このプロンプトは、指定されたテーブルに対してクラスター スキャンのアクセス方法が選択されていることを明確に示しており、これはクラスター オブジェクトに対してのみ有効です。
SELECT /*+CLUSTER * / BSEMPMS.EMP_NO,DPT_NO FROM BSEMPMS,BSDPTMS
WHERE DPT_NO='TEC304' AND BSEMPMS.DPT_NO=BSDPTMS.DPT_NO; /*+INDEX(TABLE INDEX_NAME)*/
スキャンを示しますテーブル選択インデックスのメソッド
例:
SELECT /*+INDEX(BSEMPMS SEX_INDEX) USE SEX_INDEX BECAUSE THERE ARE FEWMALE
BSEMPMS */ FROM BSEMPMS WHERE SEX='M'
182. */
テーブルのインデックス選択を示します。昇順スキャン方式です。

その他の Oracle クエリ ステートメント (Oracle 基本コマンド集 1) 関連記事については、PHP 中国語 Web サイトに注目してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。