【轉(zhuǎn)載】dameng(大夢數(shù)據(jù)庫常見問題匯總)

1.DM7下載地址是兆解?

http://www.dameng.com/service/download.shtml

2.使用DM7如何尋求幫助披摄?

在本版發(fā)帖亲雪,版主會(huì)第一時(shí)間回答您的問題

達(dá)夢24小時(shí)服務(wù)熱線:400 991 6599

達(dá)夢技術(shù)社區(qū):http://bbs.dameng.com

達(dá)夢官方QQ群:37727201? ?? ?

3.DM7

安裝注意事項(xiàng)

為了您的數(shù)據(jù)安全,安裝設(shè)置密碼時(shí)建議將密碼設(shè)置為大于6位數(shù)疚膊,當(dāng)前版本可能會(huì)因此導(dǎo)致不能創(chuàng)建數(shù)據(jù)庫义辕,后期版本會(huì)給予更友好的提示。

4.DM7是如何實(shí)現(xiàn)分頁的寓盗?

DM7支持top灌砖、limit和rownum三種分頁方式

5.DM7后臺(tái)服務(wù)說明

DMservice服務(wù)是數(shù)據(jù)庫核心服務(wù)

DMAMON服務(wù)是審計(jì)服務(wù),用來做審計(jì)傀蚌。

DMJMON服務(wù)是代理服務(wù)基显,用來做作業(yè)調(diào)度。

DMWMON服務(wù)是數(shù)據(jù)守護(hù)服務(wù)善炫,用來做主備撩幽。

6.DM7 JDBC編程注意事項(xiàng)

// 定義DM JDBC 驅(qū)動(dòng)串

String jdbcString = "dm.jdbc.driver.DmDriver";

// 定義DM URL 連接串

String urlString = "jdbc:dm://localhost:5236";

7.命令行工具disql使用說明:

--查看幫助:

disql help

--登錄

disql SYSDBA/SYSDBA

--注意事項(xiàng):dm7密碼是大小寫敏感的

8.如何修改表名

alter table WE_EFFORT ALTER SCOPE_ENUM_ID1 rename to SCOPE_ENUM_ID;?

9.達(dá)夢數(shù)據(jù)庫支持JPA中實(shí)體類保存和更新操作嗎箩艺?

怎么調(diào)用persist方法就會(huì)報(bào)出下面的異常

Exception executing batch:?

org.hibernate.StaleStateException: Batchupdate returned unexpected row count from update [0]; actual row count: 0;expected: 1

解決辦法:修改dm.ini配置文件窜醉,將BATCH_PARAM_OPT 參數(shù)改為0,重啟即可?

10.如何查詢當(dāng)前用戶下所有的表名舅桩?

select NAME from sysobjects where "SUBTYPE$"='UTAB'

AND SCHID=(SELECT ID FROM sysobjects WHERE NAME=USER AND TYPE$='SCH');

11.有開源的客戶端工具可以連DM么酱虎?

基于JDBC的工具就可以雨膨,比如:SQuirrel SQL擂涛、DbVisualizer

12.java.sql.SQLException: 語句句柄個(gè)數(shù)超上限(1024)或系統(tǒng)內(nèi)存不足 錯(cuò)誤如何處理?

原因:不申請(qǐng)新的session聊记,不停地申請(qǐng)語句句柄撒妈,超過了每個(gè)session可用語句句柄數(shù)的上限

解決辦法:?

治本:修改應(yīng)用程序,每個(gè)語句句柄用完后排监,將句柄關(guān)閉

指標(biāo):修改dm.ini參數(shù)狰右,提高session可用語句句柄的上限

max_session_statement由100改為1000

13.安裝在oracle?linux 5.5_64位上安裝DM7,初始化庫的時(shí)候報(bào)錯(cuò):

Extract install files..........

java.lang.UnsatisfiedLinkError: /tmp/DMInstall/source/bin/libdmutl.so:/tmp/DMInstall/source/bin/libdmutl.so: ELF file OS ABI?invalid

原因:官網(wǎng)提供的達(dá)夢數(shù)據(jù)庫版本是基于REDHAT6的舆床,oracle?linux5.5的內(nèi)核版本過低棋蚌,建議使用2.6.32以上內(nèi)核的linux版本。

--------------------------------------------------------------------------------------------------------------------------------

14. DM7在初始化庫的過程中需要注意哪幾個(gè)重要參數(shù)挨队?

(1) 頁大小(page_size)

除去Clob谷暮、Blob等大字段外,數(shù)據(jù)庫中一行記錄的所有字段的實(shí)際長度的和不能超過頁大小的一半盛垦。

建議頁大小設(shè)置為16K湿弦,防止在后期進(jìn)行數(shù)據(jù)遷移和開發(fā)過程中出現(xiàn)記錄超長的問題;

(2) 日志文件的大小(log_size)

