国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數據庫 > Oracle > 正文

Oracle新手入門: Oracle問答精選

2024-08-29 13:40:26
字體:
來源:轉載
供稿:網友

  Q: 如 何 使 用 Cost Based 優 化 器 優 化 查 詢 操 作?
  A: Oracle Server 提 供 了 基 于 成 本(Cost Based) 和 基 于 規 則(Rule Based) 兩 種 優 化 器, 簡 稱 為 CBO 和 RBO, 用 于 確 定 查 詢 操 作 的 執 行 計 劃。 Cost Based 優 化 器 將 計 算 各 種 執 行 計 劃 的 開 銷, 然 后 選 出 最 低 成 本 的 執 行 計 劃。 可 使 用 下 列 方 法 選 擇 使 用 CBO: 方 法 1: 在 INIT<sid>.ORA 文 件 中 設 置 參 數 OPTIMIZER_MODE=choose
  方 法 2: 在 session 級 設 置  OPTIMIZER_GOAL=FIRST_ROWS 或 ALL_ROWS 例 如: alter session set optimizer_goal=first_rows; 方 法 3: 在 查 詢 語 句 中 使 用 Hint, 包 括 CHOOSE,ALL_ROWS,FIRST_ROWS 等。
  
  Q: 如 何 確 定 某 個 查 詢 使 用 了 哪 一 種 優 化 器?
  A: 使 用 EXPLAIN PLAN 命 令 生 成 該 查 詢 語 句 的 執 行 計 劃, 然 后 檢 查 PLAN_TABLE 表 中 POSITION 字 段, 如 果 值 為 Null, 說 明 使 用 了 Rule Based 優 化 器; 否 則 表 明 使 用 了 Cost B ased 優 化 器。 例 如:
  SELECT decode(nvl(position,-1),-1, 'RBO','CBO')
  FROM plan_table
  WHERE id=0;
  
  Q: 我 的 查 詢 上 周 的 性 能 很 好, 為 什 么 現 在 查 詢 速 度 很 慢?
  A: 這 是 由 于 執 行 計 劃 被 改 變 而 造 成 的, 下 列 因 素 將 會 改 變 一 個 執 行 計 劃:
  1) INIT<sid>.ORA 文 件 中 的 參 數 OPTIMIZER_MODE 被 改 變 2) 表 上 定 義 或 改 變 了 并 行 查 詢 度 3) 使 用 ANALYZE 命 令 重 新 分 析 了 表, 而 且 使 用 了 ESTIMATE 方 式, 因 這 種 方 式 選 擇 不 同 的 百 分 比 可 產 生 不 同 的 分 析 結 果。
  4) DB_FILE_MULTIBLOCK_READ_COUNT 參 數 被 修 改。
  5) SORT_AREA_SIZE 參 數 被 修 改
  
  Q: 為 什 么 我 的 執 行 計 劃 不 是 最 好 的?
  A: CBO 是 依 賴 表 的 一 些 統 計 信 息 來 選 擇 出 最 低 成 本 的 執 行 計 劃, 當 這 些 統 計 信 息 不 準 確 時, 產 生 的 計 劃 便 可 能 不 是 最 佳 的。 因 而 應 使 用 ANALYZE 命 令 及 時 對 表 進 行 分 析 統 計。
  
  Q: 當 使 用 ESTIMATE 方 式 對 表 進 行 分 析 時, 選 用 什 么 百 分 比 最 好?
  A: 經 測 試 證 明, 使 用 5% 的 的 比 例 較 好。 即 提 高 了 分 析 效 率, 又 保 證 分 析 結 果 的 準 確 性。
  
  Q: 如 何 在 Oracle8 數 據 庫 中 創 建 Partition Table?
  A: 使 用 CREATE TABLE 命 令, 并 指 定 Partition Key 和 每 個 Partition 的 分 區 范 圍, Partition 名 為 可 選 項, 如 未 指 定, 系 統 將 自 動 產 生 Partition 名。 例 如: CREATE TABLE emp
  (EMPNO NUMBER(5),
  ...)
  PARTITION BY RANGE(EMPNO),
  emp_p1 VALUES LESS THAN (2000),
  emp_p2 VALUES LESS THAN (4000)
  emp_p3 VALUES LESS THAN (MAXVALUE);
  
  Q: Partition Table 有 何 限 制?
  A: 1) 數 據 類 型 限 制:
  Partition Table 不 能 包 含 LONG、 LONG RAW、 LOB 及 OBJECT 類 型 的 字 段 2) Cluster 不 能 被 分 區 3) Bitmap 索 引: Bitmap 索 引 必 須 是 LOCAL 索 引, 不 能 是 GLOBAL 索 引 4) 優 化 器:
  Oracle8 中 Cost Based 優 化 器 支 持 Partitions, 而 Rule Based 優 化 器 對 Partitions 不 敏 感, 無 法 通 過 Partitions 獲 得 性 能 的 提 高。
  5) Partition Tables 不 能 跨 多 個 數 據 庫, 所 有 的 Partition 必 須 存 在 于 一 個 數 據 庫 中
  
  Q: 如 何 建 立 一 個 與 現 存 數 據 庫 相 同, 但 不 包 含 數 據 的 空 庫?
  A: 對 全 庫 作 Export 或 Import 時, 使 用 參 數 ROWS=Y
  例 如: exp system/manager full=Y rows=N file=full.dmp
  imp system/manager full=Y rows=N file=full.dmp
  
  Q: 當 Exporting PRocedures 和 Packages 時, 是 否 會 改 變 其 時 間 標 簽 (Timestamp) ?
  A: 不 改 變, 這 是 為 避 免 不 必 要 的 重 編 譯。

  
  Q: Exp 的 參 數 VOLSIZE 能 否 用 于 所 有 的 平 臺?
  A: VOLSIZE 只 能 用 于 UNIX 系 統, 將 數 據 exporting 至 外 部 介 質 上(如 磁 帶)
  
  Q: 如 何 通 過 SQL*PLUS 往 表 中 插 入 " ' ", 如 往 表 中 插 入 i'm.
  A: 在 SQL*PLUS 中 , 我 們 可 以 用 chr(39) 來 表 示 " ' ", 例 如 :
  sql>create table test (col1 varchar2(10));
  sql>insert into test values('i'chr(39)'m');
  sql>select * from test;
  col1
  -----
  i'm
  
  Q: 在 win95 或 windows NT 上 運 行 oracle Net8 Assistant 或 Net8 Easy Configuration 時 報 錯 "unhandled exception error in java.exe"
  A:oracle Net8 Assistant 或 Net8 Easy Configuration 調 用 了 Java, 而 Java 在 win95 或 windows NT 上 運 行 對 系 統 的 分 辨 率 和 顏 色 都 有 要 求 . 應 把 系 統 的 分 辨 率 調 到 大 于 640x480, 把 系 統 的 顏 色 調 到 大 于 256 色 但 不 能 設 置 成 true color.
  
  Q: 安 裝 oracle 8 for windows NT 4.0 需 要 NT 的 那 種 service pack?
  A: 安 裝 oracle 8 for windows NT 4.0 需 要 NT 的 service pack 3.
  
  Q:Delphi3.0 是 否 支 持 oracle8?
  A:Delphi3.0 只 有 oracle 7 的 driver, 所 以 不 支 持 oracle 8.
  Delphi4.0.x 有 oracle 8 的 driver, 所 以 支 持 oracle 8.
  
  Q: 怎 樣 在 oracle 7 和 oracle 8 之 間 export/import 數 據 ?
  A: 必 須 先 在 oracle 8 數 據 庫 上 以 internal 或 sys 用 戶 運 行 catexp7.sql
  svrmgr>connect internal
  svrmgr>@?/rdbms/admin/catexp7.sql
  
  Q: 怎 樣 為 遠 程 用 戶 設 置 "internal" 的 口 令 ?
  A: 先 在 數 據 庫 端 的 init<sid>.ora 文 件 中 設 置
  remote_login_passWordfile=exclusive
  并 且 為 oracle owner 設 置 環 境 變 量
  ORA_<SID>_PWFILE=orapw<sid>.pwd
  然 后 以 oracle owner 運 行 以 下 命 令
  $cd $ORACLE_HOME/dbs
  $orapwd file=orapw<sid>.pwd password=<passwd> entries=5
  
  Q: 如 何 手 工 安 裝 sqlplus 的 help facility?
  A: 以 oracle 用 戶 運 行 以 下 命 令
  $cd $ORACLE_HOME/bin
  $SYSTEM_PASS=system/manager;export SYSTEM_PASS
  $helpins
  
  Q: 如 何 查 出 前 臺 正 在 發 出 的 sql 語 句?
  A: 先 查 出 正 在 運 行 的 前 臺 程 序 的 sid:
  sql>select sid,serial#,username,program
  from v$session
  where status='ACTIVE';
  然 后 根 據 上 面 得 到 的 sid, 可 查 出 正 在 運 行 的 前 臺 程 序 發 出 的 sql 語 句 :
  sql>select user_name,sql_text
  from v$open_cursor
  where sid=xx;
  
  Q: 在 oracle 8 中 如 何 使 用 shared library 來 編 譯 pro*c 程 序 ?
  A: 首 先 以 oracle owner 創 建 shared library
  $cd $ORACLE_HOME/rdbms/lib
  $make -f ins_rdbms.mk client_sharedlib
  然 后 設 置 LIBPATH 環 境 變 量 ( 有 的 平 臺 用 LD_LIBRARY_PATH, 請 參 見 手 冊 ):
  $LIBPATH=$ORACLE_HOME/lib;export LIBPATH
  最 后 編 譯 你 的 pro*c 程 序 :
  $make -f demo_proc.mk build OBJS=yourprog.o EXE=yourprog
  
  Q: 在 數 據 庫 一 級 設 置 SQL Trace
  A: 在 init.ora 中 加 入 參 數 sql_trace=true. 然 后 重 新 啟 動 數 據 庫。

  
  Q: 在 SQL*PLUS 中 對 某 一 session 設 置 SQL trace.
  A: sql*plus>alter session set sql_trace true;
  在 產 生 Trace 之 后, 使 用 如 下 命 令 關 閉 Trace.
  sql*plus>alter session set sql_trace false;3:
  
  Q: 在 PL/SQL 中 設 置 和 關 閉 SQL Trace.
  A: dbms_session.set_sql_trace(true);
  dbms_session.set_sql_trace(false);
  如 果 你 不 能 發 現 這 個 package, 首 先 用 SYS 用 戶 執 行
  dbmsutil.sql 這 個 腳 本。
  
  Q: 怎 樣 設 置 redo log 文 件 的 大 小。
  A: 設 置 redo log 文 件 的 原 則 就 是 要 保 證 30 分 鐘 之 內 進 行 log switch.
  log switch 的 信 息 被 記 錄 在 alertSID.log 中。
  -------------------------------------------------------
  Mon May 5 13:53:31 1997
  Thread 1 advanced to log sequence 68
  Current log#2 seq# 68 mem# 0: /u05/dbs/log2ween.dbf
  -------------------------------------------------------
  
  如 果 兩 次 switch 的 時 間 是 10 分 鐘, 你 需 要 增 加 redo log 文 件
  到 三 倍 的 尺 寸。
  如 果 兩 次 switch 的 時 間 是 15 分 鐘, 你 需 要 增 加 redo log 文 件
  到 兩 倍 的 尺 寸。
  如 果 兩 次 switch 的 時 間 超 過 30 分 鐘, 你 不 需 要 需 要 增 加 redo
  log 文 件 的 尺 寸。
  
  同 時 設 置 CHECK_POINT_INTERVAL 大 于 redo log 文 件 的 大 小。
  
  Q: 怎 樣 檢 查 是 否 一 個 數

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 金湖县| 郴州市| 万年县| 寿光市| 天峻县| 南平市| 巨野县| 图木舒克市| 四子王旗| 龙南县| 三门峡市| 哈巴河县| 新沂市| 七台河市| 大港区| 甘谷县| 伊春市| 牟定县| 祁东县| 肇州县| 册亨县| 井陉县| 卓资县| 瓮安县| 漳州市| 深圳市| 大理市| 肥乡县| 梁山县| 东兰县| 麻栗坡县| 商洛市| 秭归县| 富锦市| 嘉义市| 玉林市| 平罗县| 朝阳区| 龙南县| 呼伦贝尔市| 津市市|