Sun Java System Directory Server Enterprise Edition 6.3 版本說明

第 4 章 目錄代理伺服器中已修正的錯誤與已知問題

本章包含目錄代理伺服器發行時的重要產品特定資訊。

本章包含以下各節:

Directory Proxy Server 6.3 中已修正的錯誤

本節列出自目錄代理伺服器上一個版本以來已修正的錯誤。

6666615

在某些情況下,基於連結 DN 條件的用戶端連線會錯誤分類,而可能套用不正確的策略。

6359601

配置 ACI 時,目錄代理伺服器所傳回的搜尋結果與直接在 LDAP 資料來源上搜尋的結果不相同。如果搜尋篩選包含存取遭拒的屬性,則目錄代理伺服器不會傳回任何項目。

6561078

如果屬性描述區分大小寫,則無法使用 ldapmodify 刪除 JDBC 屬性。

6490847

建立的連線未持續作用。

6631652

使用篩選連結規則配置 join-data-view 沒有作用。

6618078

配置目錄代理伺服器中每個用戶端 IP 的最大連線次數時 (max-client-connections),同步連線數目的計算不正確。

6614510

資料庫停止後的第一個請求未提供任何結果與任何錯誤訊息。

6599352

當遠端資料來源連接埠無法連線時,不會啟動目錄代理伺服器。

6560473

目錄代理伺服器在修改作業期間不支援使用 SQL 建立物件。

6597589

將 JDBC 屬性增加至 JDBC 中不存在的項目時,未在 JDBC 表格中增加該項目。

6527869

如果在搜尋篩選中使用輔助檢視中的屬性,則在連結檢視上的搜尋不會有作用。

6357160

dpconf 指令在特性值中無法拒絕新行字元與換行字元。在設定特性值時,請避免使用新行字元與換行字元。

6500298

使用 dpadm 指令的 jvm-args 旗標,並重新啟動伺服器時,無法成功地配置 2 GB 以上的記憶體供 Java 虛擬機器使用。

6570523

目錄代理伺服器無法代理「密碼修改延伸」作業,ldappasswd 指令需要此作業才可重設使用者密碼。

目錄代理伺服器中的已知問題與限制

本節列出發行時已知的問題與限制。

目錄代理伺服器限制

本節列出產品限制。

請勿手動變更檔案權限。

某些情況下,變更已安裝的 Directory Server Enterprise Edition 產品檔案之檔案權限,可能會使得軟體無法正常運作。請僅依照產品文件或 Sun 技術支援的指示變更檔案權限。

若要解決此限制,請以具有適當使用者與群組權限的使用者身份安裝產品,並建立伺服器實例。

無法更新自行簽署的伺服器憑證。

建立自行簽署的伺服器憑證時,請務必指定長度足夠而無需再更新的有效憑證。

目錄代理伺服器無法確保連結資料檢視寫入作業的不可分割性。

若要確保不可分割性,請勿對寫入作業使用連結資料檢視。如果在連結資料檢視上執行寫入作業,請使用外部機制以避免或偵測到不一致。您可以藉由監視目錄代理伺服器錯誤記錄,監視不一致。

6.3 中已知的目錄代理伺服器問題

本節列出 Directory Proxy Server 6.3 版所發現的已知問題。

6646107 / 6643181

若是連結 LDAP 與 JDBC 資料檢視的 join-data-view 作業,增加、取代或修改其值對資料庫儲存而言太長的屬性時,該值會遭到截斷,並觸發下列與資料來源相關的問題:

  • 在 mySQL 中,屬性所屬的資料庫列會出現兩次。

  • 在 DB2 中,特定資料庫表格在目錄代理伺服器重新啟動之前會變成不可用。

6609603

當資料來源池增加新的資料來源時,需要重新啟動伺服器。

6607075

若是 LDAP 與 JDBC 的連結檢視在連結規則中有 uid,且 JDBC 檢視包含額外的屬性,則該屬性的 ldapsearch 作業會從伺服器傳回不只一個而是全部的項目。

6640597

當「增加」作業跟隨的參照其 basedn 與其他原始機器的基底 DN 不同時,目錄代理伺服器無法變更「增加」作業的 DN。嘗試對目錄伺服器實例設定為跟隨參照的目錄代理伺服器實例執行「增加」時,不僅不會轉寄參照,還會因為 basedn 不正確而導致「增加」在參照的伺服器上遭到拒絕。

使用 ldapmodify 指令直接對目錄伺服器實例執行「增加」,可讓「增加」發揮作用。

6637608

透過 Directory Server Enterprise Edition 執行大量搜尋時,會造成目錄代理伺服器壓力,並可能發生 ArrayIndexOutOfBoundsNegativeArraySize 異常。

6659381

目錄代理伺服器搭配 Java 1.6 以 64 位元模式使用時可能會當機。使用 Java 1.5 可移除此風險。如需更多資訊,請參閱軟體相依性需求

6597598

使用 modrate 工具對 LDAP 與 JDBC 的連結檢視執行修改時,會在使用多個執行緒時發生 Null 指標異常。錯誤訊息類似如下:


java.lang.NullPointerException  com.sun.directory.proxy.server.JoinDataView.
processModifyRequest(JoinDataView.java:916) 
com.sun.directory.proxy.server.JoinDataViewOpContext.processModifyRequest
(JoinDataViewOpContext.java:243) com.sun.directory.proxy.server.ModifyOperation.
processOperation(ModifyOperation.java:502 com.sun.directory.proxy.server
.WorkerThread.runThread(WorkerThread.java:150) 
com.sun.directory.proxy.util.DistributionThread.run
(DistributionThread.java:225)
6639674

如果目錄代理伺服器配置特性 allow-bind-operations 設定為 false,則無法使用 dpconf指令行引數與 -–secure-port 選項在 SSL 連接埠上連線。但仍可透過 Start TLS (預設值) 或明文連線 (-–unsecured 選項) 進行連線。

6642559

remove-attr-value 轉換模式中無法編寫虛擬轉換。

6642578

修改項目時,編寫虛擬轉換的作用不如預期。

5042517

LDIF 資料檢視、JDBC 資料檢視、連結資料檢視與存取控制資料檢視不支援修改 DN 作業。

6355714

目前僅 LDAP 資料檢視支援 getEffectiveRight 控制項,尚未考慮代理伺服器的本機 ACI。

6356465

目錄代理伺服器可拒絕那些將子類型指定至目標屬性的 ACI,例如 (targetattr = "locality;lang-fr-ca")

6360059

目錄代理伺服器無法恢復在資料來源連線失敗後所復原的 JDBC 資料來源連線。目錄代理伺服器僅在重新啟動目錄代理伺服器實例後才可恢復連線。

6383532

認證模式配置變更時,必須重新啟動目錄代理伺服器。

6386073

產生 CA 簽署的憑證請求之後,當您重新整理時,憑證會顯示為自行簽署的憑證。

6388022

如果目錄代理伺服器使用的 SSL 連接埠不正確,在該連接埠上請求安全的搜尋之後,目錄代理伺服器可能會關閉所有連線。

6649984

當您為憑證資料庫設定長度不足的密碼時,未發出任何警告。如果密碼太短,目錄服務控制中心會接受。發出 dpadm 指令與 cert 子指令可能會進而導致指令無回應。

6390118

若目錄代理伺服器配置為使用根據用戶端應用程式憑證 (而非代理授權) 的認證,即無法正確計算參照躍點的數目。

6390220

建立資料檢視時可指定 base-dn 特性;但在建立資料檢視之後,則無法將 base-dn 特性設定為根 DSE ""

6410741

目錄服務控制中心會將值以字串方式排序。因此,當您在目錄服務控制中心中對數字進行排序時,這些數字的排序方式與字串相同。

對 0、20 與 100 進行向上排序的結果為 0、100、20。對 0、20 與 100 向下排序的結果為 20、100、0。

6547755

在其路徑中包含多位元組字元的目錄代理伺服器實例可能無法在 DSCC 中建立,也無法啟動或執行其他一般作業。

這些問題的其中一部分可透過建立實例所使用的字元集解決。使用下列指令設定字元集:


# cacaoadm list-params | grep java-flags
  java-flags=-Xms4M -Xmx64M

# cacaoadm stop
# cacaoadm set-param java-flags="-Xms4M -Xmx64M -Dfile.encoding=utf-8"
# cacaoadm start

在實例路徑中僅使用 ASCII 字元可避免這些問題。

6439604

配置警示後必須重新啟動目錄代理伺服器,才能使變更生效。

6461510

在目錄代理伺服器中,參照躍點限制無法運作。

6447554

若配置了數值或字母資料分佈,目錄代理伺服器即無法重新命名移至其他資料檢視的項目。

6458935

使用連結資料檢視時,目錄代理伺服器不會採用組成該連結之檢視中的資料分佈演算法。

若要解決此問題,請在搭配使用連結與資料分佈時,於連結資料檢視的層級上配置資料分佈。

6469154

在 Windows 上,dsadmdpadm 指令的輸出以及說明訊息並未本土化為簡體中文和繁體中文。

6469780

無法動態偵測 JDBC 資料來源項目的建立作業。如果建立 JDBC 伺服器後再建立 JDBC 資料檢視,則在伺服器下次重新啟動之前,將會忽略此資料檢視。因此,配置 JDBC 資料來源後必須重新啟動目錄代理伺服器,才能偵測到變更。

6486578

在 JDBC 物件類別中,類別 A 使用一個表格作為輔助表格,而另一個類別 B 使用相同的表格作為唯一的主要表格,則在 B 上的請求沒有作用。目錄代理伺服器用於主要表格時,無法忽略 filter-join-rule 特性。

6488197

在 Windows 系統上完成安裝並建立伺服器實例後,安裝與伺服器實例資料夾的檔案權限允許所有使用者進行存取。

若要解決此問題,請變更安裝與伺服器實例資料夾的權限。

6488297

在 Windows 上,只有管理員使用者可以執行 DSCC 初始化。

6490763

重新啟動目錄伺服器後,透過目錄代理伺服器存取目錄伺服器時,Access Manager 發生與持續搜尋相關的快取問題。

若要解決此問題,請在重新啟動目錄伺服器後重新啟動 Access Manager 或目錄代理伺服器。

若要進一步進行微調,您可以增加 Access Manager 嘗試的次數以及嘗試之間的延遲時間,以重新建立持續搜尋連線。您可以變更 AMConfig.properties 檔案中的下列特性,以提高這些參數。

  • 增加 com.iplanet.am.event.connection.num.retries,這代表嘗試次數。預設值為嘗試 3 次。

  • 增加 com.iplanet.am.event.connection.delay.between.retries,這代表嘗試之間的等候毫秒數。預設值為 3000 毫秒。

6490853

如果您使用配置了 DB2 資料庫的 JDBC 資料檢視來執行搜尋,而且有大量的項目傳回搜尋結果,則在傳回 1,344 個項目後可能會發生錯誤。

如要克服此限制,請透過將 CLI/ODBC 配置關鍵字 CLIPkg 的數值設定為高達 30,來增加大型套裝軟體的數量。儘管如此,搜尋結果仍限制最大為 11,712 個項目。

如需瞭解更多資訊,請參閱 DB2 文件

6491133

使用目錄服務控制中心建立自行簽署的憑證時,請勿於憑證名稱中使用多位元組字元。

6491845

目錄服務控制中心不顯示透過目錄代理伺服器所允許的預設 LDAP 控制項。

6493349

變更現有的排除子樹狀結構或替代搜尋基底的 DN 時,目錄服務控制中心會移除逗點。

6494540

首次啟用或停用非安全 LDAP 存取後,必須重新啟動目錄代理伺服器才能使變更生效。

6497547

時間限制與大小限制設定只能與 LDAP 資料來源搭配使用。

6497992

使用指令 dpadm set-flags cert-pwd-store=off 之後,即無法使用目錄服務控制中心重新啟動目錄代理伺服器。

6501867

如果在 dpadm start 指令中使用的伺服器實例名稱同時包含 ASCII 和多位元組字元,此指令會失敗。

6505112

在現有的連線處理程式上設定 data-view-routing-custom-list 特性時,會因為資料檢視名稱含有必須轉換的字元 (如逗點) 而發生錯誤。

若要解決此問題,請勿使用含有必須轉換的字元的資料檢視名稱。例如,請勿使用含有 DN 的資料檢視名稱。

6510583

與先前的版本不同,如線上手冊 allowed-ldap-controls(5dpconf) 所說明,目錄代理伺服器依預設不允許伺服器端排序控制項。

可以在允許的 LDAP 控制項 (由 allowed-ldap-controls 特性指定) 清單中增加 server-side-sorting,以使目錄代理伺服器支援伺服器端排序控制項。


$ dpconf set-server-prop \
 allowed-ldap-controls:auth-request \
 allowed-ldap-controls:chaining-loop-detection \
 allowed-ldap-controls:manage-dsa \
 allowed-ldap-controls:persistent-search \
 allowed-ldap-controls:proxy-auth-v1 \
 allowed-ldap-controls:proxy-auth-v2 \
 allowed-ldap-controls:real-attributes-only \
 allowed-ldap-controls:server-side-sorting

請注意,您必須重複現有的設定。否則,將只允許伺服器端排序控制項。

6511264

請注意,使用目錄代理伺服器的 DN 重新命名功能時,重複的 DN 元件只會重新命名為唯一的替代元件。

例如,要將以 o=myCompany.com 結尾的 DN 重新命名為以 dc=com 結尾。對於 DN 與其原始元件相重複的項目 (如 uid=userid,ou=people,o=myCompany.com,o=myCompany.com),重新命名後所產生的 DN 將是 uid=userid,ou=people,dc=com,而不是 uid=userid,ou=people,o=myCompany.com,dc=com

6520368

透過目錄代理伺服器存取 Oracle 9 的 JDBC 連線配置,不全如文件中所述。

請考慮下列配置:Oracle 9 伺服器在主機 myhost 連接埠 1537 上進行偵聽,且實例具有系統識別碼 (SID) MYINST。此實例具有資料庫 MYNAME.MYTABLE

一般而言,若要配置透過 MYTABLE 進行存取,請設定下列特性。

  • 在 JDBC 資料來源上,設定 db-name:MYINST

  • 在 JDBC 資料來源上,設定 db-url:jdbc:oracle:thin:myhost:1537:

  • 在 JDBC 表格上,設定 sql-table:MYNAME.MYTABLE

若這些設定沒有效用,請以下列設定配置透過 MYTABLE 進行存取。

  • 在 JDBC 資料來源上,設定 db-name:(CONNECT_DATA=(SERVICE_NAME=MYINST)))

  • 在 JDBC 資料來源上,設定 db-url:jdbc:oracle:thin:@(DESCRIPTION= (ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=myhost)(PORT=1537)))

  • 在 JDBC 表格上,設定 sql-table:MYNAME.MYTABLE

6527010

目錄代理伺服器無法寫入表示多對多 (N:N) JDBC 資料庫表格關係的 JDBC 屬性。

6539650

具有多位元組 DN 並使用 DSCC 建立的目錄代理伺服器實例無法在 Linux 上啟動。

6542857

當您在 Solaris 10 上使用服務管理設備 (SMF) 來啟用伺服器實例,則您的系統重新開機時,實例可能不會啟動。

若要解決此問題,如果從未呼叫過 dsadm enable service 指令,請將下列標示 + 的指令行增加至 /opt/SUNWdsee/ds6/install/tmpl_smf.manifest


...
restart_on="none" type="service"> 
<service_fmri value="svc:/network/initial:default"/> 
  </dependency> 
+ <dependency name="nameservice" grouping="require_all" \
+ restart_on="none" type="service"> 
+ <service_fmri value="svc:/milestone/name-services"/> 
+ </dependency> 
<exec_method type="method" name="start" 
exec="%%%INSTALL_PATH%%%/bin/dsadm start --exec %{sunds/path}"...

當在 Solaris 10 上使用服務管理設備 (SMF) 啟用伺服器實例,而您的系統重新開機時,實例可能不會啟動。

若要解決此問題,如果從未呼叫過 dsadm enable service 指令,請將下列標示 + 的指令行增加至 /opt/SUNWdsee/ds6/install/tmpl_smf.manifest


...
restart_on="none" type="service"> 
<service_fmri value="svc:/network/initial:default"/> 
  </dependency> 
+ <dependency name="nameservice" grouping="require_all" \
+ restart_on="none" type="service"> 
+ <service_fmri value="svc:/milestone/name-services"/> 
+ </dependency> 
<exec_method type="method" name="start" 
exec="%%%INSTALL_PATH%%%/bin/dsadm start --exec %{sunds/path}"...

如果先前已呼叫過 dsadm enable service 指令,解決方法如下所示:

  1. 建立包含下列內容的檔案:


    select dps
    addpg nameservice dependency
    setprop nameservice/grouping  = astring: require_all
    setprop nameservice/restart_on = astring: none
    setprop nameservice/type = astring: service
    setprop nameservice/entities = fmri: "svc:/milestone/name-services"    
  2. 對檔案執行下列指令:


    svccfg -f file
    

    如果有實例在維護狀態,請執行下列指令:


    svcadm clear svc:/application/sun/dps:dps-{instancepath}
    
6547759

在 HP-UX 上,如果您以設定為不同語言環境的多重瀏覽器階段作業來存取 DSCC,DSCC 可能會顯示語言環境中的某些字串,其與瀏覽器中所設定的語言環境會有所不同。

6551076

若機器具備多個主機名稱,主控台就不能擷取目錄代理伺服器實例的後端狀態。

6565106

在與 JDBC 物件類別中的 DN 模式對應之 RDBMS 表格中,如果存在重複項目,則會在對 JDBC 資料檢視執行搜尋時,由目錄代理伺服器傳回重複的子樹狀目錄節點 (非尾節點)。例如,如果 JDBC 物件類別中有 DN 模式 ou,且在對應 JDBC 屬性 ou 的 RDBMS 欄位中有重複的項目 (如 sales),則搜尋結果中會有重複的節點 (如 ou=sales)。

    若要解決此問題,請執行下列作業:

  1. 從包含對應到 ou JDBC 屬性之欄位的表格中取出這些值以建立 RDBMS 檢視,如此便不會有重複的項目。

  2. 以 JDBC 物件類別 (DN 模式為 ou) 中的 RDBMS 檢視名稱取代 RDBMS 表格名稱。此方法的限制在於,由於 RDBMS 檢視為唯讀,因此無法透過目錄代理伺服器為 JDBC 屬性 ou 增加任何值。

6573439

在 DSCC 之實例的 [更多的檢視選項] 中,[存取記錄]、[錯誤記錄] 和 [稽核記錄] 標籤下顯示的日期未本土化。

6588319

在使用 Tomcat 伺服器配置的 DSCC 中,[說明] 與 [版本] 快顯式視窗的標題會將多位元組字串顯示為亂碼。

6590460

dpadm show-cert dps-instance-path 指令輸出中的字串 owner 未翻譯為簡體中文和繁體中文。

6592543

提示確認停止或取消註冊伺服器的快顯式視窗,在法文語言環境中顯示雙引號 (")。