數(shù)據(jù)庫redo日志文件的大小腾夯,單位為M颊埃,正式環(huán)境日志文件的大小一般設(shè)置為2048蔬充;

(3) 字符串比較大小寫敏感(case_sensitive)

默認(rèn)為大小寫敏感的,根據(jù)具體情況進(jìn)行設(shè)置班利。遷移實(shí)施中如果原始庫為OracleDB2數(shù)據(jù)庫的話

需設(shè)置為大小寫敏感饥漫,若為SQL Server和MySQL數(shù)據(jù)庫則需設(shè)置為大小寫不敏感,所以在數(shù)據(jù)庫

初始化庫的過程中需要根據(jù)具體情況來選擇肥败。

注意事項(xiàng):

在開發(fā)環(huán)境和測試環(huán)境的頁大小趾浅、字符串大小寫敏感等初始化參數(shù)一定要保持一致,避免使用.bak文件進(jìn)行

還原的時(shí)候馒稍,因?yàn)槌跏蓟瘏?shù)不一致導(dǎo)致無法還原的問題皿哨。所以在初始化庫之前務(wù)必規(guī)劃好上述參數(shù),因?yàn)?/p>

頁大小和字符串比較大小寫敏感這兩個(gè)參數(shù)一旦初始化完成纽谒,后期無法修改证膨。如需修改,則只能刪掉現(xiàn)有實(shí)例

重現(xiàn)初始化新的實(shí)例鼓黔。

總結(jié):

數(shù)據(jù)庫在安裝的過程中基本上就是下一步下一步央勒,按照默認(rèn)選項(xiàng)安裝就好,安裝路徑根據(jù)自己的要求選擇澳化。

當(dāng)數(shù)據(jù)庫安裝完成崔步,在使用數(shù)據(jù)庫配置助手dbca工具初始化庫的過程中,其它步驟按照默認(rèn)選項(xiàng)下一步即可缎谷,

當(dāng)?shù)竭@個(gè)頁面時(shí)需要注意以下三個(gè)參數(shù)的設(shè)置井濒,其它參數(shù)如無特殊要求按照默認(rèn)選項(xiàng)就好。

15. 何為字符串比較大小寫敏感列林?

關(guān)于字符串比較大小寫敏感主要涉及到兩個(gè)方面的內(nèi)容:

(1) 對(duì)字段的值比較而言

假如表Test中有如下兩條記錄

c1? ?????c2

1? ?????a

2? ?????A

同樣的查詢語句:select * from Test where c2 = 'a';

在大小寫不敏感的庫中會(huì)查出如下的兩條記錄

c1? ?????c2

1? ?????a

2? ?????A

而在大小寫敏感的庫中則只會(huì)查出如下的一條記錄

C1? ?????C2

1? ?????a

(2) 對(duì)于表名瑞你、字段名而言

在設(shè)置為大小寫敏感的庫中進(jìn)行查詢的時(shí)候,可能經(jīng)常會(huì)遇到無效的表名或列名的問題希痴,

下面針對(duì)這種情況進(jìn)行說明者甲。

(i) 如果使用DM管理工具圖形界面建表的話建議表名和字段名都使用大寫。因?yàn)槭褂脠D形界面建表相當(dāng)于

使用語句建表的時(shí)候加了雙引號(hào)的砌创,會(huì)固定住大小寫虏缸。如果寫成小寫,那么就是小寫了嫩实,在查詢的時(shí)候

也需要加雙引號(hào)刽辙,否則就有可能報(bào)無效的表名或列名的問題,比較麻煩舶赔;

(ii) 如果使用腳本建表的話扫倡,如果表名和字段名沒有加雙引號(hào)的話都會(huì)被系統(tǒng)自動(dòng)轉(zhuǎn)換成大寫。

如:create table test(a int);系統(tǒng)會(huì)自動(dòng)把表名test撵溃,字段名a轉(zhuǎn)換成大寫疚鲤,處理方式與Oracle數(shù)據(jù)庫一致。

所以針對(duì)大小寫敏感的庫缘挑,在使用建表腳本或者通過查詢腳本進(jìn)行查詢的時(shí)候建議統(tǒng)一不要寫雙引號(hào)集歇,

讓系統(tǒng)統(tǒng)一自動(dòng)都轉(zhuǎn)化為大寫;

(iii) 以上兩點(diǎn)主要針對(duì)大小寫敏感的庫而言语淘,大小寫不敏感的庫則不存在上述問題诲宇。

總結(jié):基于以上兩點(diǎn),在初始化數(shù)據(jù)庫的過程中就可以對(duì)字符串比較大小寫敏感這個(gè)參數(shù)做出合理的選擇了惶翻。

16. DM7是否需要設(shè)置所謂的外網(wǎng)IP姑蓝?

DM7是不需要設(shè)置外網(wǎng)IP的,只要網(wǎng)絡(luò)暢通吕粗,相應(yīng)端口(默認(rèn)端口為5236)開放的情況下就可以訪問纺荧。

17. DM7是否支持增量備份?第三方管理工具是不是好用些颅筋?

DM7支持增量備份宙暇,詳細(xì)內(nèi)容請(qǐng)參考DM_DBA.pdf手冊(cè)的第31章 備份和還原的相關(guān)章節(jié)。

個(gè)人覺得數(shù)據(jù)庫本身自己做的增量備份肯定比所謂的第三方工具更穩(wěn)定可靠议泵。?

18. DM7數(shù)據(jù)庫管理員SYSDBA用戶的密碼忘記了能否找回占贫?

(1)??原則上數(shù)據(jù)庫管理員SYSDBA用戶的密碼忘記了是無法找回的;

(2)??極個(gè)別特殊的情況可能需要通過研發(fā)從源碼層面進(jìn)行修改先口,從而跳過密碼認(rèn)證這塊型奥;

溫馨提示:

(1)??數(shù)據(jù)庫管理員SYSDBA的密碼不要隨便修改,默認(rèn)密碼為SYSDBA(密碼嚴(yán)格區(qū)分大小寫)池充。

如果出于安全方面的考慮非得修改桩引,請(qǐng)一定要做好備案工作缎讼;

(2)??如果數(shù)據(jù)庫中還有其它的用戶收夸,可以嘗試在數(shù)據(jù)遷移工具DTS中使用其它用戶登錄,把數(shù)據(jù)庫中

相關(guān)用戶的數(shù)據(jù)遷移到新的實(shí)例對(duì)應(yīng)的用戶中血崭。

19. DM7如何判定當(dāng)前庫中一個(gè)表是否存在?

可以通過查詢DBA_TABLES或ALL_TABLES卧惜,如果要查詢某個(gè)用戶下某個(gè)表是否存在,可以通過OWNER列進(jìn)行限定夹纫。

如:查詢用戶TEST下是否存在表TAB咽瓷,SQL腳本如下

select * from DBA_TABLESwhere owner = 'TEST' and table_name = 'TAB';

注:

(1) 關(guān)于DBA_TABLES中每個(gè)字段的具體含義可以參考DM_DBA.pdf手冊(cè)_附錄3?ORACLE兼容視圖;

(2) 為了提高 DM7與ORACLE 的兼容性舰讹,DM7提供了較為豐富的與Oracle兼容的視圖茅姜。

20. DM7如何配置歸檔?

DM7配置歸檔的詳細(xì)操作步驟如下:

(1) 打開dm.ini中的歸檔開關(guān):ARCH_INI=1;

(2) 在數(shù)據(jù)文件目錄data/DAMENG下配置dmarch.ini月匣,內(nèi)容如下:

[ARCHIVE_LOCAL1]

ARCH_TYPE? ???? ?? ???= LOCAL? ???? ?? ?#歸檔類型 LOCAL/REALTIME

ARCH_DEST? ???? ?? ???= d:\dmdbms\data\DAMENG\ARCH #歸檔目標(biāo)路徑(注意實(shí)際路徑)

ARCH_FILE_SIZE??? ? = 1024? ?? ?? ?????#單個(gè)歸檔文件大小贤壁,單位Mb忧设,缺省128M

ARCH_SPACE_LIMIT??= 10240? ???? ?? ? #REDO日志歸檔空間限制闺骚,單位為Mb,0表示無限制

(3) 重啟數(shù)據(jù)庫服務(wù)器

完成上述三步則就完成了DM7歸檔的配置。

關(guān)于每個(gè)參數(shù)具體含義介紹:

(i) ARCH_TYPE 歸檔類型称诗,對(duì)于單機(jī)的數(shù)據(jù)庫配置歸檔而言,基本就是本地歸檔(LOCAL)头遭,如果涉及到DM7

其它集群的配置時(shí)寓免,則會(huì)涉及到其它的歸檔類型;

(ii) ARCH_DEST 歸檔目標(biāo)路徑计维,一般專門新建一個(gè)歸檔文件夾存放歸檔文件袜香,這樣產(chǎn)生的歸檔文件就會(huì)放到

該歸檔文件夾中;

(iii) ARCH_FILE_SIZE 單個(gè)歸檔文件的大小鲫惶,數(shù)據(jù)庫在運(yùn)行的過程中會(huì)產(chǎn)生歸檔文件困鸥,當(dāng)單個(gè)歸檔文件的大小

達(dá)到1024M時(shí),系統(tǒng)會(huì)自動(dòng)切換寫下一個(gè)歸檔文件剑按;

(iiii) ARCH_SPACE_LIMIT 歸檔空間限制疾就,首先需要說明的一點(diǎn)就是歸檔文件是循環(huán)寫的,上面已經(jīng)提到了當(dāng)

