Expert_one_on_one笔记.txt
http://www.yourblog.org/Data/20043/15666.html 知识点 0、使用临时表 在存储过程中不要使用临时表:DDL语句限制了伸缩性,DDL很慢,访问表需使用动态SQL,慢。 1、关于自动增长字段 create sequence; 2、存储过程返回结果集 3、往别处复制数据库,在每天某一时间执行更新。使用 create snapshot 4、AQ(高级队列)。得到在队列表中第一个没有锁定的记录,并且锁定它。 5、如何确定终端用户在数据库中只有一个会话。 建立概要文件,同时要把resource_limit参数设置为true; create profile one_session limi
杀掉Oralcle的一些session
a、 找到你要杀掉的那个session, 并记下paddr select sid, username, paddr, status from v$session where username = '用户名' and status = 'INACTIVE'; b、 找到这个session所对应的spid select * from v$process where addr = '上面查寻的paddr'; c、 杀掉spid所标识的那个进程 C:>orakill sid spid sid:v$session spid:v$process[@more@]
限制某个用户的访问的进程processes数量
我想能不能在数据库这边设定某个用户的最大访问进程数? 使用PROFILE 先创建一个PROFILE create profile ses_conn limit sessions_per_user n; n为最大连接数。 然后将该PROFILE付给需要限制的用户。 alter user xxx profile ses_conn; 最后别忘了确认RESOURCE_LIMIT参数已设为TRUE。 如果没有,用 alter system set recource_limit=TRUE;[@more@]SQL> create profile ses_conn limit sessions_per_user 10; 配置文件已创建 SQL> alter user dmsuserjn profile ses_conn; 用户已更改。 S
Oracle中精确到毫秒的表示
如果是9i,可以直接取到毫秒 如果是8i,可以得到1/100秒 如果需要得到毫秒,请用如下java过程 SQL>create or replace and compile java source named "MyTimestamp" as import java.lang.String; import java.sql.Timestamp; public class MyTimestamp { public static String getTimestamp() { return(new Timestamp(System.currentTimeMillis())).toString(); } }; SQL>java created. 注:注意java的语法,注意大小写 SQL>create or replace function my_
行迁移,行链接
数据块空间的分配 因数据库中的数据被存放在数据块中,因此如何分配数据块中的空间将直接影响其存取性能。 当用update语句更新一行数据时,可能使该行的数据增加,从而使其在一个数据块内容纳不下。这时,Oracle就寻找能容纳下该行的数据块,如果能找到这样的块,便把该行全部存入新块中(这称为行移动)。如果找不到能容纳该整行的数据块,则把该行切成若干片,然后把每一片分别存放在一个数据块中,于是这样的行被存放在多个数据块中,这种行称为链接行。查询一个链接行则需要多次I/O操作,从而产生I/O瓶颈,这将降低数据的存取性能。[@
笔记一
1、关于catpatch.sql在做系统升级时遇到的问题:系统运行环境:win2000+oracle816客户要求用oracle9.2.0.4[@more@]表空间,用户建好,数据导入成功,在运行系统的时候,报错,分析原因是pl/sql的不兼容。以dba身份登陆后,运行@oracle_homeora92rdbmsadmincatpatch.sql完成后,系统运行正常。2、导入数据,imp 加参数ignore=y, 忽略已创建对象,可以不删表的情况下,导入数据。3