设为首页 收藏本站
查看: 1044|回复: 0

[经验分享] 制作安装包之抽取oracle客户端的一种方法

[复制链接]

尚未签到

发表于 2016-8-6 10:12:36 | 显示全部楼层 |阅读模式
从oracle 10g开始,oracle官方提供了一个精简的client,叫oracle instant client,只有几十M,免安装,可供分发。其下载地址:

http://www.oracle.com/technology/software/tech/oci/instantclient/index.html

至于如何配置、使用等,本文不予介绍。如果能够使用此client打包程序成功的,也可以不必看此文。网上有网友说,这个client比起普通的client,还存在很多bug,但我没有证实过。我之所以需要手工抽取,是因为,它不包括oracle oledb,而我的程序需要它。

下面介绍我此次抽取客户端的经历,以及从中总结出的一种通用的抽取方法。

首先,参照了三篇网文《Oracle10g Client的手工分发》(http://www.cnblogs.com/pilybird/archive/2006/10/24/538338.html),《Oracle OLEDB 的手工分发》(http://www.cnblogs.com/pilybird/archive/2006/10/26/540943.html),《Oracle学习笔记:手工注册oracle的oledb驱动》(http://www.cnblogs.com/jinzhenshui/archive/2009/01/08/1371634.html),我抽取了必须的文件,具体的抽取过程,可以参照下列dos脚本(需要修改定义的变量):

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

@ECHO    从Oracle 10g Client中提取精简客户端

REM 定义变量
set ORACLE_CLIENT_HOME=E:\client_1
set DEST_ORA_CLIENT_DIR=E:\ora10g_client

REM sqlplus目录
mkdir %DEST_ORA_CLIENT_DIR%\sqlplus
mkdir %DEST_ORA_CLIENT_DIR%\sqlplus\mesg
copy %ORACLE_CLIENT_HOME%\sqlplus\mesg\*.* %DEST_ORA_CLIENT_DIR%\sqlplus\mesg

REM oracore目录
mkdir %DEST_ORA_CLIENT_DIR%\oracore
mkdir %DEST_ORA_CLIENT_DIR%\oracore\zoneinfo
copy %ORACLE_CLIENT_HOME%\oracore\zoneinfo\*.* %DEST_ORA_CLIENT_DIR%\oracore\zoneinfo
mkdir %DEST_ORA_CLIENT_DIR%\oracore\mesg
copy %ORACLE_CLIENT_HOME%\oracore\mesg\*.* %DEST_ORA_CLIENT_DIR%\oracore\mesg

REM Network目录
mkdir %DEST_ORA_CLIENT_DIR%\Network
mkdir %DEST_ORA_CLIENT_DIR%\Network\Admin
copy %ORACLE_CLIENT_HOME%\Network\Admin\sqlnet.ora %DEST_ORA_CLIENT_DIR%\Network\Admin\
copy %ORACLE_CLIENT_HOME%\Network\Admin\tnsnames.ora %DEST_ORA_CLIENT_DIR%\Network\Admin\
mkdir %DEST_ORA_CLIENT_DIR%\Network\mesg
copy %ORACLE_CLIENT_HOME%\Network\mesg\*.* %DEST_ORA_CLIENT_DIR%\Network\mesg\

REM Bin目录
mkdir %DEST_ORA_CLIENT_DIR%\Bin
copy %ORACLE_CLIENT_HOME%\bin\oci.dll %DEST_ORA_CLIENT_DIR%\Bin
copy %ORACLE_CLIENT_HOME%\bin\oracle.key %DEST_ORA_CLIENT_DIR%\Bin
copy %ORACLE_CLIENT_HOME%\bin\oraclient10.dll %DEST_ORA_CLIENT_DIR%\Bin
copy %ORACLE_CLIENT_HOME%\bin\oracommon10.dll %DEST_ORA_CLIENT_DIR%\Bin
copy %ORACLE_CLIENT_HOME%\bin\ORACORE10.DLL %DEST_ORA_CLIENT_DIR%\Bin
copy %ORACLE_CLIENT_HOME%\bin\orageneric10.dll %DEST_ORA_CLIENT_DIR%\Bin
copy %ORACLE_CLIENT_HOME%\bin\orahasgen10.dll %DEST_ORA_CLIENT_DIR%\Bin
copy %ORACLE_CLIENT_HOME%\bin\oraldapclnt10.dll %DEST_ORA_CLIENT_DIR%\Bin
copy %ORACLE_CLIENT_HOME%\bin\oran10.dll %DEST_ORA_CLIENT_DIR%\Bin
copy %ORACLE_CLIENT_HOME%\bin\ORANCDS10.DLL %DEST_ORA_CLIENT_DIR%\Bin
copy %ORACLE_CLIENT_HOME%\bin\orancrypt10.dll %DEST_ORA_CLIENT_DIR%\Bin
copy %ORACLE_CLIENT_HOME%\bin\oranhost10.dll %DEST_ORA_CLIENT_DIR%\Bin
copy %ORACLE_CLIENT_HOME%\bin\oranl10.dll %DEST_ORA_CLIENT_DIR%\Bin
copy %ORACLE_CLIENT_HOME%\bin\oranldap10.dll %DEST_ORA_CLIENT_DIR%\Bin
copy %ORACLE_CLIENT_HOME%\bin\ORANLS10.DLL %DEST_ORA_CLIENT_DIR%\Bin
copy %ORACLE_CLIENT_HOME%\bin\orannzsbb10.dll %DEST_ORA_CLIENT_DIR%\Bin
copy %ORACLE_CLIENT_HOME%\bin\oranro10.dll %DEST_ORA_CLIENT_DIR%\Bin
copy %ORACLE_CLIENT_HOME%\bin\orantcp10.dll %DEST_ORA_CLIENT_DIR%\Bin
copy %ORACLE_CLIENT_HOME%\bin\orantns10.dll %DEST_ORA_CLIENT_DIR%\Bin
copy %ORACLE_CLIENT_HOME%\bin\oraocr10.dll %DEST_ORA_CLIENT_DIR%\Bin
copy %ORACLE_CLIENT_HOME%\bin\oraocrb10.dll %DEST_ORA_CLIENT_DIR%\Bin
copy %ORACLE_CLIENT_HOME%\bin\ORAPLP10.DLL %DEST_ORA_CLIENT_DIR%\Bin
copy %ORACLE_CLIENT_HOME%\bin\ORAPLS10.DLL %DEST_ORA_CLIENT_DIR%\Bin
copy %ORACLE_CLIENT_HOME%\bin\ORASLAX10.DLL %DEST_ORA_CLIENT_DIR%\Bin
copy %ORACLE_CLIENT_HOME%\bin\ORASNLS10.DLL %DEST_ORA_CLIENT_DIR%\Bin
copy %ORACLE_CLIENT_HOME%\bin\ORASQL10.DLL %DEST_ORA_CLIENT_DIR%\Bin
copy %ORACLE_CLIENT_HOME%\bin\ORAUNLS10.DLL %DEST_ORA_CLIENT_DIR%\Bin
copy %ORACLE_CLIENT_HOME%\bin\orauts.dll %DEST_ORA_CLIENT_DIR%\Bin
copy %ORACLE_CLIENT_HOME%\bin\oravsn10.dll %DEST_ORA_CLIENT_DIR%\Bin
copy %ORACLE_CLIENT_HOME%\bin\ORAXML10.DLL %DEST_ORA_CLIENT_DIR%\Bin
copy %ORACLE_CLIENT_HOME%\bin\sqlplus.exe  %DEST_ORA_CLIENT_DIR%\Bin
copy %ORACLE_CLIENT_HOME%\bin\sqlplusw.exe  %DEST_ORA_CLIENT_DIR%\Bin

REM 针对oracle oledb
copy %ORACLE_CLIENT_HOME%\bin\oip10.dll  %DEST_ORA_CLIENT_DIR%\Bin
copy %ORACLE_CLIENT_HOME%\bin\oip10.tlb  %DEST_ORA_CLIENT_DIR%\Bin
copy %ORACLE_CLIENT_HOME%\bin\oradc.ocx  %DEST_ORA_CLIENT_DIR%\Bin
copy %ORACLE_CLIENT_HOME%\bin\OraOLEDB10.dll  %DEST_ORA_CLIENT_DIR%\Bin
copy %ORACLE_CLIENT_HOME%\bin\OraOLEDB10.tlb  %DEST_ORA_CLIENT_DIR%\Bin
copy %ORACLE_CLIENT_HOME%\bin\OraOLEDB10us.dll  %DEST_ORA_CLIENT_DIR%\Bin
copy %ORACLE_CLIENT_HOME%\bin\OraOLEDB10zhs.dll  %DEST_ORA_CLIENT_DIR%\Bin
copy %ORACLE_CLIENT_HOME%\bin\OraOLEDBgmr10.dll  %DEST_ORA_CLIENT_DIR%\Bin
copy %ORACLE_CLIENT_HOME%\bin\OraOLEDBpus10.dll  %DEST_ORA_CLIENT_DIR%\Bin
copy %ORACLE_CLIENT_HOME%\bin\OraOLEDBrfc10.dll  %DEST_ORA_CLIENT_DIR%\Bin
copy %ORACLE_CLIENT_HOME%\bin\OraOLEDBrmc10.dll  %DEST_ORA_CLIENT_DIR%\Bin
copy %ORACLE_CLIENT_HOME%\bin\OraOLEDBrst10.dll  %DEST_ORA_CLIENT_DIR%\Bin
copy %ORACLE_CLIENT_HOME%\bin\OraOLEDButl10.dll  %DEST_ORA_CLIENT_DIR%\Bin

REM Nls目录
mkdir %DEST_ORA_CLIENT_DIR%\Nls
mkdir %DEST_ORA_CLIENT_DIR%\Nls\data
copy %ORACLE_CLIENT_HOME%\Nls\data\lx00001.nlb %DEST_ORA_CLIENT_DIR%\Nls\data
copy %ORACLE_CLIENT_HOME%\Nls\data\lx00023.nlb %DEST_ORA_CLIENT_DIR%\Nls\data
copy %ORACLE_CLIENT_HOME%\Nls\data\lx10001.nlb %DEST_ORA_CLIENT_DIR%\Nls\data
copy %ORACLE_CLIENT_HOME%\Nls\data\lx10035.nlb %DEST_ORA_CLIENT_DIR%\Nls\data
copy %ORACLE_CLIENT_HOME%\Nls\data\lx1boot.nlb %DEST_ORA_CLIENT_DIR%\Nls\data
copy %ORACLE_CLIENT_HOME%\Nls\data\lx20001.nlb %DEST_ORA_CLIENT_DIR%\Nls\data
copy %ORACLE_CLIENT_HOME%\Nls\data\lx20354.nlb %DEST_ORA_CLIENT_DIR%\Nls\data
copy %ORACLE_CLIENT_HOME%\Nls\data\lx207d0.nlb %DEST_ORA_CLIENT_DIR%\Nls\data
copy %ORACLE_CLIENT_HOME%\Nls\data\lx40001.nlb %DEST_ORA_CLIENT_DIR%\Nls\data
copy %ORACLE_CLIENT_HOME%\Nls\data\lx20367.nlb %DEST_ORA_CLIENT_DIR%\Nls\data

REM 针对oracle oledb
copy %ORACLE_CLIENT_HOME%\Nls\data\lx2001f.nlb %DEST_ORA_CLIENT_DIR%\Nls\data
copy %ORACLE_CLIENT_HOME%\Nls\data\lx40002.nlb %DEST_ORA_CLIENT_DIR%\Nls\data

mkdir %DEST_ORA_CLIENT_DIR%\Nls\mesg
copy %ORACLE_CLIENT_HOME%\Nls\mesg\*.* %DEST_ORA_CLIENT_DIR%\Nls\mesg

@pause 按任意键退出……

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

抽取文件成功后,按照上面网文说的,导入相应的注册表,修改相应的环境变量,打包应用程序,安装后,运行还是不成功。试了几次,不成功后,后来想,是不是注册表有问题,于是想到了注册表监测软件Regmon。

接下来,在一台干净的机器(没有安装过oracle),安装oralce的普通client,选择上oracle oledb组件,使用Regmon监测安装过程。

安装成功后,采用Log parser2.2分析其监测日志,过滤出其中对注册表“CreateKey”的操作记录,仔细分析,可以找到下列键记录,从安装普通client的机器上导出这些键的注册表.reg文件。

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

HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE

HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\KEY_OraClient10g_home1

HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\KEY_OraClient10g_home1\OLEDB

HKEY_CLASSES_ROOT\OraOLEDB.Oracle.1

HKEY_CLASSES_ROOT\OraOLEDB.Oracle

HKEY_CLASSES_ROOT\CLSID\{3F63C36E-51A3-11D2-BB7D-00C04FA30080}

HKEY_CLASSES_ROOT\OraOLEDB.ErrorLookup.1

HKEY_CLASSES_ROOT\OraOLEDB.ErrorLookup

HKEY_CLASSES_ROOT\CLSID\{3FC8E6E4-53FF-11D2-BB7D-00C04FA30080}

HKEY_CLASSES_ROOT\TypeLib\{0BB9AFD1-51A1-11D2-BB7D-00C04FA30080}

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

再重新打包,安装发现还是不成功,我猜想是不是少了某个文件,于是又想到了用于文件监测的Filemon工具,发现在运行我的程序的时候,去打开%ORACLE_HOME% \Nls\data\下的一个.nlb文件不成功,于是添加,运行,ok(说明:上面的脚本已经包含此文件)。

利用上面的方法抽取,大约是28M左右。后来我想,何不利用Filemon检测到程序需要用到的文件列表,然后再抽取呢。于是我接下来做了下面的事情:


(1) 在一台干净的机器(没有安装过oracle),安装oracle客户端,选择oracle oledb组件;

(2) 把我的程序编译后直接拷贝到这台干净的机器上;

(3) 打开Filemon,运行编译的程序。

(4) 分析Filemon,利用Log parser2.2,查询出其中对oracle客户端所在目录下的文件“OPEN”操作的文件记录,即这些文件,是必须的文件;

(5) 继续利用Log parser2.2,根据查询出来的文件记录,生成相应的批处理脚本,稍加修改,即如下所示:


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

REM 提出oracle10g的客户端
set ORA_CLIENT_DIR=E:\client_1
set DEST_ORA_CLIENT_DIR=E:\oracle_client10g

mkdir   %DEST_ORA_CLIENT_DIR%\

mkdir   %DEST_ORA_CLIENT_DIR%\BIN\
copy    %ORA_CLIENT_DIR%\BIN\ORAOLEDB10.DLL     %DEST_ORA_CLIENT_DIR%\bin\
copy    %ORA_CLIENT_DIR%\BIN\ORAOLEDBGMR10.DLL  %DEST_ORA_CLIENT_DIR%\bin\
copy    %ORA_CLIENT_DIR%\BIN\ORACLIENT10.DLL    %DEST_ORA_CLIENT_DIR%\bin\
copy    %ORA_CLIENT_DIR%\BIN\ORACORE10.DLL      %DEST_ORA_CLIENT_DIR%\bin\
copy    %ORA_CLIENT_DIR%\BIN\ORANLS10.DLL       %DEST_ORA_CLIENT_DIR%\bin\
copy    %ORA_CLIENT_DIR%\BIN\ORAUNLS10.DLL      %DEST_ORA_CLIENT_DIR%\bin\
copy    %ORA_CLIENT_DIR%\BIN\ORAUTS.DLL         %DEST_ORA_CLIENT_DIR%\bin\
copy    %ORA_CLIENT_DIR%\BIN\ORAVSN10.DLL       %DEST_ORA_CLIENT_DIR%\bin\
copy    %ORA_CLIENT_DIR%\BIN\ORACOMMON10.DLL    %DEST_ORA_CLIENT_DIR%\bin\
copy    %ORA_CLIENT_DIR%\BIN\ORAGENERIC10.DLL   %DEST_ORA_CLIENT_DIR%\bin\
copy    %ORA_CLIENT_DIR%\BIN\ORASNLS10.DLL      %DEST_ORA_CLIENT_DIR%\bin\
copy    %ORA_CLIENT_DIR%\BIN\ORAXML10.DLL       %DEST_ORA_CLIENT_DIR%\bin\
copy    %ORA_CLIENT_DIR%\BIN\ORAN10.DLL         %DEST_ORA_CLIENT_DIR%\bin\
copy    %ORA_CLIENT_DIR%\BIN\ORANL10.DLL        %DEST_ORA_CLIENT_DIR%\bin\
copy    %ORA_CLIENT_DIR%\BIN\ORANLDAP10.DLL     %DEST_ORA_CLIENT_DIR%\bin\
copy    %ORA_CLIENT_DIR%\BIN\ORANNZSBB10.DLL    %DEST_ORA_CLIENT_DIR%\bin\
copy    %ORA_CLIENT_DIR%\BIN\ORALDAPCLNT10.DLL  %DEST_ORA_CLIENT_DIR%\bin\
copy    %ORA_CLIENT_DIR%\BIN\ORANCRYPT10.DLL    %DEST_ORA_CLIENT_DIR%\bin\
copy    %ORA_CLIENT_DIR%\BIN\ORANRO10.DLL       %DEST_ORA_CLIENT_DIR%\bin\
copy    %ORA_CLIENT_DIR%\BIN\ORANHOST10.DLL     %DEST_ORA_CLIENT_DIR%\bin\
copy    %ORA_CLIENT_DIR%\BIN\ORANCDS10.DLL      %DEST_ORA_CLIENT_DIR%\bin\
copy    %ORA_CLIENT_DIR%\BIN\ORANTNS10.DLL      %DEST_ORA_CLIENT_DIR%\bin\
copy    %ORA_CLIENT_DIR%\BIN\ORAPLS10.DLL       %DEST_ORA_CLIENT_DIR%\bin\
copy    %ORA_CLIENT_DIR%\BIN\ORASLAX10.DLL      %DEST_ORA_CLIENT_DIR%\bin\
copy    %ORA_CLIENT_DIR%\BIN\ORAPLP10.DLL       %DEST_ORA_CLIENT_DIR%\bin\
copy    %ORA_CLIENT_DIR%\BIN\ORAHASGEN10.DLL    %DEST_ORA_CLIENT_DIR%\bin\
copy    %ORA_CLIENT_DIR%\BIN\ORAOCR10.DLL       %DEST_ORA_CLIENT_DIR%\bin\
copy    %ORA_CLIENT_DIR%\BIN\ORAOCRB10.DLL      %DEST_ORA_CLIENT_DIR%\bin\
copy    %ORA_CLIENT_DIR%\BIN\ORANTCP10.DLL      %DEST_ORA_CLIENT_DIR%\bin\
copy    %ORA_CLIENT_DIR%\BIN\ORASQL10.DLL       %DEST_ORA_CLIENT_DIR%\bin\
copy    %ORA_CLIENT_DIR%\BIN\ORAOLEDBRST10.DLL  %DEST_ORA_CLIENT_DIR%\bin\
copy    %ORA_CLIENT_DIR%\BIN\ORAOLEDBUTL10.DLL  %DEST_ORA_CLIENT_DIR%\bin\
copy    %ORA_CLIENT_DIR%\BIN\ORACLE.KEY         %DEST_ORA_CLIENT_DIR%\bin\
copy    %ORA_CLIENT_DIR%\BIN\ORAOLEDB10ZHS.DLL  %DEST_ORA_CLIENT_DIR%\BIN\
copy    %ORA_CLIENT_DIR%\BIN\ORAOLEDBPUS10.DLL  %DEST_ORA_CLIENT_DIR%\BIN\

mkdir   %DEST_ORA_CLIENT_DIR%\NETWORK\
mkdir   %DEST_ORA_CLIENT_DIR%\NETWORK\ADMIN\
copy    %ORA_CLIENT_DIR%\NETWORK\ADMIN\SQLNET.ORA  %DEST_ORA_CLIENT_DIR%\NETWORK\ADMIN\
copy    %ORA_CLIENT_DIR%\NETWORK\ADMIN\tnsnames.ora  %DEST_ORA_CLIENT_DIR%\NETWORK\ADMIN\
mkdir    %DEST_ORA_CLIENT_DIR%\NLS\                  
mkdir    %DEST_ORA_CLIENT_DIR%\NLS\DATA\
copy    %ORA_CLIENT_DIR%\NLS\DATA\LX1BOOT.NLB     %DEST_ORA_CLIENT_DIR%\NLS\DATA\
copy    %ORA_CLIENT_DIR%\NLS\DATA\LX00001.NLB     %DEST_ORA_CLIENT_DIR%\NLS\DATA\
copy    %ORA_CLIENT_DIR%\NLS\DATA\LX2001F.NLB     %DEST_ORA_CLIENT_DIR%\NLS\DATA\
copy    %ORA_CLIENT_DIR%\NLS\DATA\LX10001.NLB     %DEST_ORA_CLIENT_DIR%\NLS\DATA\
copy    %ORA_CLIENT_DIR%\NLS\DATA\LX00023.NLB     %DEST_ORA_CLIENT_DIR%\NLS\DATA\
copy    %ORA_CLIENT_DIR%\NLS\DATA\LX20354.NLB     %DEST_ORA_CLIENT_DIR%\NLS\DATA\
copy    %ORA_CLIENT_DIR%\NLS\DATA\LX10035.NLB     %DEST_ORA_CLIENT_DIR%\NLS\DATA\
copy    %ORA_CLIENT_DIR%\NLS\DATA\LX20001.NLB     %DEST_ORA_CLIENT_DIR%\NLS\DATA\
copy    %ORA_CLIENT_DIR%\NLS\DATA\LX20367.NLB     %DEST_ORA_CLIENT_DIR%\NLS\DATA\
copy    %ORA_CLIENT_DIR%\NLS\DATA\LX207D0.NLB     %DEST_ORA_CLIENT_DIR%\NLS\DATA\
copy    %ORA_CLIENT_DIR%\NLS\DATA\LX40002.NLB     %DEST_ORA_CLIENT_DIR%\NLS\DATA\

mkdir    %DEST_ORA_CLIENT_DIR%\ORACORE\              
mkdir    %DEST_ORA_CLIENT_DIR%\ORACORE\ZONEINFO\     
copy    %ORA_CLIENT_DIR%\ORACORE\ZONEINFO\TIMEZLRG.Dat  %DEST_ORA_CLIENT_DIR%\ORACORE\ZONEINFO\

mkdir %DEST_ORA_CLIENT_DIR%\RDBMS
mkdir %DEST_ORA_CLIENT_DIR%\RDBMS\mesg
copy    %ORA_CLIENT_DIR%\RDBMS\mesg\ocizhs.msb     %DEST_ORA_CLIENT_DIR%\RDBMS\mesg\
copy    %ORA_CLIENT_DIR%\RDBMS\mesg\ocius.msb      %DEST_ORA_CLIENT_DIR%\RDBMS\mesg\
copy    %ORA_CLIENT_DIR%\RDBMS\mesg\orazhs.msb     %DEST_ORA_CLIENT_DIR%\RDBMS\mesg\
copy    %ORA_CLIENT_DIR%\RDBMS\mesg\oraus.msb      %DEST_ORA_CLIENT_DIR%\RDBMS\mesg\
@pause 按任意键继续……

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

(6)运行批处理,抽取必须的文件,利用这种方法抽取的oracle客户端大约26M左右。同时根据Regmon检测的注册表修改记录,还须修改path变量,打包应用程序。

(7)在一台干净的机器上,安装测试,运行,ok。

总结:


(1)此种方法具有通用性,可以用来抽取oracle其它版本,甚至其他任何你想抽取或瘦身的程序;

(2)此种方法完全是一种外科式黑箱式技术,丝毫没有涉及程序的内部结构,这是其优点,也是其缺点,设想一个程序运行,在我们使用filemon监测的时候,它依赖了一些文件,然后我们抽取了它,倘若在我们停止监测后,在一个其它的运用场景,该程序又调用了一些其它文件,那么这些程序就遗漏了,唯一能够补救的方法就是,在使用filemon监测阶段,一定要能够充分的运行应用程序。

(3)抽取程序的要点:1)弄清楚需要抽取哪些必须的文件;2)弄清楚要修改哪些注册表;3)弄清楚要修改哪些环境变量。



------------------------------------------------------
转自:http://bluffstone.spaces.live.com/blog/cns!378A3196AFD42482!178.entry

filemon使用实例:http://xiong.blog.iyunv.com/811/17720

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-253607-1-1.html 上篇帖子: Freecms商业版 oracle添加信息时报错”转换请求无法实施或不合理” 下篇帖子: 探索ORACLE之RMAN_04非一致性备份
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表