標籤:
最近要和另一套系統對接,對方用的是Oracle,硬著頭皮上了,從Oracle的安裝、部署、存取資料,技術有了很大提升,不再有神秘感和恐懼感了。
1、伺服器都是64位,所以都裝了64位的Oracle和PlSql。
2、如果伺服器超過32核,會安裝不了,卡在複製資料庫2%處。公司伺服器好像是16核,在BIOS裡開了超執行緒,系統中顯示32核,按理是剛剛好的,但一樣用不了。試過把超執行緒關了,在系統裡看到變16核了也不行。最後還是把超執行緒開起來,在msconfig的引導裡設定成16核才正常了。
3、Oracle裝完字元集怎麼是UTF16的,可能安裝時有選項但沒注意。用戶端字元集比較好改,伺服器稍麻煩些,但網上也有教程,對著敲一遍就行。如果字元集對不上,update表時,中文進不去,會亂碼。
4、Oracle的幾個概念和SqlServer不一樣,Oracle的資料表空間,類似SQL的庫;Oracle的包,類似SQL的預存程序/函數;Oracle的序列,類似SQL的自增;
5、建資料表空間、建使用者、分配許可權、導表、指令碼等,要在sqlplus下執行,DOS最好右鍵 -> 管理員運行
6、sqlplus下每行末尾要分號,換行的話好像要shift + enter,如果從其它地方複製的話,中間不能帶空行。
7、PL/SQL用著還算不錯,基本能像SSMS那樣順手了,本身功能比較強大了,但沒有像SqlPrompt那樣牛X的外掛程式輔助(網上找了一圈沒找到)。如果是UPDATE、DEL之類的話,預設是事務的,要提交事務。選擇多條SELECT語句的話,SqlServer是豎著排下來,PL/SQL是一排橫著排。如果要編輯,PL/SQL有個方便的就是直接在末尾FOR UPDATE,再點那個鎖就可以直接在查詢介面編輯了。不知SSMS為何不借鑒下這功能,有個Ctrl + 1還是2/3之類的,也有類似效果,可以在查詢中直接修改,但為何不乾脆做到普通查詢介面。
8、SQL備份檔案是bak,用SSMS匯入。Oracle的是dmp,在DOS下匯入。還有種pde是在PlSQL裡用匯入表的。本來PlSql好像也可以直接導dmp的,但試了不成功,在DOS下就可以了。
9、在SQL預存程序裡操作Oracle,一般用OPENQUERY,但要帶參數的話比較麻煩。直接用連結的伺服器也可以,但據說效率不如OPENQUERY。
10、Oracle沒有自增鍵,要用序列。如果插入一條資料,可以臨時去取SEQ_XX.NEXTVAL,如果是多條就不行了,要弄個觸發器。弄好之後就和SQL一樣用了,插入時不用管那列了,就當它是SQL的自增列。Oracle不知怎麼要繞這一大圈,應該可以幕後處理掉吧,或者弄個簡單些的文法糖。
11、Oracle沒有SQL的TOP N了,只有ROWNUM,不如SQL方便。
12、apache-Tomcat要先裝Jre/Jdk之類的才可以,裝完後要配系統參數JAVA_HOME,我加了當場還無效,要重啟才行。。。那平時伺服器不方便重啟不是用不了?apache可以不用安裝,複製檔案進來,改下配置就可以
13、apache不能和IIS共用連接埠,80被IIS用了,apache就只能用其它連接埠了。
最近天天加班,睡眠品質也變差了,但也學到不少。
Oracle學習 實戰心得總結