Time of Update: 2014-06-15
SQL Server本身有資料匯入的操作。但如果要從一個備份的檔案中匯入資料,則要進行另外的操作。下面以一個例子進行說明。 SQL Server伺服器上已有一個DOE資料庫,並且裡面有大量的資料,現準備從另外一個備份檔案A1.BAK(不是DOE資料庫的備份檔案)中匯入另外的資料(即匯入後在DOE中增加一些資料表,表中已錄有資料),並保持原DOE的資料不變。 1、首先,在“SQL企業管理器”中建立一個臨時資料庫A1。 2、右擊A1資料庫,選擇:所有任務->還原資料庫。
Time of Update: 2014-06-15
我當前的項目中包括一個6200萬行、500多列的表。其中的資料來自SQL Server以外,它們到達的表中有一個標識主鍵,所有剩下的列以varchar(50)形式儲存。 問題解決 有許多日期以YYYYMMDD格式儲存,這是我注意到的第一個問題。我把這些日期改為整數列。然後我發現許多整數以varchar形式儲存,我把它們都改為整數。 接下來,許多列中包含“Y”或“N”或NULL。我們很可能會把它們轉換成位列,但這樣做存在一個重大的缺陷——你不能索引一個位列。因此,我把它們改成char(1)
Time of Update: 2014-06-15
Oracle的體系太龐大了,對於初學者來說,難免會有些無從下手的感覺,什麼都想學,結果什麼都學不好,所以把學習經驗共用一下,希望讓剛剛入門的人對oracle有一個總體的認識,少走一些彎路。 一、定位
Time of Update: 2014-06-15
1、環境:Fedora 7,mysql-5.0.18.tar.gz注意:如果系統安裝時已經安裝了mysql則用rpm -e ******* --nodeps 強制禦載掉即可。2、進入mysql存放的檔案夾解壓,#tar zxvf mysql-5.0.18.tar.gz,進入解壓後的檔案夾 :[root@fedora zhangyan]# cd mysql-5.0.18指定安裝路徑:[root@fedora ~]# ./configure
Time of Update: 2014-06-15
1、在安裝有Linux作業系統的PC上安裝交叉編譯器,筆者使用的是Moxa tool chain for DA66x,(其它的嵌入式Linux系統都是一樣的做法),可以從Moxa網站上下載: 2、將ACE程式包下載到Linux PC上,並解壓 3、設定環境變數: A、交叉編譯工具的路徑:export PATH=“/usr/local/xscale_be/bin:$PATH” B、ACE_ROOT:export
Time of Update: 2014-06-15
在Oracle開發中,if和then之間的條件運算式,有很多行為充滿“藝術”,需要我們去發現,去鑒賞。欣賞一:三值邏輯如果一個運算式中包含null值,那麼運算式的最終結果會是什麼呢?比如:2<null。因為null是個黑盒子,oracle不知道究竟缺失的是什麼,唯一能夠給出的答案就是“我不知道”。這也就是所謂三值邏輯的核心------可能的結果不僅可以是true和false,還有null。例子:IF
Time of Update: 2014-06-15
以下指令碼可以通過定時任務,每天0點執行,讓警告日誌按照時間分類,自動儲存到相應目錄中。方便對每天Oracle所產生的Alert日誌進行查看。 Windows下指令碼 rem 複製記錄檔並改名,請根據SID情況修改指令碼 set year=%DATE:~0,4% set month=%DATE:~5,2% set day=%DATE:~8,2% copy
Time of Update: 2014-06-15
今天又一同事遇到一個Oracle資料庫bug問題,如下:--Oracle 10.1 OR 10.2中所有平台都存在該問題.<問題現像>在進行多表關聯複雜查詢時出現ORA-00600: 內部錯誤碼, 參數: [19004], [], [], [], [], [], [], []錯誤<解決辦法>這是一個ORACLE的BUG處理辦法1:以DBA身份執行:execute dbms_stats.delete_schema_stats('schema
Time of Update: 2014-06-15
ORA-12520錯誤解決方案ORA-12520聽程式無法為請求的伺服器類型找到可用的處理常式:1)資料庫是專用伺服器,但是在tnsname.ora配置中設定了串連方式為shared,這種情況下開啟tnsname.ora,把(server = shared) 改成 (server = dedicate)2)是由於process不夠引起的後來查看到v$process一直漲到140多,而我的資料庫設定的是150.據此大致能斷定process不夠,用以下語句修改資料庫的processes值alter
Time of Update: 2014-06-15
目的:不要死記硬背script,深入理解view的含義,才能自如運用它們。 包括:V$SYSTEM_EVENT/ V$SESSION_EVENT/ V$SESSION_WAIT / V$WAITSTAThttp://download-west.Oracle.com/docs/cd/B10501_01/server.920/a96533/sqlviews.htm#17389V$SYSTEM_EVENT(統計)自從instance啟動以後,所有產生的(若沒有等待則不顯示)等待事件event
Time of Update: 2014-06-15
首先瞭解Oracle在什麼情況下會產生ORA-01555錯誤:假設有一張6000萬行資料的testdb表,預計testdb全表掃描1次需要2個小時,參考過程如下:1、在1點鐘,使用者A發出了select * from testdb;此時不管將來testdb怎麼變化,正確的結果應該是使用者A會看到在1點鐘這個時刻的內容。2、在1點30分,使用者B執行了update命令,更新了testdb表中的第4100萬行的這條記錄,這時,使用者A的全表掃描還沒有到達第4100萬條。毫無疑問,這個時候,第4100
Time of Update: 2014-06-15
使用shell指令碼實現對Oracle資料庫的監控與管理將大大簡化DBA的工作負擔,如常見的對執行個體的監控,監聽的監控,警示日誌的監控,以及資料庫的備份,AWR report的自動郵件等。本文給出Linux 下使用 shell 指令碼來實現資料庫自動匯出。Linux Shell以及匯入匯出的相關參考:Linux/Unix shell 指令碼中調用SQL,RMAN指令碼 Linux/Unix shell sql 之間傳遞變數 Linux Unix shell 調用 PL/SQL
Time of Update: 2014-06-15
AUTOTRACE 中 統計資訊的解釋: RECURSIVE CALLS:遞迴讀為了保證使用者發的SQL的順利執行,Oracle必須執行一些額外的語句。這些語句就叫做遞迴讀。比如你想插入條資料,但已經沒有足夠的資料表空間,ORALCE會產生遞迴讀去動態分配空間。當資料字典資訊在DATA DICTIONARY CACHE中不存在需要從硬碟上讀取的時候,也是需要遞迴讀。它內部產生一條維護的語句,就會有一條遞迴讀。 DB BLOCK
Time of Update: 2014-06-15
OCR相當於Windows的註冊表。對於Windows而言,所有的軟體資訊,使用者,配置,安全等等統統都放到註冊表裡邊。而叢集呢,同樣如此,所有和叢集相關的資源,配置,節點,RAC資料庫統統都放在這個倉庫裡。如果OCR被破壞則導致叢集服務啟動異常,需要修複OCR。因此OCR的管理與維護對於整個叢集而言,是相當重要的。本文主要描述了Oracle 10g RAC下的OCR的管理與維護。OCR 相關參考:Oracle RAC OCR 與健忘症 Oracle RAC OCR 的備份與恢複
Time of Update: 2014-06-15
關於自治事務解決觸發器導致"ORA-04091:觸發器/函數不能讀它"不可行的驗證。經常會有人提出這樣的問題:“有一個這樣的問題,有一個表A有 a,b,c,d四個欄位,修改一條記錄d的值為2的倍數,希望把該記錄插入相同結構的表B中。並刪除A表的這條記錄。”相關SQL:--一張表create table FOO( A NUMBER(10), B NUMBER(10), C NUMBER(10), D NUMBER(10));-
Time of Update: 2014-06-15
Redo Log Buffer位於sga_max_size之中,其儲存資料庫變更的相關資訊。這些資訊以重做條目(Redo Entries)形式儲存(Redo Entries也經常被稱為Redo Records)。Redo Entries包含重構、重做資料庫變更的重要訊息,這些變更包括INSERT、UPDATE、DELETE、CREATE、ALTER或都DROP等。Redo Entries的內容被Oracle資料庫進程從使用者的記憶體空間(PGA)複製到sga_max_size中的Redo
Time of Update: 2014-06-15
本篇記錄一些Oracle表訪問方式索引訪問方式請參考:顯示執行計畫的預存程序請參考 (1)TABLE ACCESS FULL全表掃表,使用全表掃描的方式訪問表。樣本:SQL> exec sql_explain('select * from t1');Plan hash value: 3617692013--------------------------------------------------------------------------| Id |
Time of Update: 2014-06-15
Data Guard 部署物理備庫的 8 大注意事項,這8點主要是面向 10g R2 以後的 DG 部署。① 主庫設定為force logging模式idle> select force_logging from v$database;idle> alter database force logging; ② 主庫設定為歸檔模式idle> archive log list;idle> shutdown immediate;idle> startup
Time of Update: 2014-06-15
OracleDatabase Backup加密,通過加密,可以保護備份檔案,防止備份泄漏資料。 oracle備份加密主要是指RMAN的加密,EXP/EXPDP加密是沒有的。RMAN加密主要有以下幾種方式: 1.口令模式加密 RMAN> SET ENCRYPTION ON IDENTIFIED BY "PASSWORD" ONLY; RMAN> backup as compressed backupset database format 'D:\oracle\backup\
Time of Update: 2014-06-15
Oracle 監控索引特性為我們提供了一個大致判斷索引是否被使用的情形。之所以這麼說,是因為在Oracle 10g 中收集統計資訊時會導致索引被監控,此並非sql語句而產生。而在11g則不會出現類型的情形。其次對於存在子表存在外鍵的情形,對於主表進行操作時是否會導致索引被監控呢?下面描述的是這個話題。1、普通監控索引的情形--示範環境SQL> select * from v$version where rownum<2;BANNER--------------------------