首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> Oracle 資料庫 >> Oracle 資料庫基礎

Oracle 初學者百問精解 (上):第 1~50 題

     編輯:Oracle 資料庫基礎

預設帳號與密碼

  1. 安裝後初始口令:internal/oracle、sys/change_on_install、system/manager、scott/tiger、sysman/oem_temp。
  2. 9iAS Web Cache 預設:administrator/administrator。

建庫工具演進

  1. 8.0.5:orainst (或 orainst /m Motif 介面)。
  2. 8.1.7:dbassist (DBA Assistant)。
  3. 9i:dbca (Database Configuration Assistant)。

核心概念

  1. 裸裝置:繞過檔案系統直接存取的儲存空間 (Raw Device)。
  2. 64/32-bit 判別:SELECT * FROM v$version; 輸出含 "64-bit" 字樣即為 64 位。
  3. SVRMGR:Server Manager (svrmgrl),9i 後併入 SQL*Plus。

Session 與鎖

  1. 查用戶登入機器:SELECT machine, terminal FROM v$session;
  2. 查欄位結構:DESC table_name / SELECT * FROM all_tab_columns WHERE table_name='...';
  3. 取得 Trigger/Procedure/Function 來源:DESC user_source、user_triggers。
  4. 估算表大小:SELECT blocks*db_block_size/1024/1024 "Size(M)" FROM dba_tables WHERE table_name='XXX';
  5. 查最大會話數:SHOW PARAMETER processes 或 SELECT * FROM v$parameter WHERE name LIKE 'proc%';;v$license 記錄高水位。
  6. 查被鎖事務:SELECT * FROM v$locked_object;
  7. 啟用歸檔模式:log_archive_start=true 在 init.ora,重啟庫。
  8. 查當前連線用戶:SELECT username FROM v$session;
  9. 表最大欄位數:1000。
  10. 查 SID:SELECT name FROM v$database; 或看 init.ora。
  11. SQL*Plus 看本機 IP:SELECT sys_context('userenv','ip_address') FROM dual; (本機連線回 127.0.0.1)。
  12. Unix 調整系統時間:su - root; date -u MMDDhhmm。

SQL 技巧

  1. 查 MEMO 欄位非空:WHERE TRIM(' ' FROM remark) IS NOT NULL。
  2. 跨表更新:UPDATE aaa SET col=(SELECT col FROM bbb WHERE aaa.key=bbb.key) WHERE bbb.key IS NOT NULL;
  3. P4 安裝修正:將 SYMCJIT.DLL 改名 SYSMCJIT.OLD。
  4. 查是否 OPS/RAC:SELECT * FROM v$option; 看 PARALLEL SERVER = TRUE。
  5. 查用戶權限:SELECT * FROM dba_sys_privs;
  6. 移動表/索引 Tablespace:ALTER TABLE t MOVE TABLESPACE ts; / ALTER INDEX i REBUILD TABLESPACE ts;
  7. Linux/Unix 啟動 DBA Studio:oemapp dbastudio。

鎖監控與解鎖

  1. 鎖相關視圖:v$lock, v$locked_object, v$session, v$sqlarea, v$process。
  2. 查鎖 SQL:(文中附完整解碼 LMODE/REQUEST 的查詢)。
  3. 解鎖:ALTER SYSTEM KILL SESSION 'sid,serial#';

SQL*Plus 客製化

  1. 更換編輯器:DEFINE _EDITOR="path/to/editor" (寫入 $ORACLE_HOME/sqlplus/admin/glogin.sql 永久生效)。
  2. 隨機數:DBMS_RANDOM.RANDOM。
  3. Linux 磁碟/CPU 競爭:sar -d (磁碟)、sar -r (記憶體)。

常用查詢

  1. 當前用戶物件:SELECT * FROM user_objects; / dba_segments。
  2. 編譯錯誤:SELECT * FROM user_errors;
  3. DB Link 狀態:SELECT * FROM dba_db_links;
  4. 字元集參數:nls_database_parameters / v$nls_parameters。
  5. Tablespace 資料檔:SELECT * FROM dba_data_files;
  6. Internal 免密登入:修改 sqlnet.ora SQLNET.AUTHENTICATION_SERVICES=(NTS)。
  7. Java.exe 佔用:將 OracleORAHomeXHTTPServer 服務改為手動啟動。

註解與空間監控

  1. 加註解:COMMENT ON TABLE t IS '...'; COMMENT ON COLUMN t.c IS '...'; 查 user_tab_comments。
  2. Tablespace 使用率:(文中附完整 dba_free_space + dba_data_files 聯查 SQL)。
  3. MTS/專用模式切換:dispatchers="(PROTOCOL=TCP)(SERVICE=SIDXDB)" 註釋=專用,啟用=MTS。
  4. 當前 SCN:SELECT MAX(ktuxescnw*POWER(2,32)+ktuxescnb) FROM x$ktuxe;
  5. 取得毫秒:9i 前不支援;9i+ 用 SYSTIMESTAMP。
  6. 字串換行:CHR(10) (LF) / CHR(13) (CR)。
  7. 中文排序 (9i+):NLS_SORT=SCHINESE_PINYIN_M / RADICAL_M / STROKE_M。
  8. 8i 物件名可用中文:可。
  9. SQL*Plus 啟動選項:編輯 glogin.sql。
  10. 修改預設日期格式:ALTER SESSION SET NLS_DATE_FORMAT='YYYYMMDDHH24MISS'; 或 init.ora 加入同參數。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved