SecureCRT 连接oracle数据库xServer图形界面服务

1、oracle用户登录到linux图形界面中

2、启动SecureCRT,进入Options->Session Options->Remote/X11 选中Forword X11 Packets ->OK

    进入Options->Save Settings Now 之后重启SecureCRT

3、启用SecureCRT打开一个终端界面以root用户登录(即终端登录时就是root用户)执行命令:env 查看环境如下所示

[root@rhel ~]# env
HOSTNAME=rhel
TERM=vt100
SHELL=/bin/bash
HISTSIZE=1000
SSH_CLIENT=192.168.1.104 3363 22
SSH_TTY=/dev/pts/1
USER=root
LS_COLORS=no=00:fi=00:di=01;34:ln=01;36:pi=40;33:so=01;35:bd=40;33;01:cd=40;33;01:or=01;05;37;41:mi=01;05;37;41:ex=01;32:*.cmd=01;32:*.exe=01;32:*.com=01;32:*.btm=01;32:*.bat=01;32:*.sh=01;32:*.csh=01;32:*.tar=01;31:*.tgz=01;31:*.arj=01;31:*.taz=01;31:*.lzh=01;31:*.zip=01;31:*.z=01;31:*.Z=01;31:*.gz=01;31:*.bz2=01;31:*.bz=01;31:*.tz=01;31:*.rpm=01;31:*.cpio=01;31:*.jpg=01;35:*.gif=01;35:*.bmp=01;35:*.xbm=01;35:*.xpm=01;35:*.png=01;35:*.tif=01;35:
MAIL=/var/spool/mail/root
PATH=/usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin
INPUTRC=/etc/inputrc
PWD=/root
LANG=en_US.UTF-8
SSH_ASKPASS=/usr/libexec/openssh/gnome-ssh-askpass
SHLVL=1
HOME=/root
LOGNAME=root
CVS_RSH=ssh
SSH_CONNECTION=192.168.1.104 3363 192.168.1.111 22
LESSOPEN=|/usr/bin/lesspipe.sh %s
DISPLAY=localhost:10.0(如果SecureCRT没有选中Forword X11 Packets则不会出现这个环境变量)
G_BROKEN_FILENAMES=1
_=/bin/env

[root@rhel ~]# export DISPLAY=localhost:0.0
[root@rhel ~]# env
HOSTNAME=rhel
TERM=vt100
SHELL=/bin/bash
HISTSIZE=1000
SSH_CLIENT=192.168.1.104 3363 22
SSH_TTY=/dev/pts/1
USER=root
LS_COLORS=no=00:fi=00:di=01;34:ln=01;36:pi=40;33:so=01;35:bd=40;33;01:cd=40;33;01:or=01;05;37;41:mi=01;05;37;41:ex=01;32:*.cmd=01;32:*.exe=01;32:*.com=01;32:*.btm=01;32:*.bat=01;32:*.sh=01;32:*.csh=01;32:*.tar=01;31:*.tgz=01;31:*.arj=01;31:*.taz=01;31:*.lzh=01;31:*.zip=01;31:*.z=01;31:*.Z=01;31:*.gz=01;31:*.bz2=01;31:*.bz=01;31:*.tz=01;31:*.rpm=01;31:*.cpio=01;31:*.jpg=01;35:*.gif=01;35:*.bmp=01;35:*.xbm=01;35:*.xpm=01;35:*.png=01;35:*.tif=01;35:
MAIL=/var/spool/mail/root
PATH=/usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin
INPUTRC=/etc/inputrc
PWD=/root
LANG=en_US.UTF-8
SSH_ASKPASS=/usr/libexec/openssh/gnome-ssh-askpass
SHLVL=1
HOME=/root
LOGNAME=root
CVS_RSH=ssh
SSH_CONNECTION=192.168.1.104 3363 192.168.1.111 22
LESSOPEN=|/usr/bin/lesspipe.sh %s
DISPLAY=localhost:0.0
G_BROKEN_FILENAMES=1
_=/bin/env

在这之后使用SecureCRT打开另一终端同样以root用户登录,执行命令如下:

[root@rhel ~]# xhost +  (xhost +ip/hostname ---主要是让本机终端能够访问x server图形界面服务)
access control disabled, clients can connect from any host
[root@rhel ~]# xhost +localhost
localhost being added to access control list

在这时一共打开了两个终端,回到第一个终端执行命令如下:

[root@rhel ~]# su - oracle

[oracle@rhel ~]$ dbca
Exception in thread "main" [oracle@rhel ~]$ export DISPLAY=192.168.1.104:0.0

[oracle@rhel ~]$ dbca

出现dbca图形界面(这和我同时安装了Xmanager有关系,因为在调用dbca图形界面时,SecureCRT自动调用了Xmanager-Passive程序,如果在此时这个程序没有启动则抛出异常如:Exception in thread "main" [oracle@rhel ~]$ 此时查看dbca异常信息如下:

[root@rhel dbca]# cat trace.log
java.lang.InternalError: Can't connect to X11 window server using '192.168.1.104:0.0' as the value of the DISPLAY variable.
at sun.awt.X11GraphicsEnvironment.initDisplay(Native Method)
at sun.awt.X11GraphicsEnvironment.<clinit>(X11GraphicsEnvironment.java:134)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:141)
at java.awt.GraphicsEnvironment.getLocalGraphicsEnvironment(GraphicsEnvironment.java:62)
at java.awt.Font.initializeFont(Font.java:308)
at java.awt.Font.<init>(Font.java:344)
at oracle.ewt.lwAWT.LWComponent.<clinit>(Unknown Source)
at oracle.sysman.assistants.util.wizard.WizardObject.<init>(WizardObject.java:64)
at oracle.sysman.assistants.dbca.ui.DBCAWizard.<init>(DBCAWizard.java:425)
at oracle.sysman.assistants.dbca.ui.UIHost.<init>(UIHost.java:214)
at oracle.sysman.assistants.dbca.ui.InteractiveHost.<init>(InteractiveHost.java:54)
at oracle.sysman.assistants.dbca.Dbca.getHost(Dbca.java:160)
at oracle.sysman.assistants.dbca.Dbca.execute(Dbca.java:94)
at oracle.sysman.assistants.dbca.Dbca.main(Dbca.java:180)

4、备注:xhost命令只需配置一次即可,反复配置会抛出异常,像服务器没有启动或X connection to localhost:11.0 broken (explicit kill or server shutdown)啊之类的问题,在重启linux之后,可以再次按照以上步骤进行配置,否则只需在一个终端上配置DISPLAY变量即可,只要此变量配置正确,并且Xmanager-Passive程序启动,就可以正确的调用dbca或其他图形界面。0.0解释:第一个0是第几个终端,第二个是第几个显示器。也可以直接使用Xmanager工具。

5、总结:

From one xterm run "su oracle-user" then run "export DISPLAY=localhost:0.0"
From another xterm run: "xhost +" and then from the first xterm run the installer.

 

posted @ 2012-06-15 09:17  totozlj  阅读(10811)  评论(0编辑  收藏  举报