管理Oracle資料庫要注意的一些問題

2021-09-22 13:49:03 字數 2240 閱讀 1974

以下針對oracle9i資料庫:

commit操作不強制將database buffer內容寫到檔案;commit操作後,server process在提示使用者「操作已完成」之後才釋放相關資源的鎖;

建立資料庫時,資料檔案和日誌檔案必須用size指定大小,或用reuse指定到某個已有檔案,否則命令會失敗;

若丟失了所有control file的副本,可以通過重建control file恢復資料庫;

在建立unique或primary key約束時,oracle自動建立索引(名稱同約束名),刪除這個索引前必須先刪除對應約束;

partitioned table可以被多個程序同時查詢或操作;

當前的log sequence number被存放在control file和每個data file的頭部(由ckpt程序寫入),log group裡的每個member具有同樣的log sequence number;

通過dba_objects表可以找到哪些物件存在錯誤,例如檢視所依賴的表已被刪除,這個檢視的status會被標為invalide;

read-only的表空間裡的物件可以被drop,因為該操作只影響dictionary;

當使用external驗證方式時,不能指定password expire;

dba是role,而不是privilege(sysdba和sysoper是privilege);

使用truncate table命令後,並非所有extents都被釋放,table將保留個數為minextents的extents;

smon後台程序負責資料庫的recovery,以及合併碎片;

查詢user_***和dictionary表不需要具有select any table許可權;

對於標誌為unused的列,可以在同一張表中建立與它同名的列;

undo段在剛建立時是offline狀態的;

使用者自己唯一可以使用alter user命令修改的屬性是identified by;

要修改tablespace的資料檔案為自動擴充套件,應該使用alter database而不是alter tablespace命令;

建立使用者和建立表的動作不記錄在alertsid.log檔案裡;

沒有"create index"許可權,因為"create table"包含了它,alter和drop也一樣;

具有"create any ***"許可權的使用者在其他使用者下建立的物件,其所有者是那個使用者;

unlimited tablespace系統許可權,只能直接授給使用者,而不能授給角色;

externally管理的角色不能設定為default role;

沒有"truncate table"許可權,使用者擁有"drop table"許可權即可執行truncate操作;

create spfile from pfile命令可以反過來用,即create pfile from spfile,若不指定pfile/spfile的名稱則使用預設名稱;

tablespace的storage選項裡的initial和next值應為minimum extent值的整數倍,否則建立語句會失敗;

logswitch事件會記錄在alert_log檔案裡;

oracle預設使用al16utf16作為national character set,database character set用於sql和pl/sql**,national character set用於nchar、nvarchar2和nclob欄位;database character set不能使用固定長度多位元組型別字符集;

對於rollback segment: minextents至少為2(推薦20),pctincrease永遠為零,可以是public或private但一旦確定就不能更改,optimal引數至少為該segment的initial size,initial和next最好相等已保證每個extent具有相同的大小,maxextents最好不要設定為unlimited;剛建立時的roolback segment是offline狀態的,必須手工設定為online才可用;drop前必須先設定為offline;

對於temporary tablespace和temporary segment: uniform size值最好是sort_area_size的整數倍;tempfiles不能改名,不能唯讀,不會進行recovery處理,不能用alter database命令建立,總是nologging模式;

字典區管理的表空間可以指定自定義的storage選項;本地區管理的表空間的storage選項不可更改,可以指定為自動段空間管理;

待續。 本文**

八進位制

ORACLE 資料庫需要注意的兩點問題

1 識別符號長度問題 此處的識別符號指的是表名或列名 mysql表名 列名支援64位字元 而oracle資料庫僅支援32位字元,若表名或列名超過此長度,則會報 識別符號過長 的問題,對應的表或列無法建立。2 中文漢字在資料中所占用的字元長度問題 在mysql資料庫中,乙個中文漢字所佔的字元長度為2,...

Oracle資料庫建表時候需要注意的地方

各位好,預設情況下,oracle的資料庫物件 表 檢視 儲存過程 函式等 的相關名稱,只支援大寫,並且名字長度限制在30個英文本元內。大部分oralce的相關工具也是按此來進行操作的。在編寫sql時,不管是全大寫 全小寫或者大小寫混合,oracle一律按全大寫處理,例如下述三個個語句是等價的 cre...

SharePoint的資料庫效能需要注意的一點

建立sharepoint的時候,可能會忽略在資料庫層次的兩個設定 initial size 和 autogrowth 這兩個選項的預設值都需要修改一下的.initial size,如果說我們的content db大小已經是4 tb了.那麼我們設定crawlstoredb的初始大小為500 mb就是不...