`

oracle数据库开发的一些经验积累(一)

阅读更多
1、不安装Oracle客户连接Oracle 8的方法
请将以下文件拷贝到运行文件所在目录

一、ODBC动态库 :

ctl3d32.dll msvcrt40.dll odbc16gt.dll odbc32.dll odbc32gt.dll odbccp32.dll odbccr32.dll odbcint.dll

二、建立EXTRA子目录,将MSVCRT.DLL文件拷贝到该子目录下

EXTRA\MSVCRT.DLL

三、ORACLE动态库及配置文件

Tnsnames.ora CORE35O.DLL NASNSNT.DLL NAUNTSNT.DLL NCRNT.DLL Nlnt.dll NLSRTL32.DLL Nnfdnt.dll NNFNNT.DLL NSNT.DLL NTNT.DLL NTTNT.DLL CIW32.DLL Ora73.dll OTRACE73.DLL Sqlnet.ora Sqltnsnt.dll CORE35.DLL

四、PB动态库

pbvm70.dll pbdwe70.dll Pbo7370.dll PBO8470.DLL pbodb70.dll libjcc.dll

Oracle的客户端不安装让pb连上,我记得以前有帖子的,你可以搜索一下。具体步骤。(1).先在某机器上安装好客户端(最好安装在c盘);(2).复制此客户端oracle目录下的所有文件作为独立的oracle安装文件;(3).搜索注册表,找到 HKey_Local_machine oftware\oracle,把此项目及分支全部导出。(4).打包好你的pb程序,并独立打包好oracle客户端和注册表导出文件。(5).到干净的客户端,解开两个包,导入注册表文件,然后加入路径支持:  path=%path%;"c:\Ora817\bin"这样处理,应该没有问题,因为我就是这样快速处理了几十个机器。

若不想搞注册表,你可以在程序中自己写注册表,构成Oracle客户端必要的注册表支持,至于路径,手工添加应该不难。

至于Oracle客户端那些文件不需要,这个不好说,你可以把那些bin目录下的所有exe删除,Oracle Document删除(7x兆)

至于定义Oracle服务,找到 Ora817\net80\admin\TnsName.ora,参照格式,程序中生成一个也不麻烦。

=======================================================2、在ORACLE中返回游标结果集

你需要写到一个包中:create or replace package pag_cs_power as

    type c_Type is ref cursor;  FUNCTION FUN_CS_GETDICTLIST(  v_DictIndex in  varchar2) return c_Type;

end pag_cs_power;

函数代码:

FUNCTION FUN_CS_GETDICTLIST(  v_DictIndex in  varchar2) return c_Type     as        c_cursor            c_Type;begin   open c_cursor for      select DICTID,DICTNAME FROM SYS_DICT WHERE DICTINDEX = v_DictIndex;   return c_cursor;end FUN_CS_GETDICTLIST;----------------------------------------------------------------------3、P4机器安装ORACLE

(1)、将ORACLE安装软件拷贝到硬盘。 (2)、将  硬盘目录文件 tage\Components\oracle.swd.jre\1.1.7.30/1 \DataFiles\Expanded\jre\win32\bin ymcjit.dll的文件改名为symcjit.old (3).再运行SETUP.exe  文件进行安装。

-----------------------------------------------------------------------4、单引号的插入问题

SQL> insert into a values('i''m good');       --两个''可以表示一个'

SQL> insert into a values('i'||chr(39)||'m good'); --chr(39)代表字符'

SQL> insert into a values('a'||'&'||'b');     

-----------------------------------------------------------------------5、全数据库的导入与导出

exp username/password full=y file=yourdata.dmp grants=y rows=yimp username/password full=y ignore=y file=yourdata.dmp grants=y

6、exp与imp的具体用法

exp username/password@mzbs_61 full=y file=yourdata.dmp grants=y rows=yimp username/password full=y ignore=y file=yourdata.dmp grants=y

exp mzbs/mzbs@mzbs_61 file = c:\zzzzzzz.dmp grants = y rows = y imp mzbs/mzbs@mzbs_61 file = c:\zzzzzzz.dmp grants = y ignore=y  FULL=Y

(1)

exp参数:关键字   说明(默认)   ----------------------------------------------USERID   用户名/口令FULL   导出整个文件 (N)BUFFER   数据缓冲区的大小OWNER   所有者用户名列表FILE   输出文件 (EXPDAT.DMP)TABLES   表名列表COMPRESS  导入一个范围 (Y)RECORDLENGTH  IO 记录的长度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   用户名/口令FULL   导入整个文件 (N)BUFFER   数据缓冲区大小FROMUSER  所有人用户名列表FILE   输入文件 (EXPDAT.DMP)TOUSER   用户名列表SHOW   只列出文件内容 (N)TABLES   表名列表IGNORE   忽略创建错误 (N)RECORDLENGTH  IO 记录的长度GRANTS   导入权限 (Y)INCTYPE   增量导入类型INDEXES   导入索引 (Y)COMMIT   提交数组插入 (N)ROWS   导入数据行 (Y)PARFILE   参数文件名LOG   屏幕输出的日志文件CONSTRAINTS  导入限制 (Y)DESTROY   覆盖表空间数据文件 (N)INDEXFILE  将表/索引信息写入指定的文件SKIP_UNUSABLE_INDEXES 跳过不可用索引的维护 (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:\Exp\RMTAFIS.DMP      导出的文件,可以是相对路径ROWs=YGRANTS=YCOMPRESS=YCONSISTENT=Y

二、建立一个expdata.batexp parfile=expdata.sql如果是805exp80 parfile=expdata.sql双击expdata.bat就导出数据了

7、如果在like的变量中,是以‘%’开头的话,是不会使用index的。反之,不是以‘%‘开头,而又有相应的index,是会使用index的。具体可以用plain plan来看一下。

8、复制空表结构   create table new_tableas select * from old_table where 1=2;   复制表(含记录)   create table new_tableas select * from old_table ;

9、把一个用户下的表导入到另一个用户下,但需要改名

先用exp导出所有的表;用imp将导出的表导入到新用户;在新用户下,执行  select 'RENAME TABLE '||tname||' T
O NEW_'||tname||';'     from tab   where tabtype='TABLE';将上面的查询结果保存到一个sql文件中,处理后执行就可以了。

10、审计步骤

 修改参数文件init.ora,参数audit_trail值为true; 重新启动数据库; 打开审计audit session; (audit session by username) 执行登录操作; 察看审计结果:   select * from dba_audit_session;   select * from sys.aud$;   select * from dba_audit_trail;   select * from dba_audit_exists; 关于审计:

   为了使oracle8i的审计功能可用,必须在数据库参数文件中修改audit_trail初始参数,而这个修改并不支配oracle8i把生成的审计记录记入审计痕迹中,由于状态,特权和模式对象已被修改,因而审计的默认值不可用,其参数应设置为none.下面列出了audit_trail 可用的参数

db_使数据库审计和全部直属审计记录到数据库审计的痕迹中os_是数据库审计依据直属审计记入到操作系统的审计很集中none_不可用

11、BFILE的用法

(1)、create or replace directory BFILE_TEST as '/oracle/oradata/bfiles';

(2)、grant read on directory BFILE_TEST to SCOTT;

(3)、host ls -l /oracle/oradata/bfiles/1.TXT

(4)、connect SCOTT/TIGER create table BFILES (ID number, TEXT bfile );

(5)、insert into BFILES values ( 1, bfilename ( 'BFILE_TEST', '1.TXT' ) );

12、如何在Windows 2000下将Oracle完全卸载?
分享到:
评论

相关推荐

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

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

    专家精讲:Oracle数据库管理与维护 完整版 (第三部)

    本书以笔者多年积累的实际经验分析数据库管理员的工作职责。详细介绍Oracle数据库系统的运作原理与组成架构;针对常用的“基本对象”及延伸应用的“高可用性对象”提供详尽说明;详解Oracle数据库的安装、建置,以及...

    专家精讲:Oracle数据库管理与维护 完整版(第2部分)

    本书以笔者多年积累的实际经验分析数据库管理员的工作职责。详细介绍Oracle数据库系统的运作原理与组成架构;针对常用的“基本对象”及延伸应用的“高可用性对象”提供详尽说明;详解Oracle数据库的安装、建置,以及...

    Oracle数据库开发技巧与经典案例讲解一

    本课程以讲解真实开发案例的方式,来巩固、强化Oracle数据库开发知识点和技术技巧,通过经典案例来总结开发中常见的错误,从而能够让学员积累开发规范与开发经验,从而为真实的系统设计、开发打下坚实的基础。

    专家精讲:Oracle数据库管理与维护 完整版(第1部分)

    本书以笔者多年积累的实际经验分析数据库管理员的工作职责。详细介绍Oracle数据库系统的运作原理与组成架构;... 本书适合数据库开发人员参考学习,也可作为高等院校相关专业师生的参考书,此文件包为第一部分。

    Oracle积累.chm

    日常工作中积累的oracle数据库开发经验积累,全是可用的经典案例和说明

    基于oraclespatial的遥感影像数据库系统设计与实现

    它是Oracle数据库的核心组件,它将以往对空间数据的操作转移到了数据库内部, 围绕它进行可扩展的空间计算而不用担心性能和安全问题。在本项目中,基于 Spatial这个组件设计出的空间数据库,既能保证对空间数据的...

    数据库开发设计参考

    oracle数据库开发设计参考,工作的积累

    JAVA ORACLE数据库资料讲解

    数据是需要精心设计,并长时间积累方可获得的一种资源。数据不仅对组织的运作和管理是重要的,而且还决定者组织的竞争能力或运行效率。例如:婚姻介绍所的求婚者数据是该婚介所的生命线;股票经纪人的股票及其价格的...

    精通Oracle+PL+SQL.pdf(超清书签版)

    作者在讲解每一个特性 时都辅以经过实战检验的示例,更与读者分享了大量多年积累的独家经验。有本书在手,你将学会如何充分发挥pl/sql的巨大潜能,编写出可靠、高效且易于 维护的一流程序。... 作译者  Connor ...

    通过JDBC连接oracle数据库的十大技巧.doc

    Java数据库连接(JDBC)API是一系列能够让Java编程人员访问数据库的接口,各个开发商的接口并不完全相同。在使用多年的Oracle公司的JDBC后,我积累了许多技巧,这些技巧能够使我们更好地发挥系统的性能和实现更多的...

    通过JDBC连接oracle数据库的十大技巧

    Java数据库连接(JDBC)API是一系列能够让Java编程人员访问数据库的接口,各个开发商的接口并不完全相同。在使用多年的Oracle公司的JDBC后,我积累了许多技巧,这些技巧能够使我们更好地发挥系统的性能和实现更多的...

    Oracle优化日记:一个金牌DBA的故事.pdf

    《Oracle优化日记:一个金牌DBA的故事》适合Oracle数据库管理开发人员阅读。编辑推荐《Oracle优化日记:一个金牌DBA的故事》以作者亲身经历的一个大型优化项目为原型,用日记的形式讲述了项目实施的全过程。生动曲折的...

    DB2和 Oracle的并发控制

    笔者在国内很多客户现场都看到开发人员和系统管理人员遇到很多有关于锁而引起的性能问题,进而被多次问起DB2和Oracle中锁的区别比较问题,笔者根据自己在工作中对DB2和Oracle数据库的使用经验积累写下这篇文章。

    让Oracle跑得更快—Oracle10g性能分析与优化思路

    资源名称:让Oracle跑得更快—Oracle 10g性能分析与优化思路...本书适用对象:Oracle DBA、Oracle开发人员,和其他对Oracle数据库感兴趣的人员作者简介: 资源太大,传百度网盘了,链接在附件中,有需要的同学自取。

    Oracle数据库创建用户与数据库备份小结(必看篇)

    前言:使用Oracle开发系统过程中,会涉及到数据库用户的建立,及给该用户分配权限。刚开始接触开发的时候,对这些操作是一种茫茫然的状态。后,经过积累,对这方面有了一定的认识,现总结一些,一则,巩固自身,也...

Global site tag (gtag.js) - Google Analytics