在Ubuntu上装个plsql通过远程桌面访问oracle
source link: https://bajie.dev/posts/20240118-plsql_linux/
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
在Ubuntu上装个plsql通过远程桌面访问oracle
这真是个无比古怪的审计需求,需要让一些同事能访问oracle,但是不允许他们通过剪切板拷贝数据。
这只能是kvm+Ubuntu+xrdp+wine+plsql来实现了(CentOS应该也没问题)
首先准备ubuntu的iso,选精简的server版,桌面手动装:
wget http://mirrors.163.com/ubuntu-releases/12.04/ubuntu-12.04.5-server-i386.iso
生成kvm虚机磁盘:
qemu-img create -f qcow2 /home/kvm/ubuntu.qcow2 20G
安装kvm虚机:
virt-install \
--name=ubuntu \
--vcpu=1 \
--ram=2048 \
--disk path=/home/kvm/ubuntu.qcow2,format=qcow2,size=20 \
--cdrom=/home/kvm/ubuntu-12.04.5-server-i386.iso \
--os-type=linux \
--network bridge=br0 \
--vnc --vnclisten=0.0.0.0 --vncport=5901
这时候就要连到实机的vnc 5901端口,开始安装。反正是只要用plsql的,所以缺省都可。记住要装上sshd server,便于远程管理。
装ubuntu时会提示生成一个非root用户,就叫plsql好了。
安装不表,安装好了以后因为装了sshd,所以就可以ssh远程操作了。
安装wine:
sudo apt-get install software-properties-common
sudo add-apt-repository ppa:ubuntu-wine/ppa
sudo apt-get update
sudo apt-get install wine
安装xrdp和gnome-shell以及输入法:
sudo apt-get install xrdp
sudo apt-get install gnome-shell
sudo apt-get install ibus
sudo apt-get install fcitx-table-wbpy
设置xrdp由gnome-session控制:
#vi /etc/xrdp/startwm.sh
...
#加一行,用gnome-session控制
echo "gnome-session --session=gnome-classic" > .xsession
. /etc/X11/Xsession
...
设置xrdp的登录,去掉其它不需要的登录方式,只留一种并改名:
# vi /etc/xrdp/xrdp.ini
[globals]
bitmap_cache=yes
bitmap_compression=yes
port=3389
crypt_level=low
channel_code=1
[xrdp1]
name=plsql server
lib=libvnc.so
username=ask
password=ask
ip=127.0.0.1
port=-1
ok, 先运行一下wine,生成目录结构以及注册表文件
wine regedit
在ssh终端运行以上的命令会退出,不要紧,退出时其实目录结构和注册表文件已经生成好了。
我们编辑一下注册表,改动一下PATH并且添加2个环境变量:
vi ~/.wine/system.reg
...
[System\\CurrentControlSet\\Control\\Session Manager\\Environment] 1464861672
"ComSpec"=str(2):"C:\\windows\\system32\\cmd.exe"
"NUMBER_OF_PROCESSORS"="1"
"ORACLE_HOME"="c:\\oracle"
"OS"="Windows_NT"
"PATH"=str(2):"c:\\oracle\\bin;C:\\windows\\system32;C:\\windows;C:\\windows\\system32\\wbem"
"PATHEXT"=".COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH"
"PROCESSOR_ARCHITECTURE"="x86"
"PROCESSOR_IDENTIFIER"="x86 Family 6 Model 13 Stepping 3, GenuineIntel"
"PROCESSOR_LEVEL"="6"
"PROCESSOR_REVISION"="0d03"
"SystemDrive"="c:"
"SYSTEMROOT"="C:\\windows"
"TEMP"=str(2):"C:\\windows\\temp"
"TMP"=str(2):"C:\\windows\\temp"
"TNS_ADMIN"="c:\\oracle\\network\\admin"
"windir"=str(2):"C:\\windows"
"winsysdir"="C:\\windows\\system32"
...
注意上面,我们添加了两行TNSADMIN
和ORACLE_HOME
,并修改了PATH
,总共三个地方。
我们再下载oracle的客户端,basic的即可,并解压到指定地方:
mkdir -p ~/.wine/drive_c/oracle/network/admin
wget http://eservice.yru.ac.th/d/instantclient-basic-nt-11.2.0.4.0.zip -o /tmp/instantclient-basic-nt-11.2.0.4.0.zip
cd ~/.wine/drive_c/oracle
unzip -x /tmp/instantclient-basic-nt-11.2.0.4.0.zip
mv instantclient_11_2 bin
ok,大环境就准备好了。
下载plsql
mkdir ~/Desktop
#下好plsqldev904.exe
mv plsqldev904.exe ~/Desktop
wget http://www.rendoumi.com/soft/plsql.icon -o /etc/plsq.icon
然后用远程桌面登录这台机器
直接会看到桌面上有个exe
双击执行,就开始安装了
然后I Agree,都按缺省的安装即可
装完后,就直接把这个plsql.exe删除即可
然后生成个桌面快捷方式:
# vi ~/Desktop/PLSQL\ Developer.desktop
[Desktop Entry]
Name=PLSQL Developer
Exec=wine "/home/plsql/.wine/dosdevices/c:/Program Files/PLSQL Developer/plsqldev.exe"
Path=/home/plsql/.wine/dosdevices/c:/Program Files/PLSQL Developer
Icon=/etc/plsql.icon
Type=Application
Categories=Wine;
这时候回到远程桌面,已经可以看到桌面上多了个白色的东西:
右键点击,打开Properties:
把Allow executing file as program给勾住,图表也显示出来了
ok,弄好了,最后运行即可,是可以输入汉字的:
最后补充一下,tnsnames.ora是放在下面这个目录下的:
~/.wine/drive_c/oracle/network/admin
Recommend
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK