ImageVerifierCode 换一换
格式:DOCX , 页数:36 ,大小:38.44KB ,
资源ID:8297462      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/8297462.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(oracle数据库开发的一些经验积累.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

oracle数据库开发的一些经验积累.docx

1、oracle数据库开发的一些经验积累oracle数据库开发的一些经验积累1、不安装Oracle客户连接Oracle8的方法请将以下文件拷贝到运行文件所在目录一、ODBC动态库:ctl3d32.dllmsvcrt40.dllodbc16gt.dllodbc32.dllodbc32gt.dllodbccp32.dllodbccr32.dllodbcint.dll二、建立EXTRA子目录,将MSVCRT.DLL文件拷贝到该子目录下EXTRAMSVCRT.DLL三、ORACLE动态库及配置文件Tnsnames.oraCORE35O.DLLNASNSNT.DLLNAUNTSNT.DLLNCRNT.DLL

2、Nlnt.dllNLSRTL32.DLLNnfdnt.dllNNFNNT.DLLNSNT.DLLNTNT.DLLNTTNT.DLLCIW32.DLLOra73.dllOTRACE73.DLLSqlnet.oraSqltnsnt.dllCORE35.DLL四、PB动态库pbvm70.dllpbdwe70.dllPbo7370.dllPBO8470.DLLpbodb70.dlllibjcc.dllOracle的客户端不安装让pb连上,我记得以前有帖子的,你可以搜索一下。具体步骤。(1).先在某机器上安装好客户端(最好安装在c盘);(2).复制此客户端oracle目录下的所有文件作为独立的oracl

3、e安装文件;(3).搜索注册表,找到HKey_Local_machinesoftwareoracle,把此项目及分支全部导出。(4).打包好你的pb程序,并独立打包好oracle客户端和注册表导出文件。(5).到干净的客户端,解开两个包,导入注册表文件,然后加入路径支持:path=%path%;c:Ora817bin这样处理,应该没有问题,因为我就是这样快速处理了几十个机器。若不想搞注册表,你可以在程序中自己写注册表,构成Oracle客户端必要的注册表支持,至于路径,手工添加应该不难。至于Oracle客户端那些文件不需要,这个不好说,你可以把那些bin目录下的所有exe删除,OracleDoc

4、ument删除(7x兆)至于定义Oracle服务,找到Ora817net80adminTnsName.ora,参照格式,程序中生成一个也不麻烦。=2、在ORACLE中返回游标结果集你需要写到一个包中:createorreplacepackagepag_cs_powerastypec_Typeisrefcursor;FUNCTIONFUN_CS_GETDICTLIST(v_DictIndexinvarchar2)returnc_Type;endpag_cs_power;函数代码:FUNCTIONFUN_CS_GETDICTLIST(v_DictIndexinvarchar2)returnc_Ty

5、peasc_cursorc_Type;beginopenc_cursorforselectDICTID,DICTNAMEFROMSYS_DICTWHEREDICTINDEX=v_DictIndex;returnc_cursor;endFUN_CS_GETDICTLIST;-3、P4机器安装ORACLE(1)、将ORACLE安装软件拷贝到硬盘。(2)、将硬盘目录文件stageComponentsoracle.swd.jre1.1.7.30/1DataFilesExpandedjrewin32binsymcjit.dll的文件改名为symcjit.old(3).再运行SETUP.exe文件进行安装

6、。-4、单引号的插入问题SQLinsertintoavalues(imgood);-两个可以表示一个SQLinsertintoavalues(i|chr(39)|mgood);-chr(39)代表字符SQLinsertintoavalues(a|&|b);-5、全数据库的导入与导出expusername/passwordfull=yfile=yourdata.dmpgrants=yrows=yimpusername/passwordfull=yignore=yfile=yourdata.dmpgrants=y6、exp与imp的具体用法expusername/passwordmzbs_61fu

7、ll=yfile=yourdata.dmpgrants=yrows=yimpusername/passwordfull=yignore=yfile=yourdata.dmpgrants=yexpmzbs/mzbsmzbs_61file=c:zzzzzzz.dmpgrants=yrows=yimpmzbs/mzbsmzbs_61file=c:zzzzzzz.dmpgrants=yignore=yFULL=Y(1)exp参数:关键字说明(默认)-USERID用户名/口令FULL导出整个文件(N)BUFFER数据缓冲区的大小OWNER所有者用户名列表FILE输出文件(EXPDAT.DMP)TABLE

8、S表名列表COMPRESS导入一个范围(Y)RECORDLENGTHIO记录的长度GRANTS导出权限(Y)INCTYPE增量导出类型INDEXES导出索引(Y)RECORD跟踪增量导出(Y)ROWS导出数据行(Y)PARFILE参数文件名CONSTRAINTS导出限制(Y)CONSISTENT交叉表一致性LOG屏幕输出的日志文件STATISTICS分析对象(ESTIMATE)DIRECT直接路径(N)TRIGGERS导出触发器(Y)FEEDBACK显示每x行(0)的进度FILESIZE各转储文件的最大尺寸QUERY选定导出表子集的子句imp参数:关键字说明(默认)-USERID用户名/口令F

9、ULL导入整个文件(N)BUFFER数据缓冲区大小FROMUSER所有人用户名列表FILE输入文件(EXPDAT.DMP)TOUSER用户名列表SHOW只列出文件内容(N)TABLES表名列表IGNORE忽略创建错误(N)RECORDLENGTHIO记录的长度GRANTS导入权限(Y)INCTYPE增量导入类型INDEXES导入索引(Y)COMMIT提交数组插入(N)ROWS导入数据行(Y)PARFILE参数文件名LOG屏幕输出的日志文件CONSTRAINTS导入限制(Y)DESTROY覆盖表空间数据文件(N)INDEXFILE将表/索引信息写入指定的文件SKIP_UNUSABLE_INDEX

10、ES跳过不可用索引的维护(N)ANALYZE执行转储文件中的ANALYZE语句(Y)FEEDBACK显示每x行(0)的进度TOID_NOVALIDATE跳过指定类型id的校验FILESIZE各转储文件的最大尺寸RECALCULATE_STATISTICS重新计算统计值(N)(2)一、建立一个expdata.sql文件USERID=RMTAFIS/3这里写你的用户名和密码BUFFER=32768OWNER=RMTAFIS这里写导出的用户FILE=E:ExpRMTAFIS.DMP导出的文件,可以是相对路径ROWs=YGRANTS=YCOMPRESS=YCONSISTENT=Y二、建立一个expda

11、ta.batexpparfile=expdata.sql如果是805exp80parfile=expdata.sql双击expdata.bat就导出数据了7、如果在like的变量中,是以%开头的话,是不会使用index的。反之,不是以%开头,而又有相应的index,是会使用index的。具体可以用plainplan来看一下。8、复制空表结构createtablenew_tableasselect*fromold_tablewhere1=2;复制表(含记录)createtablenew_tableasselect*fromold_table;9、把一个用户下的表导入到另一个用户下,但需要改名先用

12、exp导出所有的表;用imp将导出的表导入到新用户;在新用户下,执行selectRENAMETABLE|tname|TONEW_|tname|;fromtabwheretabtype=TABLE;将上面的查询结果保存到一个sql文件中,处理后执行就可以了。10、审计步骤修改参数文件init.ora,参数audit_trail值为true;重新启动数据库;打开审计auditsession;(auditsessionbyusername)执行登录操作;察看审计结果:select*fromdba_audit_session;select*fromsys.aud$;select*fromdba_aud

13、it_trail;select*fromdba_audit_exists;关于审计:为了使oracle8i的审计功能可用,必须在数据库参数文件中修改audit_trail初始参数,而这个修改并不支配oracle8i把生成的审计记录记入审计痕迹中,由于状态,特权和模式对象已被修改,因而审计的默认值不可用,其参数应设置为none.下面列出了audit_trail可用的参数db_使数据库审计和全部直属审计记录到数据库审计的痕迹中os_是数据库审计依据直属审计记入到操作系统的审计很集中none_不可用11、BFILE的用法(1)、createorreplacedirectoryBFILE_TESTas

14、/oracle/oradata/bfiles;(2)、grantreadondirectoryBFILE_TESTtoSCOTT;(3)、hostls-l/oracle/oradata/bfiles/1.TXT(4)、connectSCOTT/TIGERcreatetableBFILES(IDnumber,TEXTbfile);(5)、insertintoBFILESvalues(1,bfilename(BFILE_TEST,1.TXT);12、如何在Windows2000下将Oracle完全卸载?一、系统环境:(1)、操作系统:Windows2000Server,机器内存128M(2)、数据

15、库:Oracle8iR2(8.1.6)forNT企业版(3)、安装路径:D:ORACLE二、卸载步骤:(1)、开始设置控制面板管理工具服务停止所有Oracle服务。(2)、开始程序Oracle-OraHome81OracleInstallationProductsUniversalInstaller卸装所有Oracle产品(3)、运行regedit,选择HKEY_LOCAL_MACHINESOFTWAREORACLE,按del键删除这个入口。(4)、运行regedit,选择HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServices,滚动这个列表,删除所有

16、Oracle入口(5)、从桌面上、STARTUP(启动)组、程序菜单中,删除所有有关Oracle的组和图标(6)、重新启动计算机,重起后才能完全删除Oracle所在目录(7)、删除与Oracle有关的文件,选择Oracle所在的缺省目录C:Oracle,删除这个入口目录及所有子目录,并从Windows2000目录(一般为C:WINNT)下删除以下文件ORACLE.INI、oradim80.INI(8)、WIN.INI文件中若有ORACLE的标记段,删除该段-13、如何使用SQLPLUS和SVRMGRL运行脚本(1)、用sqlplus调用:c:script.txt的内容startup;命令行:s

17、qlplusinternal/oraclec:script.txt(2)、用svrmgrl调用:c:script.txt的内容connectinternal/oracle;startup;命令行:svrmgrlc:script.txt-14、ORACLE的临时表CREATEGLOBALTEMPORARYTABLETABLENAME(COL1VARCHAR2(10),COL2NUMBER)ONCOMMITPRESERVE(DELETE)ROWS;这种临时表不占用表空间,而且不同的SESSION之间互相看不到对方的数据在会话结束后表中的数据自动清空,如果选了DELETEROWS,则在提交的时候即清

18、空数据,PRESERVE则一直到会话结束-在Oracle8i中,可以创建以下两种临时表:(1)会话特有的临时表CREATEGLOBALTEMPORARY()ONCOMMITPRESERVEROWS;(2)事务特有的临时表CREATEGLOBALTEMPORARY()ONCOMMITDELETEROWS;CREATEGLOBALTEMPORARYTABLEMyTempTable所建的临时表虽然是存在的,但是你试一下insert一条记录然后用别的连接登上去select,记录是空的,明白了吧,我把下面两句话再贴一下:-ONCOMMITDELETEROWS说明临时表是事务指定,每次提交后ORACLE将

19、截断表(删除全部行)-ONCOMMITPRESERVEROWS说明临时表是会话指定,当中断会话时ORACLE将截断表。冲突的问题更本不用考虑.临时表只是保存当前会话(session)用到的数据,数据只在事务或会话期间存在。通过CREATEGLOBALTEMPORARYTABLE命令创建一个临时表,对于事务类型的临时表,数据只是在事务期间存在,对于会话类型的临时表,数据在会话期间存在。会话的数据对于当前会话私有。每个会话只能看到并修改自己的数据。DML锁不会加到临时表的数据上。下面的语句控制行的存在性。ONCOMMITDELETEROWS表名行只是在事务期间可见ONCOMMITPRESERVER

20、OWS表名行在整个会话期间可见可以对临时表创建索引,视图,出发器,可以用export和import工具导入导出表的定义,但是不能导出数据。表的定义对所有的会话可见。例如:CREATEGLOBALTEMPORARYTABLETEMP_TAB1(table_nameVARCHAR2(20),primary_keyVARCHAR2(100),fieldVARCHAR2(1000)ONCOMMITPRESERVEROWS;CREATEGLOBALTEMPORARYTABLETEMP_TAB2(table_nameVARCHAR2(20),primary_keyVARCHAR2(100),fieldVA

21、RCHAR2(1000)ONCOMMITDELETEROWS;15、如何使用OEM先启数据库服务,再启oraclemanager服务。否则重建档案资料库如果还不行就把ORACLEHOMENETWORKsqlnet.ora文件的内容sqlnet.authentication_services=(NTS)改成sqlnet.authentication_services=(NONE)登录sysman/oem_temp16、TNS:没有监听器的问题。(1)查一下监听服务是否启动,如果没有启动,则运行lsnrctrlstart。(2)查看一下LISTENER.ORA内监听的服务器名、服务器IP、数据库名

22、是否正确。(3)查看一下TNSNAMES.ORA内服务器名、服务器IP、数据库名是否正确。17、LINUX、UNIX下自动启动ORACLE服务(1)!/bin/sh#chkconfig:3455149#description:startstheoracledabasedeamons#ORA_HOME=/u01/app/oracle/product/8.1.7ORA_OWNER=oraclecase$1instart)echo-nStartingOracle8i:su-$ORA_OWNER-c$ORA_HOME/bin/dbstarttouch/var/lock/subsys/oracle8ie

23、cho;stop)echo-nShuttingdownOracle8i:su-$ORA_OWNER-c$ORA_HOME/bin/dbshutrm-f/var/lock/subsys/oracle8iecho;restart)echo-nRestartingOracle8i:$0stop$0startecho;*)echoUsage:oracle8istart|stop|restartexit1esacexit0我仿照su-$ORA_OWNER-c$ORA_HOME/bin/dbshut的形式添加su-$ORA_OWNER-c$ORA_HOME/bin/lsnrctlstart但是在系统启动的

24、时候listener启动不了(2)/etc/rc.local改成如下就可以了touch/var/lock/subsys/local#echo2147483648/proc/sys/kernel/shmmaxecho-nStartingOracleDatabase:date+%D%T%asu-oracle-clsnrctlstart#su-oracle-csqlplus/nologstartmaster.sqlecho-nOracleDatabaseStarted:date+%D%T%a-第一个#是改共享内存大小的第二个#是启动数据库的。(3)ftp:/ . lerun9i-1.0-1.i386

25、.rpm下载这个软件包并安装。里面每个文件都有一些要修改的地方。配置完成之后,就可以在系统服务配置中找到它,选中它就可能以自启动了。18、回滚段不够的处理方法(1)、先使回滚段脱机一个,如果不好用,则再脱机一个。直至好用。ALTERrollbacksegmentrollbacknameoffline;(2)、增加回滚段数据文件的大小alterdatabasedatafiledatafileresize200M;19、WINNT向WIN2000移植不用EXP和IMP的停掉数据库的服务后,可以做一个数据库的全备份。在WIN2000上建一个同名的数据库,随便建,越小越好,可以缩短时间。把WINNT下的数据库备份恢复到WIN2000的数据库上就可以了。但建库的目录必须一样。(也可以不一样

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1