單個(gè)歸檔文件的大小達(dá)到1024M時(shí)艺蝴,系統(tǒng)會(huì)自動(dòng)切換寫下一個(gè)歸檔文件猬腰。隨著系統(tǒng)的運(yùn)行歸檔日志文件

會(huì)越來越多,當(dāng)達(dá)到歸檔空間限制之后猜敢,系統(tǒng)會(huì)自動(dòng)刪除老的歸檔文件姑荷。而關(guān)于這個(gè)歸檔空間限制的大小

一般需要結(jié)合備份策略來考慮,基本的設(shè)置的原則是至少要能夠容納下2~3個(gè)全庫全庫備份間的所有歸檔缩擂。

21. DM7如何屏蔽保留字鼠冕?

方法一:雙引號(hào)法

這個(gè)一般可以用來處理建表語句中的保留字沖突,如表名或者字段名是DM7的保留字胯盯。這種方法一般可以

快速地繞過問題懈费,但是對(duì)于大小寫敏感的庫,這種用雙引號(hào)的方法會(huì)固定死字段大小寫博脑,對(duì)于小寫的字段憎乙,

可能會(huì)帶來無效的表名或者列名的問題。

方法二:dm.ini中的參數(shù)設(shè)置

在dm.ini中有個(gè)參數(shù)EXCLUDE_RESERVED_WORDS叉趣,這個(gè)參數(shù)可以用來屏蔽你想要屏蔽的保留字泞边,將需要屏蔽

的保留字寫在=號(hào)后面,然后以逗號(hào)分隔疗杉。設(shè)置在dm.ini中的好處就是一旦設(shè)置阵谚,永久生效而且對(duì)所有客戶端都有效,

這樣就不需要在所有客戶端系統(tǒng)中進(jìn)行專門配置。但是設(shè)置在dm.ini中之后梢什,這個(gè)保留字就永久性失效了闻牡,哪怕你想

通過manager客戶端工具在本地連接也沒用了。而且該方式還存在一個(gè)隱患就是由于屏蔽掉了一些系統(tǒng)的保留字绳矩,

所以可能會(huì)導(dǎo)致系統(tǒng)的一些功能無法正常使用罩润。

建議:

在移植過程中遇到DM7的保留字,最好的處理方式還是對(duì)這些保留字進(jìn)行修改翼馆,盡量不要使用DM7的保留字割以。

22. 在安裝DM7的過程中出現(xiàn)錯(cuò)誤 ELF file OSABI invalid 該如何解決?

解決辦法:報(bào)這個(gè)錯(cuò)誤說明安裝的數(shù)據(jù)庫版本與操作系統(tǒng)版本不匹配应媚,需找我們商務(wù)人員重新申請(qǐng)相匹配的數(shù)據(jù)庫版本严沥。?

23. 使用DM7時(shí)如何進(jìn)行導(dǎo)入導(dǎo)出?

建議通過命令行的方式進(jìn)行導(dǎo)入導(dǎo)出中姜。詳細(xì)可參見:DM_DBA.pdf手冊(cè)第31章 備份和還原 中邏輯備份和邏輯還原的

相關(guān)章節(jié)消玄。

24. DM7如何關(guān)閉一個(gè)session?

可以通過調(diào)用一個(gè)系統(tǒng)函數(shù)SP_CLOSE_SESSION來關(guān)閉一個(gè)session丢胚。

函數(shù)定義:?

VOID SP_CLOSE_SESSION(SESSION_ID??INT)?

功能說明:?

停止一個(gè)活動(dòng)的會(huì)話?

參數(shù)說明:?

SESSION_ID:會(huì)話 ID?

舉例說明:?

SP_CLOSE_SESSION(510180488);?

25. DM7有類似于Oracle的AWR分析報(bào)告嗎翩瓜?

有的,詳細(xì)請(qǐng)參考DM_SQL.pdf手冊(cè)中 21.25 DBMS_WORKLOAD_REPOSITORY包中的相關(guān)內(nèi)容和示例說明携龟。

26. Oracle中raw類型在DM7中可以用哪種類型代替兔跌?

Oracle中raw類型在DM7中可以使用varbinary代替。

27. 如何擴(kuò)展數(shù)據(jù)庫的redo日志峡蟋?

調(diào)整數(shù)據(jù)庫redo日志的大小坟桅,如將2個(gè)redo日志都擴(kuò)展到2G(注意redo日志的實(shí)際路徑)。使用SYSDBA用戶登錄蕊蝗,

然后執(zhí)行如下腳本:

alter database resize logfile'D:\dmdbms\data\DAMENG\DAMENG01.log' to 2048;

alter database resize logfile'D:\dmdbms\data\DAMENG\DAMENG02.log' to 2048;

28. DM7數(shù)據(jù)庫如何進(jìn)行卸載仅乓?

在使用DM7的過程中,有時(shí)候我們可能需要卸載DM7后重新安裝新的數(shù)據(jù)庫版本蓬戚,下面簡單講述如何正常卸載

DM7數(shù)據(jù)庫夸楣。

前提條件:在進(jìn)行卸載達(dá)夢數(shù)據(jù)庫之前,先正常關(guān)閉達(dá)夢數(shù)據(jù)庫碌更。

Windows環(huán)境:

方法1:在Windows的開始 -> 所有程序 -> 達(dá)夢數(shù)據(jù)庫 -> 卸載裕偿;

方法2:在達(dá)夢數(shù)據(jù)庫的安裝目錄洞慎,如D:\dmdbms目錄下可以看到達(dá)夢數(shù)據(jù)庫的卸載程序uninstall.exe痛单,雙擊該

程序也可以完成卸載。?

注意事項(xiàng):先保證達(dá)夢數(shù)據(jù)庫處于關(guān)閉狀態(tài)然后再進(jìn)行卸載劲腿,否則Windows服務(wù)窗口中達(dá)夢數(shù)據(jù)庫注冊(cè)的一些服務(wù)和

注冊(cè)表中的一些信息可能無法正常刪除旭绒,這樣可能會(huì)給下一次的安裝帶來麻煩。

Linux環(huán)境:

方法1:圖形界面卸載

如果可以直接接觸Linux服務(wù)器的桌面,在桌面上會(huì)有一個(gè)DMDBMS的文件夾挥吵,里面也有卸載的圖標(biāo)重父,

雙擊即可完成卸載,與Windows的界面風(fēng)格完全一致忽匈;

方法2:字符界面卸載

在達(dá)夢數(shù)據(jù)庫的安裝目錄房午,如/opt/dmdbms目錄下有一個(gè)卸載腳本uninstall.sh,在Linux終端中執(zhí)行命令

./uninstall.sh -i 即可以字符界面完成對(duì)達(dá)夢數(shù)據(jù)庫的卸載丹允。

注意事項(xiàng):先保證達(dá)夢數(shù)據(jù)庫處于關(guān)閉狀態(tài)然后再進(jìn)行卸載郭厌。

29. DM7存儲(chǔ)過程和語句塊中如何進(jìn)行打印雕蔽???begin?

print '使用print語法打印';

end;

--使用dbms_output包打印首先需要?jiǎng)?chuàng)建系統(tǒng)包:

SP_CREATE_SYSTEM_PACKAGES(1);?

--然后開啟這個(gè)打印的包:

dbms_output.enable;

begin?

dbms_output.put_line('使用dbms_output包語法打印');

end;

30.linux系統(tǒng)下 達(dá)夢數(shù)據(jù)庫設(shè)置為開機(jī)自啟動(dòng)怎么設(shè)置折柠?

修改啟動(dòng)腳本,將DM啟動(dòng)腳本DmServiceXXXXX 移到/etc/init.d下批狐,chkconfig DmServiceXXXXX on

確認(rèn)此數(shù)據(jù)庫能以dmdba用戶正常前臺(tái)啟動(dòng)后(必須步驟)扇售,操作步驟如下:

第一步:復(fù)制數(shù)據(jù)庫實(shí)例服務(wù)腳本dmserverd,命名為DmInstanceServiceDAMENG并修改嚣艇,修改path值為dm.ini路徑(必須)承冰,dm_home設(shè)置為dm主程序安裝路徑(必須),svc_porg設(shè)置為數(shù)據(jù)庫實(shí)例名(可選推薦)食零。

第二步:將腳本DmInstanceServiceDAMENG 復(fù)制到 /etc/rc.d/init.d 目錄下巷懈。

cp /opt/dmdbms/bin/DmInstanceServiceDAMENG??/etc/rc.d/init.d/DmInstanceServiceDAMENG

第三步:賦予服務(wù)腳本DmInstanceServiceDAMENG 可執(zhí)行權(quán)限。

chmod??777??/etc/rc.d/init.d/DmInstanceServiceDAMENG

第四步:注冊(cè) DM實(shí)例服務(wù)并配置開機(jī)自動(dòng)啟動(dòng)慌洪。

chkconfig --add DmInstanceServiceDAMENG

chkconfig DmInstanceServiceDAMENG on

chkconfig --list DmInstanceServiceDAMENG

第五步:后臺(tái)啟動(dòng)達(dá)夢數(shù)據(jù)庫實(shí)例服務(wù)顶燕,查看服務(wù)狀態(tài),關(guān)閉實(shí)例服務(wù)冈爹。

service DmInstanceServiceDAMENG start

service DmInstanceServiceDAMENG status

service DmInstanceServiceDAMENG stop

31.

如何使用SQL插入BLOBcreate or replace directory utllobdir as 'C:\alipay'; --你的BLOB文件所在位置涌攻。

