分享
 
 
 

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

王朝oracle·作者佚名  2008-05-19
窄屏简体版  字體: |||超大  

四、PB动态库

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

Oracle的客户端不安装让pb连上,我记得以前有帖子的,你可以搜索一下。

具体步骤。

(1).先在某机器上安装好客户端(最好安装在c盘);

(2).复制此客户端oracle目录下的所有文件作为独立的oracle安装文件;

(3).搜索注册表,找到 HKey_Local_machine\software\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)、将

硬盘目录文件\stage\Components\oracle.swd.jre\1.1.7.30/1

\DataFiles\Expanded\jre\win32\bin\symcjit.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=y

imp 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=y

imp 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=32768

OWNER=RMTAFIS

这里写导出的用户

FILE=E:\Exp\RMTAFIS.DMP

导出的文件,可以是相对路径

ROWs=Y

GRANTS=Y

COMPRESS=Y

CONSISTENT=Y

二、建立一个expdata.bat

exp parfile=expdata.sql

如果是805

exp80 parfile=expdata.sql

双击expdata.bat就导出数据了

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

8、复制空表结构

create table new_table

as select * from old_table where 1=2;

复制表(含记录)

create table new_table

as select * from old_table ;

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

先用exp导出所有的表;

用imp将导出的表导入到新用户;

在新用户下,执行

select 'RENAME TABLE '||tname||' TO 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完全卸载?

一、系统环境:

(1)、操作系统:Windows 2000 Server,机器内存128M

(2)、数据库:

Oracle 8i R2 (8.1.6) for NT 企业版

(3)、安装路径:D:\ORACLE

二、卸载步骤:

(1)、开始->设置->控制面板->管理工具->服务

停止所有Oracle服务。

(2)、开始->程序->Oracle - OraHome81->Oracle Installation Products->Universal Installer

卸装所有Oracle产品

(3)、运行regedit,选择HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE,按del键删除这个入口。

(4)、运行regedit,选择HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Servi

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有