在打包oralce客户端后,经常会遇到这个问题“specified class not registered in registry”
解决办法:
这是因为有几个链接库dll或ocx没注册的原因,经本人测试为以下5个文件:
Oo4oaddin.dll
Oo4ocodewiz.dll
oip10.dll
oradc.ocx
Odbtreeview.ocx
依次注册这5个文件后,不会再提示“specified class not registered in registry”
具体文件看Oracle数据库的版本,本测试用的版本是Oracle 10g ......
在打包oralce客户端后,经常会遇到这个问题“specified class not registered in registry”
解决办法:
这是因为有几个链接库dll或ocx没注册的原因,经本人测试为以下5个文件:
Oo4oaddin.dll
Oo4ocodewiz.dll
oip10.dll
oradc.ocx
Odbtreeview.ocx
依次注册这5个文件后,不会再提示“specified class not registered in registry”
具体文件看Oracle数据库的版本,本测试用的版本是Oracle 10g ......
目录
1. 安装准备
1.1. 设置用户
1.2. 创建目录和设置权限
1.3. 更改配置
1.4. 安装
1.5. 启动/停止Oracle
1. 安装准备
安装开始前,确认你的系统符合Oracle的最小安装要求:
* 500 MB 内存
* 1 GB 交换分区
* 确认你已经安装了gcc, make, binutils, lesstif2, libc6, 和 rpm
*最好确认 dns 和/或 你的 /etc/hosts 文件已经正确配置了,以保证你的IP地址和hostname能正确解析.
1.1. 设置用户
我们需要为安装程序创建一个oracle 用户和两个组. 首先检查它们是否已经存在:
$grep oinstall /etc/group
$grep dba /etc/group
$grep nobody /etc/group
如果它们还不在系统中,那么创建它们。
#addgroup oinstall
#addgroup dba
#addgroup nobody
#useradd -g oinstall -G dba -p passwd -d /home/oracle -s /bin/bash oracle
#usermod -g nobody nobody
1.2. 创建目录和设置权限
注意: oracle缺省目录是 /u01 和 /u02. 我们为了和FHS有更好的兼容性,更改为 /opt/oracle 和 /opt/oradata:
......
ORA-00704: bootstrap process failure
ORA-1092 signalled during: alter database open...
进行如下操作后OK.
SQL>startup upgrade
For Windows
SQL>@d:\oracle\product\10.2.0\db_1/rdbms/admin/catupgrd.sql
For Linux
SQL>@/u01/app/oracle/product/10.2.0/db_1/rdbms/admin/catupgrd.sql
待catupgrd.sql脚本执行完成,shutdown immediate关闭数据库;
startup启动数据库,执行脚本
For Windows
SQL>@D:\oracle\product\10.2.0\db_1\RDBMS\ADMIN\utlrp.sql;
For Linux
SQL>@/u01/app/oracle/product/10.2.0/db_1/RDBMS/ADMIN/utlrp.sql;
执行完毕后执行查询所有重新编译错误
SQL> select * from utl_recomp_errors;
未选定行(这里说明没有错误)
执行检查:
SQL> select name from v$database确认ORACLE_SID正确,为RAC01
SQL> show user确认当前使用者为SYS
SQL> select tablespace_name, bytes from dba_data_files对系统表空间大小进行确认。
For Windows
SQL>@d:\oracle\product\10.2.0\db_1/rdbms/admin/catupgrd.sql
For Linux
SQL>@/u01/app/oracle/product/10.2.0/db_1/rdbms/admin/catupgrd.sql
......
最近,工作的上需要处理一下项目中的极少量数据的重复问题。经过分析,结果发现是程序并发没有处理好而导致的。经过一番摸索,对数据库中的锁及程序的并发有了一点点小的心得。特写到此来与大家分享一下。
首先,我们来了解一下什么叫做锁。
我们再来看看锁的分类、作用及与程序并发性的关系。
了解了这么多。最重要的当然就是如何使用锁啦。下面我们一起来了解一下如何使用锁吧。 ......
最近,工作的上需要处理一下项目中的极少量数据的重复问题。经过分析,结果发现是程序并发没有处理好而导致的。经过一番摸索,对数据库中的锁及程序的并发有了一点点小的心得。特写到此来与大家分享一下。
首先,我们来了解一下什么叫做锁。
我们再来看看锁的分类、作用及与程序并发性的关系。
了解了这么多。最重要的当然就是如何使用锁啦。下面我们一起来了解一下如何使用锁吧。 ......
载自oracle中文技术论坛。从整体上介绍了一个dba的职责和任务等等。
ORACLE数据库管理员应按如下方式对ORACLE数据库系统做定期监控:
(1). 每天对ORACLE数据库的运行状态,日志文件,备份情况,数据
库的空间使用情况,系统资源的使用情况进行检查,发现并解决
问题。
(2). 每周对数据库对象的空间扩展情况,数据的增长情况进行监控,对数据库做健康检查,对数据库对象的状态做检查。
(3). 每月对表和索引等进行Analyze,检查表空间碎片,寻找数据库
性能调整的机会,进行数据库性能调整,提出下一步空间管理
计划。对ORACLE数据库状态进行一次全面检查。
每天的工作
(1).确认所有的INSTANCE状态正常
登陆到所有数据库或例程,检测ORACLE后台进程:
$ps –ef|grep ora
(2). 检查文件系统的使用(剩余空间)。如果文件系统的剩余空间小于20%,需删除不用的文件以释放空间。
$df –k
(3). 检查日志文件和trace文件记录alert和trace文件中的错误。
连接到每个需管理的系统
? 使用’telnet’
? 对每个数据库,cd 到bdump目 ......
CREATE SEQUENCE s_report_id INCREMENT BY 1 MAXVALUE 999999 START WITH 1;
CREATE SEQUENCE checkup_no_seq NOCYCLE MAXVALUE 999999 START WITH 2;
CREATE OR REPLACE TRIGGER bef_ins_report
BEFORE INSERT ON busi_report
referencing old as old new as new
FOR EACH ROW
BEGIN
new.rep_id = s_report_id.nextval;
END;
CREATE OR REPLACE TRIGGER bef_ins_report
BEFORE INSERT ON busi_report
FOR EACH ROW
DECLARE next_id NUMBER;
BEGIN
SELECT s_report_id.NEXTVAL INTO next_id from dual;
:new.rep_id := next_id;
END;
-------------------------------------------------------------------------
-----触发示例-----
-------------------------------------------------------------- ......