create table bfile_tab (bfile_column BFILE);

create table t (blob_column BLOB);

----------------------------------------

declare

a_blob??BLOB;

a_bfile BFILE := BFILENAME('UTLLOBDIR','test.jpg');

begin

insert into bfile_tab values (a_bfile)

returning bfile_column into a_bfile;

insert into t values (empty_blob())

returning blob_column into a_blob;

dbms_lob.fileopen(a_bfile);

dbms_lob.loadfromfile(a_blob, a_bfile, dbms_lob.getlength(a_bfile));

dbms_lob.fileclose(a_bfile);

commit;

end;?

要較新的版本才支持

32.沒有bool類型怎么辦?

用bit類型就好

--未完待續(xù)频伤,歡迎大家提問恳谎,我來整理。

33.使用WINDOWS系統(tǒng)時(shí)憋肖,原本在DM服務(wù)查看器里面可以看到的數(shù)據(jù)庫服務(wù)怎么沒了呢因痛?

基本上,都是由于殺毒軟件刪除了服務(wù)導(dǎo)致的岸更,請(qǐng)重新注冊(cè)服務(wù)鸵膏,然后關(guān)閉360

34.達(dá)夢數(shù)據(jù)庫的數(shù)據(jù)文件最大可以多少?

受操作系統(tǒng)和文件系統(tǒng)限制

35.使用達(dá)夢管理工具訪問DM數(shù)據(jù)庫怎炊,在使用圖形化工具查看數(shù)據(jù)庫對(duì)象時(shí)谭企,報(bào)錯(cuò)“非法的基類名****”廓译,“無效的列名****”等。

一般發(fā)生在客戶端工具與服務(wù)器版本差別很大時(shí)债查,需要更新到客戶端與服務(wù)器版本相同非区。


36.DM7字符串連接符號(hào)是?

使用||進(jìn)行字符串連接

37.

如何替換KEY文件

將key文件拷貝到DM的安裝目錄下的bin目錄下盹廷,改名并替換掉原本的dm.key。然后重啟服務(wù)俄占。

38.DM7查表必須要 表空間.表名??是怎么回事歹垫?

使用某一個(gè)用戶登陸時(shí)排惨,訪問該用戶的默認(rèn)表空間里的表時(shí),不需要帶表空間名辕宏。

39.連上以后如何切換模式?

set schema XXX

40.為什么我的對(duì)象名寫的是對(duì)的,查詢時(shí)還報(bào)找不到對(duì)象呢财松?

一般出現(xiàn)這種情況瘪贱,是因?yàn)槟愕膶?duì)象名是小寫的,而DM在執(zhí)行SQL時(shí)自動(dòng)將所有小寫字符轉(zhuǎn)化為了大寫辆毡。解決方法是將小寫字符用雙引號(hào)“”包起來菜秦。或是所有對(duì)象名都使用大寫舶掖。

41.標(biāo)度和精度有啥區(qū)別球昨?

精度指數(shù)字的位數(shù)。 標(biāo)度指小數(shù)點(diǎn)后的數(shù)字位數(shù)访锻。 例如,數(shù) 123.45 的精度是 5,標(biāo)度是 2褪尝。

42.想要存儲(chǔ)年月日和時(shí)分闹获,使用什么數(shù)據(jù)類型期犬?

Datetime

43.數(shù)據(jù)庫還原時(shí)河哑,報(bào)XX參數(shù)不匹配

一般是字符大小寫敏感、頁大小這兩個(gè)參數(shù)不匹配龟虎。重新初始化一個(gè)參數(shù)與做備份的實(shí)例相同的實(shí)例即可璃谨。

44.我的TEMP表空間為什么這么大?當(dāng)用戶的 SQL 語句需要磁盤空間來完成某個(gè)操作時(shí)鲤妥,DM 數(shù)據(jù)庫會(huì)從 TEMP 表空間分配臨時(shí)段佳吞。如創(chuàng)建索引、無法在內(nèi)存中完成的排序操作棉安、SQL 語句中間結(jié)果集以及用戶創(chuàng)建的臨時(shí)表等都會(huì)使用到 TEMP表空間底扳。

如果你的TEMP表空間很大,那說明你的業(yè)務(wù)當(dāng)中存在很多急需優(yōu)化的SQL贡耽。

TEMP表空間在重啟后會(huì)釋放掉衷模,也可以手動(dòng)回收。

45.DM配置UNIXODBC及PERL通過ODBC連接DM蒲赂。有另外一個(gè)帖子解釋的很詳細(xì):http://www.itpub.net/thread-1824202-1-1.html

46.達(dá)夢中的一個(gè)SQL有沒有唯一的ID阱冶?

V$SQL_PLAN里查看SQL_ID

47.達(dá)夢的密碼策略?

通過DM.INI里的參數(shù):PWD_POLICY設(shè)置系統(tǒng)默認(rèn)口令策略滥嘴。0: 無策略木蹬;1: 禁止與用戶名相同;2:口令長度不小于 9若皱;4:至少包含一個(gè)大寫字母(A-Z)镊叁;8 :至少包含一個(gè)數(shù)字(0-9);16:至少包含一個(gè)標(biāo)點(diǎn)符號(hào)(英文輸入法狀態(tài)下走触,除“和空格外的所有符號(hào)意系;若為其他數(shù)字,則表示配置值的和饺汹,如 3=1+2,表示同時(shí)啟用第 1 項(xiàng)和第 2 項(xiàng)策略蛔添。當(dāng) INI參數(shù)COMPATIBLE_MODE=1時(shí),PWD_POLICY 的實(shí)際值均為 0

48.DM.INI介紹

每創(chuàng)建一個(gè) DM 數(shù)據(jù)庫兜辞,就會(huì)自動(dòng)生成 dm.ini迎瞧。dm.ini 是 DM 數(shù)據(jù)庫啟動(dòng)所必須的配置文件,通過配置該文件可以設(shè)置 DM 數(shù)據(jù)庫服務(wù)器的各種功能和性能選項(xiàng)逸吵,主要的配置內(nèi)容見DBA手冊(cè)凶硅。

參數(shù)分為動(dòng)態(tài)參數(shù)與靜態(tài)參數(shù),動(dòng)態(tài)參數(shù)可以通過SP_SET_PARA_VALUE函數(shù)直接修改并生效

49.導(dǎo)入DMP文件時(shí)的常見問題

a)中文亂碼扫皱。一般是由于導(dǎo)出與導(dǎo)入時(shí)的字符集的環(huán)境變量不同足绅。使用命令行dimp命令導(dǎo)入捷绑,并在執(zhí)行dimp前先執(zhí)行export LANG=...將當(dāng)前字符集調(diào)整的和導(dǎo)出時(shí)的一樣

b)報(bào)各種初始化參數(shù)不一致的警告(CASE_SENSIVE參數(shù)不匹配、頁大小不一致等)氢妈。導(dǎo)出的庫與導(dǎo)入的庫的初始化參數(shù)不一致時(shí)會(huì)出現(xiàn)這些錯(cuò)誤粹污。

c)XX對(duì)象已存在。提示已經(jīng)很明確了首量。

50.刪除表空間時(shí)提示“試圖刪除已經(jīng)使用的表空間”壮吩?

提示已經(jīng)很明確了,把表空間里的表刪掉吧

51.關(guān)于VARCHAR類型的長度的限制加缘。

VARCHAR類型字段的長度問題鸭叙,是在異構(gòu)數(shù)據(jù)庫遷移時(shí)非常常見的一個(gè)問題。

DM的VARCHAR字段的最大長度與“頁大小”這一參數(shù)有關(guān)拣宏。在建庫時(shí)指定沈贝,之后無法修改。

4K的1900,8K的3900,16K的8000,32K的8188

52.SQL語句報(bào)錯(cuò): 嵌套層次太深勋乾。

一般的嵌套層次不會(huì)太多宋下,一般出現(xiàn)這種問題很可能是有死循環(huán)!J锌 杨凑!

例如建了個(gè)觸發(fā)器,然后一條SQL執(zhí)行觸發(fā)器的時(shí)候觸發(fā)了自己

53.關(guān)于拆分字符串摆昧,可以參考下面的例子:

create table test_wm(c1 int,c2 varchar(100),c3 varchar(100));

insert into test_wm values(1,'3,2,4,5','no');

insert into test_wm values(2,'5,1,1+2','yes');

select C1,C3,regexp_substr(C2,'[^,]+',1,level) son,LEVEL

from test_wm

CONNECT BY LEVEL<=REGEXP_COUNT(C2,',')+1 and prior C1=C1 andprior dbms_random.value() is not null;?

54.JAVA外部函數(shù)的調(diào)用方法撩满。

a.先生成一個(gè)JAVA包,放到某個(gè)目錄下绅你,我們假設(shè)放在了E:\test.jar

b.執(zhí)行SQL:

CREATE OR REPLACE FUNCTION MY_INT(a int, b int)RETURN intEXTERNAL 'e:\test.jar'"test.testAdd" USING java;

注意類名和函數(shù)名區(qū)分大小寫

c.然后就可以調(diào)用外部函數(shù)了select MY_INT(1,2);

55.為啥我查詢時(shí)伺帘,有過濾條件,也建了索引忌锯,但它就是不走索引伪嫁?

注意兩點(diǎn):

數(shù)據(jù)分布、統(tǒng)計(jì)信息

很多時(shí)候偶垮,統(tǒng)計(jì)信息不全會(huì)導(dǎo)致優(yōu)化器計(jì)算執(zhí)行代價(jià)的時(shí)候算錯(cuò)张咳,誤認(rèn)為走索引會(huì)比全表慢,造成執(zhí)行計(jì)劃不對(duì)似舵。

