随笔分类 - 数据库技术
Oracle与SQL的学习与研究
摘要:以下比较不太全面,纯粹是个人的理解。可能是针对前一篇文章的补充与说明1、批量数据的处理比较业务逻辑:单位A部门划转到B部门,业务规则是把A部门的100人的关联单位改为B部门,同时在人员岗位变化子表里增加一条变动记录。业务实现:1)存储过程实现(SP实现)(两个SQL语句)insert into 岗位变化子表(变化前部门、变化前岗位、变化后部门、变化后岗位、生效时间、操作人、操作时间) select...
阅读全文
摘要:目前SAAS平台对于大家来说并不陌生,市场上真正属于SAAS应用的并不是特别多,还有很大一部分是ASP的模式在运行,不管对于公司还是技术部门都是很大的挑战。去年在做elearning项目的时候其实也就是一个ASP的模式扩展,ASP模式本身就会存在比较多的问题,虽然与传统的项目型有一定的区别,但从技术角度来看,差别不太大。
最近要弄一个SAAS平台的东西,所以恶补了一下相关的知识,在这里记录一下我的实践与总结。由于还没有最终验证也不太清楚效果如何。供大家讨论,希望可以给我一些意见。
阅读全文
摘要:PowerDesigner生成Access数据库
自从使用PD以来一直知道可以支持access但一直没有搞明白如何通过脚本来创建access数据表。在PD的tools里终于找到的答案,具体文件都在C:\Program Files\Sybase\PowerDesigner 12\Tools目录中。目前只支持access97与access2000的数据库。access2007的数据库还不支持,不过没有关系,只要生成出access2000数据库升级就行了,但麻烦的就是要去弄一个access2000的环境。当然直接使用access20007也可以,但就是需要使用97那个版本的才行,打开后把宏启用起来就OK了。否则用不了。
创建的原理就是通过access写的一个程序来分析执行PD生成的脚本,最终创建数据文件中创建数据表。
阅读全文
摘要:在设计的时候经常会碰到注释和Name不统一,需要手工复制的问题。其实PD提供了很好的方法可以批量进行调整。
我写了一个递归的修改方法,如下所示:可做为参考。
阅读全文
摘要:执行如下的脚本:
-- Change the HTTP/WEBDAV port from 8080 to 8081
call dbms_xdb.cfg_update(updateXML(dbms_xdb.cfg_get(), '/xdbconfig/sysconfig/protocolconfig/httpconfig/http-port/text()' , 8081))
/
-- Change the FTP port from 2100 to 2111
call dbms_xdb.cfg_update(updateXML( dbms_xdb.cfg_get() , '/xdbconfig/sysconfig/protocolconfig/ftpconfig/ftp-port/text()' , 2111))
/
COMMIT;
EXEC dbms_xdb.cfg_refresh;
阅读全文
摘要:使用表压缩来节省空间并提高查询性能 很多决策支持系统通常都涉及到存储于几个特大表中的大量数据。随着这些系统的发展,对磁盘空间的需求也在快速增长。在当今的环境下,存储着数百TB(太字节)的数据仓库已经变得越来越普遍。 为了帮助处理磁盘容量问题,在Oracle9i第2版中引入了表压缩特性,它可以极大地减少数据库表所需要的磁盘空间数量,并在某些情况下提高查询性能。 在本文中,我将向你说明表压缩是如...
阅读全文
摘要:以下转自网络: Oracle和DB2都支持分区表,但是我们得知道什么样的表适合使用分区表技术,Oracle的官方建议是超过2G的Table就要使用分区表。 下面来总结一下,各种数据库中如何获得这些大小信息: Oracle 10G中: 查询出当前用户的表所占用的空间大小,并按大小进行降序排列: Select Segment_Name,Sum(bytes)/1024/1024 From Use...
阅读全文
摘要:The following is a list of valid parameters when the to_char function is used to convert a date to a string. These parameters can be used in many combinations.
Parameter Explanation
YEAR Year, spelled out
YYYY 4-digit year
YYY
YY
Y Last 3, 2, or 1 digit(s) of year.
IYY
IY
I Last 3, 2, or 1 digit(s) of ISO year.
IYYY 4-digit year based on the ISO standard
Q Quarter of year (1, 2, 3, 4; JAN-MAR = 1).
MM Month (01-12; JAN = 01).
MON A
阅读全文
摘要:很久没有弄asp了,前几天朋友请我改一个程序,发现access里sum出来的值是没有办法判断的。如select sum(price) from sy_product where name like 'X%' 这样的语句执行后如果没有找到类似的记录,就会返回一个空值,前台用null判断根本就判断不出来。为些找了一下access中sql的空值判断函数。非常的特别是nz。上面的语句修改成select nz(sum(price),0) from sy_product where name like 'X%' 就可以了。
但在ASP里执行的时候会报错:提示‘NZ()函数未定义’,解决办法:改成select iif(isnull(sum(price)),0,sum(price)) from sy_product where name like 'X%'
阅读全文
摘要:很多人使用PD的时候就问有没有制作自动升级脚本的功能。其实是有的。
操作原理:
1、保存原来的版本,另存为apm的文件,生成一个Archive Model。
2、生成升级脚本,需要选择原来的版本
阅读全文
摘要:不知道什么原因在PL/SQL Dev中查看Blob和Clob字段的时候点旁边的按钮,会出现异常,提示“无效的窗口句柄”。重新安装程序也是不行,真是搞不懂了。[10月23日]今天终于解决了。原因没有找出来,但知道解决办法了。解决办法就是把原来的目录删除掉再安装,如果没有删除掉安装是无效的。 但删除掉安装有一个问题,就是原来的配置会全部丢掉。这个问题也解决了。只要复制两个目录就可以了。一个是Macro...
阅读全文
摘要:在上篇《Oracle9I数据库连接访问的解决方法》我有写过一个关于ASP.NET访问Oracle9I数据库的时候出现的权限问题。错误提示是:无法加载 DLL (oci.dll) 或未找到 Oracle 客户端和网络组件 今天又碰到同样的权限问题,错误提示是:Could not create an environment: OCIEnvCreate returned -1. 当然这些问题可能只会在....
阅读全文
摘要:如何把数据文件从C盘移动到D盘呢?很简单,三个步骤就行了第一步:把表空间Offline,把表空间的数据文件移动到D盘指定的目录。第二步:修改表空间文件路径alter database rename file '旧文件路径' to '新文件路径';第三步:把表空间Online,这样就可以了。 以下是一些其它方面的参考: 数据文件重命名(filesystem and raw device) files...
阅读全文
摘要:众所周知,在32位的操作系统如win2K上,操作系统能管理的内存为4GB(power(2,32) =4G) ,oracle使用的总内存有2G限制。目前大多数信息系统都能为数据库服务器配上4G物理内存甚至更多,但无论你为系统配置多大的物理内存,正常情况下都不能使oracle使用超过2G的内存(包含SGA、PGA等),从而造成系统资源浪费。那么,有没有什么办法能使运行在windows系...
阅读全文
摘要:现在真正体会到,要做一个合格的OracleDBA不是那么容易的。要能正确的区分问题所在及解决办法是相当困难的,需要一定的功底。从客户提供的相关数据来看,可能是有一些作用,但经过我们DBA分析后,证实这些数据实际的意义并不大。而且可能产生一些误导。比如建索引不一定都能提高效率,因为索引的维护也是需要大量的时间的。但有一点是肯定的,如果比较多的查询,建相关的索引肯定是没有问题的。Oracle的性能调整...
阅读全文
摘要:会产生这种视力被锁定的现象是删除某个对象的时候进程会死掉,创建的时候也是一样。我同事解释的可能原因是:在创建对象的时候没有创建完就被关掉了,或者就是没有执行完。然后造成线程锁定。解决的办法:1.找出等待事件的原因select event,p1,p2,sid from v$session_wait where event not like 'SQL%' and event not like 'rdb...
阅读全文
摘要:其中部分是转自其它地方。select user from dual 查看当前连接的用户名ORA-24338: 未执行语句句柄 这个问题主要出现在使用数据库游标的时候。当执行存储过程,返回的游标没有打开时,就会报这个错。open cur_User for select * from sy_users; 游标没有打开的情况一般是忘记了写打开游标的语句,也可能是存储过程中执行出错,导致最后游...
阅读全文
摘要:SQL语句太长了,需要通过dbms_sql.varchar2s这个数组类型来进行存储。然后才能执行。declare l_stmt dbms_sql.varchar2s; l_cursor integer default dbms_sql.open_cursor; l_rows number default 0; l_length number := 0;begin l...
阅读全文
摘要:感觉加密后如果有中文汉字的时候加密后的文件几乎是原来文件的两倍大。而且运行加密后的脚本速度也慢了好几倍,可能会慢了10倍吧,至于为什么会这样我也不清楚。不加密的代码可用,但用wrap加密过的plb代码无法通过编译环境:oracle9201 window xp profession 加密命令如下:本人尝试了以下二种方法方法一:set NLS_LANG=AMERICAN_AMERICA.WE8ISO8...
阅读全文
摘要:在安装过程中出现的一些问题的解决办法。值得收藏与学习。比如在安装的时候如果有中文的路径则会出现类似这样的提示:加载数据库时出错:areasQueries
阅读全文