数据库相关
simonezhlx
专注.net技术,对java和嵌入式开发都有兴趣,可惜为了生计还是要用C#来给PC写代码.热衷设计模式,最近在学习框架设计方面的东西.当然如果你有工作流方面的问题想讨论,也别忘了算上本人.
展开
-
同义词创建函数
在处理某项目现场问题时,由于服务器迁移需要.同义词需要重建,原同义词创建工具已经不可用所以本人写了一个function 来实现同库用户间批量创建同义词.内容如下:create or replace function CreateSynonymForUser(SourceUser in varchar2,TarUser in varchar2) return integer is Resu原创 2008-05-29 10:56:00 · 1608 阅读 · 0 评论 -
Oracle JOB
一、设置初始化参数 job_queue_processes sql> alter system set job_queue_processes=n;(n>0) job_queue_processes最大值为1000 查看job queue 后台进程 sql>select name,description from v$bgprocess; 二,dbms_job package 用转载 2009-03-20 10:43:00 · 541 阅读 · 0 评论 -
Oracle中容易混淆的概念
Db_name:对一个数据库(Oracle database)的唯一标识。这种表示对于单个数据库是足够的,但是随着由多个数据库构成的分布式数据库的普及,这种命令数据库的方法给数据库的管理造成一定的负担,因为各个数据库的名字可能一样,造成管理上的混乱。为了解决这种情况,引入了Db_domain参数,这样在数据库的标识是由Db_name和Db_domain两个参数共同决定的,避免了因为数据库重名转载 2009-04-02 10:38:00 · 552 阅读 · 0 评论 -
Database Link与GLOBAL_NAMES参数
当GLOBAL_NAMES参数设置为TRUE时,使用DATABASE LINK时,DATABASE LINK的名称必须与被连接库的GLOBAL_NAME一致。下面做一个测试,在测试中,创建数据库链接的库为XJ(WINDOWS 2003 ORACLE 10g 10.2.0.1),被链接的库为DMDB(LINUX AS5 ORACLE 10g 10.2.0.1 RAC)首先查看DMDB的相关配置:转载 2009-04-02 10:19:00 · 1096 阅读 · 0 评论 -
也谈分析函数over
as we know ,Oracle从8.1.6开始提供分析函数,分析函数用于计算基于组的某种聚合值,它和聚合函数的不同之处是对于每个组返回多行,而聚合函数对于每个组只返回一行。快哭了。。。来看看区别:1.先创建示例表:create table empasselect * from scott.emp;alter table empadd constraint emp_pkprimar原创 2009-08-07 11:11:00 · 666 阅读 · 0 评论 -
用时查查,ORACLE各个服务的作用描述
注:SID - 数据库标识HOME_NAME - Oracle Home名称,如OraHome92、OraHome81(1)OracleServiceSID 数据库服务,这个服务会自动地启动和停止数据库。如果安装了一个数据库,它的缺省启动类型为自动。服务进程为ORACLE.EXE,参数文件initSID.ora,日志文件SIDALRT.log,控制台SVRMGRL.EXE、SQLPLUS.EXE。转载 2009-08-23 16:42:00 · 694 阅读 · 0 评论 -
SQLite
SQLite是一个小型的C程序库,实现了独立的,可嵌入的,零配置的SQL数据库引擎。特性包括: 事务操作是原子,一致,孤立,并且持久的(ACID),即使在系统崩溃和电源故障之后。 零配置——不需要安装和管理。 实现了绝大多数SQL92标准。 (不支持的特性) 整个数据库存储在一个单一的文件中。 数据库文件可以在不同字节序的机器之间自由地共享。 支持最大可达2T的数转载 2009-10-20 09:54:00 · 602 阅读 · 0 评论 -
ORACLE系统表和视图(用时查查)
1.系统表ORACLE数据库的系统参数都存储在数据库中,可以通过SQLPLUS,以用户SYSYTEM进行查询。几个重要的表或者视图如下:v$controlfile:控制文件的信息;v$datafile:数据文件的信息;v$log:日志文件的信息;v$process:处理器的信息;v$session:会话信息;v$transaction:事务信息;v$resource:资源信息;v$sga:转载 2009-12-04 14:26:00 · 785 阅读 · 0 评论 -
PL SQL中复制出的中文乱码
之前使用PLSQL,都是以写入内容为主,写入中文内容偶有乱码,但是只在显示上并未影响存取,所以没有在意。今天在修改一个视图时,需要将修改内容记录下来,so,想写个修改记录,就把视图内容拷贝了出现,发现拷贝出现的中文内容出现乱码。并未完全在意,以为只要原样放回plsql就会好的,但是保存再取出放到plsql中发现仍然是乱码。。。所以就查资料找到一个临时解决方法,分享给大家: 在输入法原创 2009-12-22 17:25:00 · 5934 阅读 · 0 评论 -
未解问题汇总
1.从前写sql语句时as 中文一列名时,除非是关键字否则通常不加"",最近重新部署了一台服务器,发现原来的没问题的SQL语句,一执行就无响应了,然后服务器查看ORACLE进程的CPU占用率就会持续高过80%,只有终止进程,否则数据库会持续无响应。从前也碰到过类似现象,当时一直以为跟ORACLE版本或是服务器环境或是自己查询复杂有关。今天无意测试发现一个规律,查询中所有as成中文列名的全部改成英文原创 2009-12-25 14:17:00 · 770 阅读 · 0 评论 -
ORACLE EXP(导出)/IMP(导入)的使用详解
导入/导出是ORACLE幸存的最古老的两个命令行工具,其实我从来不认为Exp/Imp是一种好的备份方式,正确的说法是Exp/Imp只能是一个好的转储工具,特别是在小型数据库的转储,表空间的迁移,表的抽取,检测逻辑和物理冲突等中有不小的功劳。当然,我们也可以把它作为小型数据库的物理备份后的一个逻辑辅助备份,也是不错的建议。对于越来越大的数据库,特别是TB级数据库和越来越多数据仓库的出现,EXP/IM转载 2008-12-15 16:05:00 · 7056 阅读 · 0 评论 -
利用Oracle执行计划机制提高查询性能
消耗在准备利用Oracle执行计划机制提高查询性能新的SQL语句的时间是Oracle SQL语句执行时间的最重要的组成部分。但是通过理解Oracle内部产生执行计划的机制,你能够控制Oracle花费在评估连接顺序的时间数量,并且能在大体上提高查询性能。 准备执行SQL语句 当SQL语句进入Oracle的库缓存后,在该语句准备执行之前,将执行下列步骤: 1) 语法检查:检查SQL语句拼写转载 2008-12-08 16:08:00 · 622 阅读 · 0 评论 -
同义词创建函数
还是同一个项目,在用ORACLE客户端创建某表的触发器时(与序列一起,实现自增长列),报"ORA-04082: NEW 或 OLD 引用不允许在表层触发器中",后查资料得知"new和old这两个伪记录,只能在行级触发器里用,不可以在表级触发器中使用 ",唉~之前,一直用PL/SQL,用惯了,CREATE OR REPLACE TRIGGER [triggername] BEFOREINSERT O原创 2008-05-29 11:27:00 · 1137 阅读 · 2 评论 -
oracle中执行java源码
今天在与项目中的合作单位合作时需要提供我们的算法给对方,后了解到他们直接在数据库中实现了算法.遂发现原来ORACLE中也可以执行java源码,虽然偶稀c#er,但是也不免好奇的做了如下测试:1.在ORACLE数据库中创建功能类(实现签名):CREATE OR REPLACE AND RESOLVE JAVA SOURCE NAMED TestSignName ASpublic class原创 2008-06-02 16:39:00 · 1589 阅读 · 0 评论 -
ORACLE概念之嵌套表
一、嵌套表的定义: 嵌套表是表中之表。一个嵌套表是某些行的集合,它在主表中表示为其中的一列。对主表中的每一条记录,嵌套表可以包含多个行。在某种意义上,它是在一个表中存储一对多关系的一种方法。考查一个包含部门信息的表,在任何时间内每个部门会有很多项目正在实施。在一个严格的关系模型中,将需要建立两个独立的表department和project。 嵌套表允许在department表中存放关于项目的信转载 2008-10-28 15:12:00 · 7639 阅读 · 0 评论 -
Power designer 反向工程 通过数据源生成ER图
近期,项目需要,需要画ER图.想起自己机器上安装了PD 12.5,遂想利用该工具自动生成ER图.费话不说,步骤如下:打开PD,点击菜单FILE -> Reverse Engineer->database ,出现如下界面:在DBMS中选择适当的数据库类型和版本,点击确定,出现如下界面: 因本文限制,只介绍通过数据源方式的反向生成,看选项,我们知道,也可能通过描述脚本来原创 2009-01-04 12:06:00 · 13135 阅读 · 4 评论 -
关于 ORA-00937: 非单组分组函数 异常
如果选取列中包含一列是聚合函数执行结果,同时选取列多于一列时,需要指定分组,否则就会出现标题的ORACLE异常.如:select sum(col1),col2 from table1执行该语句时会出现标题异常.解决后:select sum(col1),col2 from table1 group by col2原创 2008-11-24 13:06:00 · 4151 阅读 · 1 评论 -
ORA-04082: 及 ORA-06512 异常,table trigger 影响自身修改示例
1.示例表创建:-- Create tablecreate table TESTTABLE( COL1 NVARCHAR2(4) not null, COL2 NVARCHAR2(4))tablespace USERS pctfree 10 initrans 1 maxtrans 255 storage ( initial 64K minextents 1 ma原创 2008-11-27 11:19:00 · 3405 阅读 · 0 评论 -
ORACLE数据库 批量创建同义词
1.同库不同用户之间建立同义词.使用同义词创建函数实现.create or replace function CreateSynonymForUser(SourceUser in varchar2,TarUser in varchar2) return integer is Result integer; iCount integer(8); sTableName varchar2(10原创 2008-11-28 13:43:00 · 4357 阅读 · 0 评论 -
oracle 922错误 imp 从9.2导出的dmp导入到9.0
今天在用户现场,碰到个麻烦,用户服务器上安装了oracle 9i但是版本是9.0,而我们使用的ORACLE 9I是9.2版本的,结果我们通过exp备份出来的dmp文件在还原(imp)到用户服务器上时,出现oracle 922错误,网上搜索后得知与两边版本不一致有关,据说高版本可以导入低版本的备份,反之就有问题了,后又查到资料,找到如下解决方法: 用ultraedit32打开dmp文件,可以看到原创 2008-12-04 17:07:00 · 3087 阅读 · 3 评论 -
ORACLE执行计划的一些基本概念
一.相关的概念Rowid的概念:rowid是一个伪列,既然是伪列,那么这个列就不是用户定义,而是系统自己给加上的。对每个表都有一个rowid的伪列,但是表中并不物理存储ROWID列的值。不过你可以像使用其它列那样使用它,但是不能删除改列,也不能对该列的值进行修改、插入。一旦一行数据插入数据库,则rowid在该行的生命周期内是唯一的,即即使该行产生行迁移,行的rowid也不会改变。Recur转载 2008-12-08 11:39:00 · 487 阅读 · 0 评论 -
SqlBulk
<br />功效:批量高效插入数据,较之SQL语句的方式快至少25倍以上。<br /> <br />适用范围:SqlBulkCopy 类只能用于向 SQL Server 表中写入数据。 但是,数据源不限于 SQL Server;可以使用任何数据源,只要数据可以加载到 DataTable 实例或使用 IDataReader 实例读取即可。 <br /> <br />原理:Microsoft SQL Server 包含名为 bcp 的常用命令行应用程序,用于快速将大文件批量复制到 SQL Server 数据库的原创 2011-05-18 09:52:00 · 2769 阅读 · 1 评论