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

Oracle 初學者必知 100 題精選問答集

     編輯:Oracle 資料庫基礎

常見基礎操作 Q&A

  1. 安裝後預設密碼:internal/oracle、sys/change_on_install、system/manager、scott/tiger、sysman/oem_temp
  2. 9iAS Web Cache 預設帳密:administrator/administrator
  3. 建庫工具演進:8.0.5 → orainst;8.1.7 → dbassist;9i → dbca
  4. 裸裝置:繞過檔案系統直接存取的儲存空間
  5. 判別 32/64-bit:sqlplus '/ as sysdba' → select * from v$version; 看 Banner 是否含 64bit 字樣
  6. SVRMGR:Server Manager,9i 後併入 SQL*Plus
  7. 查詢用戶登入機器:SELECT MACHINE, TERMINAL FROM V$SESSION;
  8. 查詢欄位結構:DESC table_name 或 SELECT * FROM ALL_TAB_COLUMNS WHERE TABLE_NAME='...'
  9. 取得物件建立腳本:查 USER_SOURCE、USER_TRIGGERS
  10. 計算表佔用空間:BLOCKS * DB_BLOCK_SIZE / 1024 / 1024 MB
  11. 最大會話數:SHOW PARAMETER PROCESSES 或 SELECT * FROM V$LICENSE;
  12. 鎖定事務時間:SELECT * FROM V$LOCKED_OBJECT;
  13. 啟用 ARCHIVELOG:LOG_ARCHIVE_START=TRUE 於 init.ora → 重啟
  14. 查詢當前連線用戶:SELECT USERNAME FROM V$SESSION;
  15. 單表最大欄位數:1000
  16. 查詢 DB SID:SELECT NAME FROM V$DATABASE; 或看 init.ora
  17. SQL*Plus 看本機 IP:SELECT SYS_CONTEXT('USERENV','IP_ADDRESS') FROM DUAL;
  18. Unix 調整系統時間:su - root; date -u MMDDhhmm
  19. 抓取 CLOB 空值:WHERE TRIM(' ' FROM COL) IS NOT NULL
  20. 跨表更新:UPDATE A SET COL=(SELECT COL FROM B WHERE A.KEY=B.KEY) WHERE B.KEY IS NOT NULL;
  21. P4 電腦安裝修正:將 SYMCJIT.DLL 改名 SYSMCJIT.OLD
  22. 判斷是否 OPS/RAC:SELECT * FROM V$OPTION; 看 PARALLEL SERVER
  23. 查詢用戶權限:SELECT * FROM DBA_SYS_PRIVS;
  24. 移動表/索引表空間:ALTER TABLE ... MOVE TABLESPACE ... / ALTER INDEX ... REBUILD TABLESPACE ...
  25. Linux/Unix 啟動 DBA Studio:OEMAPP DBASTUDIO
  26. 鎖相關動態視圖:V$LOCK, V$LOCKED_OBJECT, V$SESSION, V$SQLAREA, V$PROCESS
  27. 解鎖 Session:ALTER SYSTEM KILL SESSION 'SID,SERIAL#';
  28. 更換 SQL*Plus 編輯器:DEFINE _EDITOR="完整路徑" 寫入 glogin.sql
  29. 隨機數函數:DBMS_RANDOM.RANDOM
  30. Linux 磁碟/CPU 監控:SAR -d、SAR -r
  31. 查詢當前用戶物件:SELECT * FROM USER_OBJECTS;
  32. 編譯錯誤查詢:SELECT * FROM USER_ERRORS;
  33. DB Link 狀態:SELECT * FROM DBA_DB_LINKS;
  34. 資料庫字元集:SELECT * FROM NLS_DATABASE_PARAMETERS;
  35. 表空間資訊:SELECT * FROM DBA_DATA_FILES;
  36. Internal 免密登入:修改 SQLNET.ORA 加入 SQLNET.AUTHENTICATION_SERVICES=(NTS)
  37. Java.exe 佔用處理:將 OracleORAHOMEXHTTPServer 服務改為手動啟動
  38. 加註解:COMMENT ON TABLE ... IS '...'; COMMENT ON COLUMN ... IS '...';
  39. 表空間磁碟使用率:查 DBA_FREE_SPACE、DBA_DATA_FILES 計算
  40. MTS/專用模式切換:DISPATCHERS 參數啟用即 MTS,註解即專用
  41. 當前 SCN:SELECT MAX(KTUXESCNW * POWER(2,32) + KTUXESCNB) FROM X$KTUXE;
  42. 取得毫秒:9i 前不支援,9i 起 SELECT SYSTIMESTAMP FROM DUAL;
  43. 字串換行:CHR(10) 或 CHR(13)||CHR(10)
  44. 中文排序規則:9i 前按二進位編碼;9i 可設 NLS_SORT=SCHINESE_PINYIN_M 等
  45. 8i 物件名可用中文:可
  46. 修改 SQL*Plus 啟動選項:編輯 $ORACLE_HOME/sqlplus/admin/glogin.sql
  47. 修改預設日期格式:ALTER SESSION SET NLS_DATE_FORMAT='YYYYMMDDHH24MISS'; 或寫入 init.ora
  48. 小表放入 KEEP 池:ALTER TABLE ... STORAGE(BUFFER_POOL KEEP);
  49. 檢查 Patch 安裝:查 oraInventory
  50. SELECT 自動產生流水號:SELECT ROWNUM, COL FROM TABLE;
  51. 查表所在表空間:SELECT TABLESPACE_NAME FROM USER_TABLES WHERE TABLE_NAME='...';
  52. SQL*Plus 修改 Procedure:查 USER_SOURCE 再重建
  53. 解除 Procedure 鎖定:ALTER SYSTEM KILL SESSION ... 或重新編譯改名
  54. SQL Reference:Oracle 官方語法手冊,含函數、語法
  55. 查資料庫狀態:Unix ps -ef | grep ora;Windows 看服務與連線測試
  56. 修改主鍵:DROP CONSTRAINT ...; ADD CONSTRAINT ... PRIMARY KEY(...);
  57. 調整資料檔大小:ALTER DATABASE DATAFILE ... RESIZE ...; 無損資料
  58. 查執行中程序:SELECT * FROM V$SESSION;
  59. 表空間個數:SELECT * FROM DBA_TABLESPACES;
  60. 修改最大連線數:改 initSID.ora PROCESSES 參數並重啟
  61. 查記錄最後更新時間:用 LogMiner 分析
  62. PL/SQL 讀寫檔案:UTL_FILE 套件
  63. 插入 & 字元:INSERT INTO A VALUES (TRANSLATE('AT{&}T','AT{}','AT'));
  64. EXP 加 QUERY 參數:QUERY=\"WHERE EMP_NO='S09394'\"
  65. 8i 簡繁體字元集:ZHS16GBK 支援
  66. Data Guard:Standby 後繼產品
  67. 建立 SPFILE:CREATE SPFILE FROM PFILE='...';
  68. 核心參數 shmmax 等設定原則:見原文詳細公式
  69. 查 SYSDBA/SYSOPER 用戶:SELECT * FROM V$PWFILE_USERS;
  70. 單表/單用戶匯出:EXP USER/PASS TABLES=(T1,T2) / OWNER=(U1,U2)
  71. CLOB 全文檢索:WHERE DBMS_LOB.INSTR(COL,'K',1,1)>0
  72. 顯示當前用戶:SHOW USER
  73. 資料檔路徑:SELECT TABLESPACE_NAME, FILE_ID, BYTES/1024/1024, FILE_NAME FROM DBA_DATA_FILES;
  74. 回滾段狀態:SELECT SEGMENT_NAME, OWNER, TABLESPACE_NAME, SEGMENT_ID, FILE_ID, STATUS FROM DBA_ROLLBACK_SEGS;
  75. 修改 CHECK 約束範圍:DROP CONSTRAINT ...; ADD CONSTRAINT ... CHECK(...);
  76. 常用系統檔視圖:V$DATABASE, V$DATAFILE, V$LOGFILE, V$CONTROLFILE, V$PARAMETER
  77. 內連結/外連結語法:WHERE A.KEY=B.KEY / WHERE A.KEY=B.KEY(+)
  78. 執行腳本:@$PATH/FILE.SQL
  79. 快速清大表:TRUNCATE TABLE ...;
  80. 實例個數:SELECT * FROM V$INSTANCE;
  81. 資料庫表總數:SELECT * FROM ALL_TABLES;
  82. 測試 SQL 執行時間:SET TIMING ON
  83. CHR 反函數:ASCII()
  84. 字串連接:|| 或 CONCAT()
  85. 導出查詢結果到檔案:SPOOL FILE.TXT; SELECT ...; SPOOL OFF;
  86. 估算 SQL I/O:SET AUTOTRACE ON 或查 V$FILESTAT
  87. SQL*Plus 修改欄位寬度:ALTER TABLE ... MODIFY (COL VARCHAR2(100)); 只能增不能減(除非全空)
  88. 查某日資料:WHERE TRUNC(DATE_COL)=TO_DATE('2003-05-02','YYYY-MM-DD')
  89. 產生全年日期:INSERT INTO T SELECT TO_DATE('20030101','YYYYMMDD')+ROWNUM-1 FROM ALL_OBJECTS WHERE ROWNUM<=TO_CHAR(TO_DATE('20031231','YYYYMMDD'),'DDD');
  90. 改表名:ALTER TABLE OLD RENAME TO NEW;
  91. 命令返回狀態:SQLCODE=0 表成功
  92. 查用戶權限:SELECT * FROM DBA_SYS_PRIVS;
  93. 下載版與商業版差異:功能同,下載版禁止商業用途
  94. 判斷歸檔模式:DBA Studio → 歷程 → 資料庫 → 歸檔查看
  95. PFILE/IFILE/SPFILE 差異:PFILE 文字檔;IFILE 類似 C include;SPFILE 9i 新增二進位預設參數檔;STARTUP 只能接 PFILE
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved