oracle数据库恢复执行任务时断电能恢复吗

4.9. 应用程序故障排除4.9. 应用程序故障排除
本节介绍用户使用其应用程序时可能会遇到的一些典型问题以及如何解决这些问题。
要对启动和结束应用程序的问题进行故障排除,请参见以下内容:
要对使用应用程序的问题进行故障排除,请参见以下内容:
要对用于动态启动的代理程序的问题进行故障排除,请参见以下内容:
4.9.1. 应用程序未启动
如果应用程序在用户单击链接时未启动,则需要首先检查应用程序对象的配置,请参见。
如果这样未解决问题,则需要检查启动详细信息或日志文件以查找启动错误消息,请参见。
如果用户无法登录 SGD 或启动应用程序,请通过运行以下命令重新热启动 SGD 服务器:
# tarantella restart sgd --warm4.9.1.1. 检查应用程序对象的配置
在管理控制台中检查应用程序对象的配置。
首先,检查应用程序对象的 "Hosting Application Servers"(托管应用服务器)选项卡。必须至少指定一个用于运行应用程序的应用服务器。检查列出的应用服务器是否可用。
接下来,检查应用程序对象的 "Launch"(启动)选项卡。检查下表中显示的属性。
如果正确配置了应用程序对象,请检查应用程序本身实际上是否在所有应用服务器上运行。
4.9.1.2. 检查启动详细信息和错误日志
当应用程序无法启动时,SGD 会在 "Connection Progress"(连接进度)对话框的详细信息区域中显示一条错误消息。该错误消息输出到 SGD 用户主目录中的客户端日志文件 (tcc.txt)。
错误消息还输出到以下日志文件:
/opt/tarantella/var/log/execpePID_error.log
此文件包含执行协议引擎进程的日志输出。
/opt/tarantella/var/log/launchhelperPID_error.log
如果应用程序对象的连接方法为 SSH,则此文件包含其他日志输出。
错误消息具有以下形式:
ErrorMessage
Script process-id exited with code error-code and signal signal
ErrorMessage 和 error-code 可以用于对问题进行故障排除。以下是最常见的错误消息:
ErrApplicationServerTimeout
ErrApplicationServerLoginFailed
有关错误消息和代码以及故障排除信息的完整列表,请参见。
如果启动详细信息或日志文件显示诸如 Failed to find xauth 或 Attempt to run xauth failed 等错误消息,请参见。
4.9.1.2.1. 增加日志输出
如果仍然无法解决问题,可以增加输出到日志文件的信息量。要执行此操作,可以修改执行协议引擎的日志过滤器,并(仅适用于 X 和字符应用程序)在登录脚本中启用调试功能。
要修改执行协议引擎的日志过滤器,请使用以下命令:
$ tarantella config edit \
--tarantella-config-execpeconfig-logfilter \
"execpe/*/*" "pem/*/*" "launchhelper/*/*"
要在登录脚本中启用调试功能,请编辑以下文件:
针对应用程序对象配置的登录脚本。
从 startdebug 行的开头删除注释标记 (#)。
登录脚本通常是 unix.exp、securid.exp、vms.exp、unixclass.exp 或 pupil.exp。
在 stopdebug 行的开头插入注释标记 (#)。
解决问题后,切记将执行协议引擎的日志过滤器重置为默认值,并在登录脚本中禁用日志记录。使用下面的命令重置日志过滤器:
$ tarantella config edit \
--tarantella-config-execpeconfig-logfilter \
"execpe/*/*error" "pem/*/*error" "launchhelper/*/*error"4.9.1.3. ErrApplicationServerTimeout 错误故障排除
如果启动应用程序导致发生 ErrApplicationServerTimeout 错误,这通常意味着登录脚本在用户成功登录之前已超时。
可以通过增大登录脚本超时时间解决此问题。有关可用超时时间的详细信息,请参见。
更改超时时间时,请首先增大 Expect 超时时间。如果应用程序仍然无法启动,可能是客户端的一个计时器时间太短。如果应用程序启动得特别慢,请增大所有客户端计时器的时间。
增大登录脚本超时时间将延长应用程序启动时间。仅当遇到问题以及调整应用服务器功能的超时时间时,才应更改超时时间。
运行 Microsoft Windows 应用程序时,除了执行协议引擎超时以外,不应用任何超时。
4.9.1.4. ErrApplicationServerLoginFailed 错误故障排除
如果启动应用程序导致发生 ErrApplicationServerLoginFailed 错误,则表明登录脚本无法登录应用服务器。
验证是否可以手动登录应用服务器。
如果可以登录,请检查登录脚本是否能够识别应用服务器的系统提示符。异常的系统提示符是此故障的常见原因,这可能是由以下原因导致的:
系统提示符使用英语以外的语言
每日消息 (/etc/motd) 或问题消息 (/etc/issue)
用户的登录配置文件配置为运行菜单
默认情况下,SGD 支持在应用服务器上使用英语系统提示符。管理员可以添加对其他语言的系统提示符的支持。有关详细信息,请参见。
如果使用的是标准 SGD 登录脚本,请检查 vars.exp 登录脚本中定义的系统提示符。
如果每日消息或菜单导致登录脚本失败,则必须配置登录脚本才能处理此情况。或者,联系技术支持以获得帮助。
登录脚本也可能超时。如果在启动详细信息或日志文件中看到 echo SYNC,并且系统提示符正常地以 $、%、# 或 & 结束,请尝试增大 vars.exp 登录脚本中的 timeouts(prelogin) 值。有关详细信息,请参见。
4.9.2. 应用程序在启动后立即退出
用户在使用 X 应用程序时可能会看到此问题。解决方法是使用于启动应用程序的网络连接保持打开状态。
在管理控制台中,选中应用程序对象的 "Launch"(启动)选项卡上的 "Keep Launch Connection Open"(使启动连接保持打开状态)复选框。
或者,也可以使用以下命令:
$ tarantella object edit --name obj --keepopen true
4.9.3. 启用 X 授权时应用程序无法启动
在默认 SGD 安装中,X 授权处于启用状态。如果 X 授权存在任何问题,用户则无法启动应用程序。如果应用程序因 X 授权而无法启动,则应用程序启动详细信息和日志文件中将显示消息 Failed to find xauth 或 Attempt to run xauth failed。
使用下面的核对表确定 X 授权导致应用程序无法启动的原因。如果这样未解决问题,请检查日志文件,如中所述。
X 授权是否安装在应用服务器上?
SGD 是否能找到 xauth 二进制文件?
用户在应用服务器上是否具有 UNIX 系统帐户?
Questions and Answers4.9.3.1:
X 授权是否安装在应用服务器上?
要让 SGD 能够使用 X 授权,必须在每个应用服务器上安装 xauth。
如果未安装 xauth,则必须安装 xauth 或对每个应用程序禁用 X 授权。要禁用 X 授权,请取消选中管理控制台中 "Global Settings"(全局设置)→ "Security"(安全)选项卡上的 "X Authorization for X Display"(X 显示的 X 授权)复选框。
SGD 是否能找到 xauth 二进制文件?
如果消息 Failed to find xauth 显示在应用程序启动对话框或日志文件中,则表明 SGD 找不到 xauth 二进制文件。默认情况下,SGD 搜索以下位置以查找 xauth 二进制文件:
/usr/bin/X11/xauth
/usr/X/bin/xauth
/usr/X11R6/bin/xauth
/usr/bin/X/xauth
/usr/openwin/bin/xauth
/usr/bin/xauth
如果 xauth 二进制文件位于其他位置,则必须将其位置添加到 /opt/tarantella/var/serverresources/expect/vars.exp 登录脚本中。查找以 “set xauthcmds” 开头的行。
如果 xauth 二进制文件仅位于一个位置,则可以通过从 vars.exp 登录脚本中删除其他位置来加速应用程序的启动。
用户在应用服务器上是否具有 UNIX 系统帐户?
当用户启动应用程序时,X 协议引擎进程会生成一个 Cookie,并将其存储在应用服务器上用户主目录的 .Xauthority 文件中。该 Cookie 用于验证用户是否具有连接到 X 显示的权限。
如果用户没有主目录,Cookie 则无法存储在用户的 .Xauthority 文件中,所以用户无法得到验证。
可以执行以下任意操作:
在应用服务器上为用户创建主目录
禁用 X 授权
取消选中管理控制台中 "Global Settings"(全局设置)→ "Security"(安全)选项卡上的 "X Authorization for X Display"(X 显示的 X 授权)复选框。或者,也可以使用以下命令:
$ tarantella config edit --security-xsecurity 0
编辑应用服务器上的配置文件,以便将 Cookie 存储在临时目录中。
将以下行添加到应用服务器上的 /etc/profile 文件中:
XAUTHORITY=/tmp/.Xauthority.$LOGNAME
export XAUTHORITY
在应用服务器上创建下面的 SSH 守护进程配置文件 /etc/ssh/sshrc:
XAUTHORITY=$HOME/.Xauthority.$USER
export XAUTHORITY
if read proto cookie && [ -n "$DISPLAY" ]
if [ `echo $DISPLAY | cut -c1-10` = 'localhost:' ]
# X11UseLocalhost=yes
echo add unix:`echo $DISPLAY |
cut -c11-` $proto $cookie
# X11UseLocalhost=no
echo add $DISPLAY $proto $cookie
fi | /usr/openwin/bin/xauth -q -
fi4.9.4. 应用程序大约在两分钟之后消失
如果用户发现他们的应用程序在大约两分钟后异常消失,可能是代理服务器使连接超时。如果连接上没有任何活动,代理服务器会在一段时间后断开连接。
SGD 发送保持活动数据包来使连接保持打开状态,默认情况下,发送间隔为 100 秒。如果应用程序消失,可以提高发送保持活动数据包的频率,以使连接保持打开状态。
在管理控制台中,转至应用程序对象的 "Global Settings"(全局设置)→ "Communication"(通信)选项卡,并将 "AIP Keepalive Frequency"(AIP 保持连接的频率)设置为比默认值更小的值,例如 60。
或者,也可以使用以下命令:
$ tarantella config edit --sessions-aipkeepalive secs
必须重新启动阵列中的每台 SGD 服务器,对此属性的更改才能生效。
4.9.5. 用户退出应用程序时应用程序会话未结束
如果用户关闭应用程序时,该应用程序未结束,需要首先检查应用程序对象的配置,请参见。
要对 OpenOffice 应用程序的问题进行故障排除,请参见。
要对 Windows 应用程序的问题进行故障排除,请参见。
要对 UNIX 桌面会话的问题进行故障排除,请参见。
4.9.5.1. 检查 "Session Termination"(会话终止)设置
在管理控制台中,转至应用程序对象的 "Launch"(启动)选项卡,并检查 "Session Termination"(会话终止)属性的值。
如果选择了 "No Visible Windows"(无可见窗口),则应用程序会话在无可见窗口时结束。
4.9.5.2. OpenOffice 应用程序不关闭
当关闭 OpenOffice 应用程序时,应用程序会话可能不会关闭。这是因为 OpenOffice 使用在其他 OpenOffice 组件启动时产生分支的单个进程。
在管理控制台中,转至应用程序对象的 "Launch"(启动)选项卡,并将 "Session Termination"(会话终止)属性设置为 "Last Client Exit"(最后一个客户端退出)。选中 "Keep Launch Connection Open"(使启动连接保持打开状态)复选框。
4.9.5.3. Windows 应用程序不关闭
当在 Microsoft Windows 远程桌面会话主机上运行应用程序时,关闭应用程序不总是意味着会话关闭。这是因为适用于 Windows 的 SGD 增强模块仍在运行。解决方法是配置 SGD 增强模块以忽略某些系统进程,以便其关闭。为此,请在应用服务器上的注册表中编辑 HKEY_LOCAL_MACHINE\Software\Sun Microsystems, Inc.\Enhancement Module for Windows 项的 System processes 值。该值是一个字符串,包含 SGD 增强模块可以忽略的 .exe 二进制文件的逗号分隔列表。必须通过列出会话无法关闭时正在运行的进程来修改此值。为此,请在具有无法关闭的会话时打开任务管理器,然后转至 "Processes"(进程)选项卡。列出正在运行的所有 .exe 进程。请勿包含以下进程:
clipsrv.exe
conime.exe
EventLog.exe
lmsvcs.exe
MsgSvc.exe
nddeagnt.exe
netdde.exe
NETSTRS.EXE
os2srv.exe
proquota.exe
rdpclip.exe
spoolss.exe
ttaswm.exe
userinit.exe
wfshell.exe
winlogon.exe
如果您正在运行单个应用程序会话,可能会发现即使在编辑 System processes 注册表设置后,会话仍然无法退出。要强制会话退出,请修改 HKEY_LOCAL_MACHINE\Software\Sun Microsystems, Inc.\Enhancement Module for Windows 项的 Logoff application sessions 设置,将 DWORD 值更改为 1。
4.9.5.4. 注销后 UNIX 桌面会话不关闭
配置为全屏桌面会话的 X 应用程序在使用桌面 "Start"(开始)菜单从应用程序注销时可能不会关闭。例如,从应用程序注销后桌面 applet 可能仍保持打开状态。必须使用应用程序窗口中的下拉式标题关闭应用程序。
解决方法是修改 X 应用程序对象的 "Application Command"(应用程序命令)(--app) 属性,以便在关闭应用程序时从主窗口删除 TTA_SESSION_STATE 属性。
下面的示例说明如何修改 Java 桌面系统桌面会话的 "Application Command"(应用程序命令)。
创建简单的 shell 脚本,如下所示:
#! /bin/sh
/usr/dt/config/Xsession.jds
/usr/openwin/bin/xprop -root -remove TTA_SESSION_STATE
将脚本保存到 SGD 服务器上的某个位置,例如 /usr/local/bin/launch.sh。
在管理控制台中,转至 X 应用程序对象的 "Launch"(启动)选项卡,并编辑 "Application Command"(应用程序命令)字段以使用该脚本的路径。
或者,也可以使用以下命令:
$ tarantella object edit --name objname --app "/usr/local/bin/launch.sh"
4.9.6. 用户可以使用不同的用户名和密码启动应用程序
默认情况下,用户可以通过按住 Shift 键的同时在 Webtop 上单击应用程序链接来强制 SGD 显示 "Application Authentication"(应用程序验证)对话框。这允许用户使用不同的用户名和密码启动应用程序。
可以禁用“按住 Shift 键的同时单击”这一行为。在管理控制台中,转至 "Global Settings"(全局设置)→ "Application Authentication"(应用程序验证)选项卡,取消选中 "On Shift-Click"(在按住 Shift 键的同时单击)复选框。或者,也可以使用以下命令:
$ tarantella config edit --launch-showauthdialog system
禁用“在按住 Shift 键的同时单击”这一行为意味着 "Application Authentication"(应用程序验证)对话框仅在密码存在问题或没有密码的情况下显示。
4.9.7. 使用 Windows 远程桌面服务时,提示用户输入用户名和密码的频率过于频繁
如果使用 Windows 远程桌面服务,SGD 或远程桌面会话主机可能会提示用户输入用户名和密码。
4.9.7.1. SGD 提示用户
如果 SGD 总是提示用户输入用户名和密码,则问题通常是由缺少域名导致的。如果在密码缓存中用户没有包含域名的条目,则会显示 "Application Authentication"(应用程序验证)对话框。
要解决此问题,在密码缓存中保存详细信息时,必须提供域名。即使应用服务器不是域的一部分,也必须这么做。
配置域名最简单的方法是使用应用服务器对象或应用程序对象的 "Domain Name"(域名)属性。用户也可以在 "Application Authentication"(应用程序验证)对话框中提供他们自己的域名。请参见。
4.9.7.2. 远程桌面会话主机提示用户
SGD 将用户名和密码信息发送给 Windows 远程桌面服务以验证用户。如果验证失败,Windows 会再次提示用户。不会向 SGD 返回信息以指示验证是成功还是失败,以及保留在 SGD 密码缓存中的详细信息是否正确。
用户可能在密码缓存中保存了错误的用户名、密码或域名。
要解决此问题,用户必须通过在按住 Shift 键的同时单击链接来启动应用程序。这样会显示 "Application Authentication"(应用程序验证)对话框,用户可以更正他们的用户名、密码和域名。或者,删除密码缓存中该用户的条目,以便 SGD 在下次用户启动应用程序时提示他们。
远程桌面会话主机还可以配置为始终在用户登录时提示输入密码。默认情况下,Microsoft Windows Server 2003 和更高版本不提示输入密码。请参见。
4.9.8. 避免 X 协议引擎的端口冲突
如果 SGD 尝试使用其他服务正在使用的 X 显示端口,则应用程序启动所花费的时间可能比预期长。应用程序启动最终会成功完成。
解决方法是排除端口,防止 X 协议引擎使用。
在管理控制台中,转至阵列中每个 SGD 服务器的 "Protocol Engines"(协议引擎)→ "X" 选项卡,在 "Command-Line Arguments"(命令行参数)字段中键入 -xport portnum,其中 portnum 是要排除的 TCP 端口号。
或者,也可以使用以下命令:
$ tarantella config edit --xpe-args "-xport portnum"
要排除多个端口,可以多次指定 -xport portnum,如下所示:
$ tarantella config edit \
--xpe-args "-xport portnum_1" "-xport portnum_2" "-xport portnum_3"
所做的更改仅对新的 X 协议引擎有效。现有的 X 协议引擎不受影响。
4.9.9. 使用投影对用户问题进行故障排除
如果某位用户在使用应用程序时遇到困难,您可以使用管理控制台找到该用户的应用程序会话,然后对它进行投影。投影允许用户和 SGD 管理员同时查看和使用应用程序。
要使用投影,SGD 管理员必须是 ttaserv 组的成员。
要查找用户的应用程序会话,请转至其用户配置文件对象的 "Application Sessions"(应用程序会话)选项卡。或者,转至应用程序对象的 "Application Sessions"(应用程序会话)选项卡。此选项卡列出了当前正在运行此应用程序的用户。
在 "Application Sessions List"(应用程序会话列表)表中选择应用程序会话。单击 "Shadow"(投影)按钮以开始投影。
用户将看到一个对话框,询问是否允许您投影该会话。如果用户同意,您的屏幕上将出现一个新窗口,其中显示正在运行的应用程序。此时您和用户都可以控制鼠标指针并使用该应用程序。
解决了用户的问题之后,关闭投影窗口,但是不要关闭应用程序。用户将看到一个对话框,指出当前没有人在投影该会话。
"Application Sessions"(应用程序会话)选项卡显示其他应用程序会话信息,例如启动会话的日期和时间,以及会话已暂停还是当前处于活动状态。
只能投影 Windows 应用程序和 X 应用程序。应用程序不能处于暂停状态。
如果用户具有使用共享资源的两个或多个应用程序的应用程序会话,则投影会话时,会显示共享资源的所有应用程序。投影窗口上的按钮栏允许您在应用程序之间切换。
还可以使用 tarantella emulatorsession shadow 命令从命令行投影用户的会话。
如果通过低带宽连接投影并且具有显示更新问题,请参见以获得如何解决此问题的详细信息。
4.9.10. Kiosk 应用程序未全屏显示
如果某个应用程序配置为在 kiosk 窗口中显示,在与原始显示屏具有不同尺寸的显示屏上恢复该应用程序时,应用程序不再完全适应屏幕。
最佳的解决方法是使用 RANDR 扩展自动处理会话大小调整。或者,可以配置 --scalable 属性以确保 SGD 缩放 kiosk 窗口以适应屏幕。
执行以下操作之一:
在管理控制台中,转至应用程序对象的 "Presentation"(表示)选项卡,并将 "Window Size"(窗口大小)设置为 "RandR Extension"(RandR 扩展)。
或者,也可以使用以下命令:
$ tarantella object edit --name obj --xrandr true
必须针对整个阵列启用 RANDR 扩展。请参见。
在管理控制台中,转至应用程序对象的 "Presentation"(表示)选项卡,并将 "Window Size"(窗口大小)设置为 "Scale to Fit Window"(缩放以适应窗口)。
或者,也可以使用以下命令:
$ tarantella object edit --name obj --scalable true
4.9.11. 应用程序动画看起来“时断时续”
更改应用程序对象的性能设置可以改善应用程序会话中动画效果的显示。
在管理控制台中,转至应用程序对象的 "Performance"(性能)选项卡,并将 "Command Execution"(命令执行)属性设置为 "In Order"(按顺序)。取消选中 "Delayed Updates"(延迟的更新)复选框。
或者,也可以使用以下命令:
$ tarantella object edit --name obj \
--execution inorder --delayed false
4.9.12. 对 UNIX 桌面会话禁用共享资源
SGD 允许相似的应用程序共享资源,以降低内存开销。但是,对于 UNIX 桌面会话,这可能导致在启动和使用应用程序时出现问题。
对于 UNIX 桌面会话(例如 Gnome 桌面或 Java 桌面系统桌面),最好对 X 应用程序对象禁用共享资源。
在管理控制台中,转至 X 应用程序对象的 "Performance"(性能)选项卡,并取消选中 "Share Resources Between Similar Sessions"(在类似的会话之间共享资源)复选框。
或者,也可以使用以下命令:
$ tarantella object edit --name obj --share false
4.9.13. Apple 键盘问题
使用 SGD 应用程序时,具有 Mac OS X 客户端设备的用户可能会遇到以下键盘问题:
Apple 键盘没有所需的键
按下 Apple 键盘上的键未生成预期的字符
按下 Apple 键盘上的键没有任何效果
这些问题的解决方法取决于应用程序的类型。
X 应用程序
默认情况下,SGD 自动尝试检测客户端键盘的键盘布局。但是,用户可以通过编辑其客户端配置文件来配置备用键盘布局,如下所示:
禁用 "Try to Match the Client Keyboard Layout"(尝试匹配客户端键盘布局)设置
选择适用于客户端键盘的 "Keyboard Layout"(键盘布局)设置
请注意,备用键盘布局并非适用于所有客户端键盘类型。
Windows 应用程序
由于客户端设备上的 Apple 键盘布局和应用服务器上配置的键盘布局之间的不兼容性,可能会出现问题。
例如,用户可能使用 Apple UK 键盘来访问要求使用 Microsoft UK 键盘按键的 Windows 应用程序。因为存在以下键盘布局差异,所以用户可能会遇到一些键盘问题:
以下 Apple 键在标准 Microsoft UK 键盘布局中不存在:
以下 Microsoft 键在标准 Apple UK 键盘布局中不存在:
这些缺少的键通常可以使用键组合生成。有关详细信息,请参见 Apple 文档。
其他字母数字键和功能键可能位于键盘上的不同位置,或者可能不能按预期方式工作。
如果需要有关 Apple 键盘问题的更多建议,请与 Oracle 支持部门联系。
4.9.14. X 应用程序的字体问题
如果用户遇到 X 应用程序的字体问题,请检查以下内容:
字体大小是否有误?
显示的字体是否有误?
Questions and Answers4.9.14.1:
字体大小是否有误?
在管理控制台中,转至 X 应用程序对象的 "Client Device"(客户端设备)选项卡,并检查 "Monitor Resolution"(监视器分辨率)属性的值。显示阵列中每台 SGD 服务器的 "Protocol Engines"(协议引擎)→ "X" 选项卡,并检查 "Monitor Resolution"(监视器分辨率)属性的值。
"Monitor Resolution"(监视器分辨率)属性用于指定监视器分辨率(单位为每英寸的点数),SGD 将该分辨率报告给需要该信息的 X 应用程序。某些 X 应用程序需要该值来确定要使用何种字体大小。
默认的解决方法可能会导致 X 应用程序选择的字体大小大于正常情况下应选择的字体大小。如果发生这种情况,请尝试通过指定较小的值(例如 75)来降低分辨率。
显示的字体是否有误?
在管理控制台中,转至阵列中每台 SGD 服务器的 "Protocol Engines"(协议引擎)→ "X" 选项卡,并检查 "Font Path"(字体路径)属性是否正确。
随 SGD 提供。还可以执行以下操作:
配置您自己的 X 字体。请参见。
使用字体别名映射到已安装的字体。请参见。
4.9.15. 高彩色 X 应用程序的显示问题
显示高彩色 X 应用程序时可能出现一些问题:
4.9.15.1. X 应用程序失败并显示颜色平面错误
如果 X 应用程序无法运行并退出,并显示诸如 "Cannot Allocate Enough Color Planes"(无法分配足够的颜色平面)之类的错误,则该应用程序可能仅显示 8 位颜色。检查应用程序的显示规范并调整应用程序对象的颜色深度。
在管理控制台中,转至应用程序对象的 "Presentation"(表示)选项卡,并将 "Color Depth"(颜色深度)设置为 "8-bit - 256 colors"(8 位 - 256 色)。
或者,也可以使用以下命令:
$ tarantella object edit --name obj --depth 8
4.9.15.2. 颜色看起来奇怪
如果 16 位或 24 位颜色应用程序的外观存在任何问题,请更改应用程序对象的颜色质量。
在管理控制台中,转至应用程序对象的 "Performance"(性能)选项卡,并将 "Color Quality"(颜色质量)设置为 16 位(对于 16 位应用程序)或 24 位(对于 24 位应用程序)。
或者,也可以使用以下命令:
$ tarantella object edit --name obj --quality 16 | 24
4.9.15.3. X 应用程序使用的带宽过多
如果带宽很紧张,请尝试降低应用程序对象的颜色质量。
在管理控制台中,转至 X 应用程序对象的 "Performance"(性能)选项卡,并将 "Color Quality"(颜色质量)设置为 9 位或 6 位。
或者,也可以使用以下命令:
$ tarantella object edit --name obj --quality 9 | 6
更改此配置并不一定能保证节省带宽。另外,可能会对应用程序的外观产生负面影响。
4.9.15.4. 8 位应用程序退出并显示伪彩色视觉元素错误
如果在 16 位或 24 位高彩色 X 应用程序会话中运行 8 位应用程序(例如从 CDE 桌面),您可能会发现应用程序将退出并显示诸如 "Cannot find a matching 8-bit PseudoColor visual" 之类的错误。
要解决此问题,请更改 X 应用程序的颜色深度,以便它支持多种颜色深度。
在管理控制台中,转至 X 应用程序对象的 "Presentation"(表示)选项卡,并将 "Color Depth"(颜色深度)设置为 "16/8-bit - Thousands of Colors"(16/8 位 - 数千种颜色)或 "24/8-bit - Millions of Colors"(24/8 位 - 数百万种颜色)。
如果 8 位应用程序要求主颜色深度为 8 位,请将 "Color Depth"(颜色深度)设置为 "8/16-bit - Thousands of Colors"(8/16 位 - 数千种颜色)或 "8/24-bit - Millions of Colors"(8/24 位 - 数百万种颜色)。
或者,也可以使用以下命令:
$ tarantella object edit --name obj --depth 16/8 | 24/8
使用这些设置会对内存和性能产生影响。
如果在更改颜色深度后应用程序仍然退出,则解决方法是为应用程序创建单独的 X 应用程序对象,并将颜色深度设置为 8 位。
4.9.16. 客户端窗口管理应用程序的窗口遭到剪裁
如果用户在使用配置为使用客户端窗口管理的 X 应用程序时看到剪裁的窗口,则意味着用户显示屏的分辨率比预期分辨率高。
解决方法是增大 X 协议引擎的显示分辨率。
在管理控制台中,转至阵列中每台 SGD 服务器的 "Protocol Engines"(协议引擎)→ "X" 选项卡,并更改 "Client Window Size"(客户端窗口大小)设置。在 "Maximum Height"(最大高度)和 "Maximum Width"(最大宽度)字段中,键入希望支持的最高显示分辨率。
增大 "Maximum Width"(最大宽度)和 "Maximum Height"(最大高度)属性会提高客户端设备和 SGD 服务器上客户端窗口管理应用程序的内存要求。
或者,也可以使用以下命令:
$ tarantella config edit --array \
--xpe-cwm-maxwidth pixels \
--xpe-cwm-maxheight pixels
4.9.17. 输入方法编辑器和客户端窗口管理应用程序
如果在 "Display Type"(显示类型)配置为 "Client Window Management"(客户端窗口管理)的桌面会话中使用输入方法编辑器 (Input Method Editor, IME),并在较小的监视器中恢复会话,则可能无法使用 IME。
解决方法是对桌面会话启用 RANDR 扩展。当切换到较小的监视器时,将自动通知 IME 窗口进行会话大小调整。
要对应用程序对象启用 RANDR,请转至管理控制台中的 "Presentation"(表示)选项卡,并选中 "Window Size: RandR Extension"(窗口大小: RandR 扩展)复选框。
或者,也可以使用以下命令:
$ tarantella object edit --name obj --xrandr 1注意
必须针对阵列在全局范围内启用 RANDR。请参见。
4.9.18. 通过低宽带连接投影时遇到显示更新问题
当投影通过低宽带连接到 SGD 的用户时可能遇到显示更新问题。
解决方法是增大 X 协议引擎的队列长度并优化命令执行,如下所示:
在管理控制台中,转至阵列中每台 SGD 服务器的 "Protocol Engines"(协议引擎)→ "X" 选项卡,在 "Command-Line Arguments"(命令行参数)字段中键入 -mql 8192。
或者,也可以使用以下命令:
$ tarantella config edit --xpe-args "-mql 8192"
所做的更改仅对新的 X 协议引擎有效。现有的 X 协议引擎不受影响。
在管理控制台中,转至投影应用程序的 "Performance"(性能)选项卡,并将 "Command Execution"(命令执行)属性设置为 "Optimized"(已优化)。
或者,也可以使用以下命令:
$ tarantella config edit --name obj --execution optimized
所做的更改在下次启动投影的应用程序时生效。
4.9.19. 鼠标拖动延迟问题的故障排除
鼠标拖动延迟问题可能会在用户使用绘图应用程序时导致不良用户体验。
解决方法是降低 SGD 客户端的鼠标拖动延迟设置。在用户客户端配置文件的 &localsettings& 部分中添加新的 &mousethrottledelaywithbutton& 条目。如果客户端配置文件中没有 &localsettings& 部分,则创建一个新的部分。
例如,要将鼠标拖动延迟设置为 10 毫秒,请键入以下内容:
&localsettings&
&mousethrottledelaywithbutton&10&/mousethrottledelaywithbutton&
&localsettings&
鼠标拖动延迟的默认值为 100 毫秒。
对客户端配置文件的更改仅对新用户会话生效。
4.9.20. Windows 应用程序中显示的时区名称有误
如果在 Windows 应用服务器上启用了时区重定向,Windows 应用程序中显示的时区名称有时可能有误。在 UNIX 平台客户端设备上显示 Windows 应用程序时会遇到该问题。
解决方法是手动将客户端设备上的 $TZ 时区环境变量设置为与用户位置相对应的正确值。可使用 tzselect 命令列出某个地理位置的可能时区值。
有关对 Windows 应用服务器使用时区重定向的更多详细信息,请参见。
4.9.21. CAL 问题故障排除
当运行 Windows 应用程序时,用户可能会遇到客户端访问许可证 (Client Access License, CAL) 问题。本节包含可帮助您诊断和解决 CAL(Client Access License,客户端访问许可证)使用问题的一些故障排除主题。
4.9.21.1. CAL 的日志记录
如果 SGD 客户端使用 CAL(Client Access License,客户端访问许可证),则系统会将消息写入 SGD 客户端日志文件。查看此日志文件可了解有关以下几个方面的消息:
许可证存储库的位置
许可证存储库的访问问题
无效许可证错误
Sun Ray 数据存储库错误
有关默认 SGD 客户端日志文件位置的信息,请参见。
4.9.21.2. 使用共享许可证位置
如果多个用户共享客户端设备,CAL(Client Access License,客户端访问许可证)应该存储在共享位置以避免使用过多的许可证。
为了获得最佳效果,应该在系统范围内的位置手动安装 SGD 客户端,如中所述。这样可确保 CAL(Client Access License,客户端访问许可证)存储在中列出的默认许可证位置之一。默认许可证位置可由所有用户写入。
对于 Linux、Oracle Solaris 和 Mac OS X 平台,可以使用客户端配置文件的 &localsettings& 部分中的 &calstorepath& 条目覆盖默认许可证位置。这方面的内容在中有相关介绍。
4.9.21.3. Sun Ray 客户端的要求
为了获得许可证,SGD 客户端必须具有访问 Sun Ray 数据存储库所需的权限。对于 SGD 客户端二进制文件,必须满足以下条件:
该文件必须属于 Windows 连接器组 (utwc)
必须设置文件的 setgid 位
如果在系统范围内的位置安装 SGD 客户端,系统将自动为 SGD 客户端配置所需的权限。请参见。
访问 Sun Ray 数据存储库时出现的错误记录在 SGD 客户端日志文件中。请参见。
4.9.22. 代理程序问题故障排除
本节包含对用于动态启动的代理程序问题进行故障排除的一些主题。
4.9.22.1. 选择器页中的应用服务器列表非常长
有时,在启动应用程序时,您可能会在选择器页中看到大量的应用服务器,这样选择所需的应用服务器就会非常困难。
用户定义的 SGD 代理程序包含 "Virtual Server Broker Parameters"(虚拟服务器代理程序参数)(--vsbparams) 属性的参数,这些属性可用于配置应用服务器列表以及限制用户仅指定 SGD 配置的应用服务器。
在管理控制台中,转至动态应用服务器对象的 "General"(常规)选项卡,并按如下方式配置 "Virtual Server Broker Parameters"(虚拟服务器代理程序参数)字段的选项:
隐藏选择器页中的应用服务器列表。
hideAppservers
请注意,用户仍然可以通过在选择器页的文本字段中输入主机名来指定应用服务器。
检查用户指定的应用服务器是否存在于本地系统信息库中。
checkAppserver
如果用户指定的应用服务器在本地系统信息库中不存在,则显示错误消息。
checkAppserver 参数可以用于防止用户指定本地系统信息库中尚未配置的应用服务器。
当启用 checkAppserver 参数时,用户必须在选择器页中输入应用服务器对象的通用名称。
隐藏应用服务器列表并检查用户指定的应用服务器是否存在于本地系统信息库中。
hideAppservers,checkAppserver4.9.22.2. 更改 VDI 代理程序的日志记录级别
VDI 代理程序使用 java.util.logging 软件包。由于代理程序在 Tomcat JSP 容器中运行,因此可以通过编辑 SGD 服务器上的以下文件来配置日志记录:
/opt/tarantella/webserver/tomcat/tomcat-version/conf/logging.properties
默认情况下,日志输出写入到以下文件:
/opt/tarantella/webserver/tomcat/tomcat-version/logs/vdibroker.date.log
要更改 VDI 代理程序的日志记录级别,请编辑 logging.properties 文件中的以下条目:
com.oracle.sgd.vsbim.level=&LOG_LEVEL&
1vdibroker.org.apache.juli.FileHandler.level=&LOG_LEVEL&
其中 &LOG_LEVEL& 是所需的日志记录级别。
进行更改后,请重新启动 SGD 服务器。
# tarantella restart
有关配置日志记录级别的更多详细信息,请参见。
4.9.22.3. Oracle VDI 证书问题故障排除
使用 VDI 代理程序集成 Oracle VDI 安装时可能会遇到以下证书问题:
VDI 证书未在 SGD 服务器上正确导入。请参见。
VDI 证书未使用完全限定的名称。请参见。
4.9.22.3.1. VDI 证书未正确导入
如果 VDI 证书未在 SGD 服务器上正确导入,则会拒绝与 VDI 服务器建立连接,并显示诸如以下内容的错误消息。
javax.net.ssl.SSLHandshakeException:
sun.security.validator.ValidatorException: PKIX path building failed:
sun.security.provider.certpath.SunCertPathBuilderException:
unable to find valid certification path to requested target
检查以下问题:
证书尚未导入。默认情况下,VDI Web 服务使用自签名证书。要让 SGD 服务器信任自签名证书,必须将证书导入 SGD 服务器的信任库。
导入了错误的证书。Oracle VDI 为不同的组件创建了大量自签名证书。VDI 代理程序使用 Web 服务证书。
4.9.22.3.2. VDI 证书未使用完全限定的域名
VDI 证书可能未对证书的通用名 (Common Name, CN) 属性使用完全限定的域名。如果为 preferredhosts 或 failoverhosts 参数配置了完全限定的 VDI 主机 URL,则可能会拒绝建立连接。这是因为证书的通用名与尝试连接的主机名不匹配。
可能会显示诸如以下内容的错误消息。
java.security.cert.CertificateException: No name matching example. found
java.io.IOException: HTTPS hostname wrong: should be &example.&
解决方法是确保为 preferredhosts 和 failoverhosts 输入的主机名与对应 Web 服务证书的通用名 (Common Name, CN) 相匹配。
更好的解决方法是确保 VDI 证书使用完全限定的域名,并由受信任的证书颁发机构 (Certificate Authority, CA) 签名。
版权所有 (C) 2012,Oracle 和/或其附属公司。保留所有权利。}

我要回帖

更多关于 oracle 定时任务 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信