統(tǒng)計(jì)信息的收集方法:

某用戶下的所有索引:

DBMS_STATS.GATHER_SCHEMA_STATS('SSCKF',100,TRUE,'FOR ALL INDEXED SIZE AUTO');

某用戶下所有字段(包括索引):

DBMS_STATS.GATHER_SCHEMA_STATS('SSCKF',100,TRUE,'FOR ALL COLUMNS SIZE AUTO');?

某表下的所有字段:

DBMS_STATS.GATHER_TABLE_STATS('SSCKF','FO_ACCOUNTBILL',null,100,TRUE,'FOR ALLCOLUMNS SIZE AUTO');

收集某一列的統(tǒng)計(jì)信息

sp_col_stat_init('JXWOA','OA2_RECEIVEDOC','RD_STATE');

sp_col_stat_init('JXWOA','OA2_SENDDOC','SD_STATE');

有個(gè)客戶自己做了10W條測試數(shù)據(jù)脚猾,然后寫了個(gè)SELECT *FROM T WHERE C='A';這樣的測試語句。

但這10W條數(shù)據(jù)全是一樣的砚哗,怎么可能走索引龙助。

修改測試數(shù)據(jù)的腳本,讓C這個(gè)字段的值平均分布在1~1000上蛛芥,做完后收集統(tǒng)計(jì)信息提鸟,就走索引了军援。

56. DM7如何查看建庫時(shí)的字符集?

select unicode();

--根據(jù)返回值進(jìn)行判斷

0 表示 GB18030称勋,1 表示 UTF -8胸哥,2 表示 EUC -KR

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市铣缠,隨后出現(xiàn)的幾起案子烘嘱,更是在濱河造成了極大的恐慌昆禽,老刑警劉巖蝗蛙,帶你破解...
    沈念sama閱讀 206,126評(píng)論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異醉鳖,居然都是意外死亡捡硅,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,254評(píng)論 2 382
  • 文/潘曉璐 我一進(jìn)店門盗棵,熙熙樓的掌柜王于貴愁眉苦臉地迎上來壮韭,“玉大人,你說我怎么就攤上這事纹因∨缥荩” “怎么了?”我有些...
    開封第一講書人閱讀 152,445評(píng)論 0 341
  • 文/不壞的土叔 我叫張陵瞭恰,是天一觀的道長屯曹。 經(jīng)常有香客問我,道長惊畏,這世上最難降的妖魔是什么恶耽? 我笑而不...
    開封第一講書人閱讀 55,185評(píng)論 1 278
  • 正文 為了忘掉前任,我火速辦了婚禮颜启,結(jié)果婚禮上偷俭,老公的妹妹穿的比我還像新娘。我一直安慰自己缰盏,他們只是感情好涌萤,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,178評(píng)論 5 371
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著口猜,像睡著了一般负溪。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上暮的,一...
    開封第一講書人閱讀 48,970評(píng)論 1 284
  • 那天笙以,我揣著相機(jī)與錄音,去河邊找鬼冻辩。 笑死猖腕,一個(gè)胖子當(dāng)著我的面吹牛拆祈,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播倘感,決...
    沈念sama閱讀 38,276評(píng)論 3 399
  • 文/蒼蘭香墨 我猛地睜開眼放坏,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了老玛?” 一聲冷哼從身側(cè)響起淤年,我...
    開封第一講書人閱讀 36,927評(píng)論 0 259
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎蜡豹,沒想到半個(gè)月后麸粮,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 43,400評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡镜廉,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,883評(píng)論 2 323
  • 正文 我和宋清朗相戀三年弄诲,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片娇唯。...
    茶點(diǎn)故事閱讀 37,997評(píng)論 1 333
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡齐遵,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出塔插,到底是詐尸還是另有隱情梗摇,我是刑警寧澤,帶...
    沈念sama閱讀 33,646評(píng)論 4 322
  • 正文 年R本政府宣布想许,位于F島的核電站伶授,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏伸刃。R本人自食惡果不足惜谎砾,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,213評(píng)論 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望捧颅。 院中可真熱鬧景图,春花似錦、人聲如沸碉哑。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,204評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽扣典。三九已至妆毕,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間贮尖,已是汗流浹背笛粘。 一陣腳步聲響...
    開封第一講書人閱讀 31,423評(píng)論 1 260
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人薪前。 一個(gè)月前我還...
    沈念sama閱讀 45,423評(píng)論 2 352
  • 正文 我出身青樓润努,卻偏偏與公主長得像,于是被迫代替她去往敵國和親示括。 傳聞我的和親對(duì)象是個(gè)殘疾皇子铺浇,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,722評(píng)論 2 345

推薦閱讀更多精彩內(nèi)容