71. 內核參數的應用
shmmax
含義:這個設置並不決定究竟 Oracle 資料庫或者作業系統使用多少實體記憶體,只決定了最多可以使用的記憶體數目。這個設置也不影響作業系統的內核資源。
設置方法: 0.5* 實體記憶體
例子: Set shmsys:shminfo_shmmax=10485760
shmmin
含義:共用記憶體的最小大小。
設置方法:一般都設置成爲 1 。
例子: Set shmsys:shminfo_shmmin=1 :
shmmni
含義:系統中共用記憶體段的最大個數。
例子: Set shmsys:shminfo_shmmni=100
shmseg
含義:每個用戶進程可以使用的最多的共用記憶體段的數目。
例子: Set shmsys:shminfo_shmseg=20 :
semmni
含義:系統中 semaphore identifierer 的最大個數。
設置方法:把這個變數的值設置爲這個系統上的所有 Oracle 的實例的 init.ora 中的最大的那個 processes 的那個值加 10 。
例子: Set semsys:seminfo_semmni=100
semmns
含義:系統中 emaphores 的最大個數。
設置方法:這個值可以通過以下方式計算得到:各個 Oracle 實例的 initSID.ora 裏邊的 processes 的值的總和(除去最大的 Processes 參數)+最大的那個 Processes × 2 + 10 × Oracle 實例的個數。
例子: Set semsys:seminfo_semmns=200
semmsl:
含義:一個 set 中 semaphore 的最大個數。
設置方法:設置成爲 10 +所有 Oracle 實例的 InitSID.ora 中最大的 Processes 的值。
例子: Set semsys:seminfo_semmsl=-200
72. 怎樣查看哪些用戶擁有 SYSDBA 、 SYSOPER 許可權?
SQL>conn sys/change_on_install
SQL>select * from V_$PWFILE_USERS;
73. 如何單獨備份一個或多個表?
exp 用戶 / 密碼 tables=( 表 1, … , 表 2)
74. 如何單獨備份一個或多個用戶?
exp system/manager owner=( 用戶 1, 用戶 2, … , 用戶 n) file= 導出文件
75. 如何對 CLOB 欄位進行全文檢索?
SELECT * FROM A WHERE dbms_lob.instr(a.a,'K',1,1)>0;
76. 如何顯示當前連接用戶
SHOW USER
77. 如何查看資料檔案放置的路徑
col file_name format a50
SQL> select tablespace_name,file_id,bytes/1024/1024,file_name from
dba_data_files order by file_id;
78. 如何查看現有回滾段及其狀態
SQL> col segment format a30
SQL> SELECT
SEGMENT_NAME,OWNER,TABLESPACE_NAME,SEGMENT_ID,FILE_ID,STATUS FROM
DBA_ROLLBACK_SEGS
79. 如何改變一個欄位初始定義的 Check 範圍?
SQL> alter table xxx drop constraint constraint_name;
之後再創建新約束 :
SQL> alter table xxx add constraint constraint_name check();
80. Oracle 常用系統文件有哪些?
通過以下視圖顯示這些文件資訊: v$database,v$datafile,v$logfile v$controlfile
v$parameter;
81. 內連接 INNER JOIN
Select a.* from bsempms a,bsdptms b where a.dpt_no=b.dpt_no;
82. 如何外連接
Select a.* from bsempms a,bsdptms b where a.dpt_no=b.dpt_no(+);
Select a.* from bsempms a,bsdptms b wherea.dpt_no(+)=b.dpt_no;
83. 如何執行腳本 SQL 文件
SQL>@$PATH/filename.sql;
84. 如何快速清空一個大表
SQL>truncate table table_name;
85. 如何查有多少個數據庫實例
SQL>SELECT * FROM V$INSTANCE;
86. 如何查詢數據庫有多少表
SQL>select * from all_tables;
87. 如何測試 SQL 語句執行所用的時間
SQL>set timing on ;
SQL>select * from tablename;
大家在應用 ORACLE 的時候可能會遇到很多看起來不難的問題 , 特別對新手來說 , 今天我簡單把它總結一下 , 發布給大家 ,
希望對大家有幫助 ! 和大家一起探討 , 共同進步 !
對 ORACLE 高手來說是不用看的 .
88. CHR() 的反函數是
ASCII()
SELECT CHAR(65) FROM DUAL;
SELECT ASCII('A') FROM DUAL;
89. 字串的連接
SELECT CONCAT(COL1,COL2) FROM TABLE ;
SELECT COL1||COL2 FROM TABLE ;
90. 怎麽把 select 出來的結果導到一個文字檔案中?
SQL>SPOOL C:\ABCD.TXT;
SQL>select * from table;
SQL >spool off;
91. 怎樣估算 SQL 執行的 I/O 數
SQL>SET AUTOTRACE ON ;
SQL>SELECT * FROM TABLE;
OR
SQL>SELECT * FROM v$filestat ; <SPAN lang=EN-US