易截截图软件、单文件、免安装、纯绿色、仅160KB
热门标签: c c# c++ asp asp.net linux php jsp java vb Python Ruby mysql sql access Sqlite sqlserver delphi javascript Oracle ajax wap mssql html css flash flex dreamweaver xml
 最新文章 :

oracle合并表的碎片

Shrink space合并表的碎片
一般表里有碎片我们都采用alter table table_name move tablespace_name,或者exp,drop table table_name,imp的2种方式10G给我们其他的方法.下面我来试一吧
用Shrink Space收缩Oracle数据段
在oracle中可以使用alter table table_name shrink space收缩表,使用shrink有两个前提条件:
  1、表必须启用row movement
  2、表段所在表空间的段空间管理(segment space management)必须为auto
实验如下:
--建立一个segment space management auto表空间
SQL> create tablespace ts_auto datafile 'd:\oracle\product\10.2.0\oradata\orcl\ts_auto.dbf' size 100m
 extent management local segment space management auto;
表空间已创建。
--建议测试表
SQL> create table  table_auto  as select * from dba_objects;
表已创建。
--查看shrink前的块数量
SQL> select blocks from dba_segments where segment_name='table_auto';
    BLOCKS                      &n ......

成为Oracle DBA最基本的十步

随着Oracle技术和市场的快速发展,目前从事Oracle DBA工作的人群越来越庞大,从一些我经常去的论坛和社区中大家发的帖子上看的出,很多人都渴望在现在或将来从事这一领域的工作,现在的市场需求也很大,但不难看出,各个公司对DBA这个岗位的要求也越来越高,当然了,高薪、高挑战和可持续发展的职业通道吸引了大量的年轻人去尝试进入这一领域工作. 
对一个以前没怎么接触过Oracle Database的新手来说,如何才能快速的成为一个Oracle DBA,是他们目前所迫切渴望的.很多人因为学习的方法不对,走入了误区,感觉到越学越累,越学越糊涂,越学越不明白... 
关于学习方法这个问题,可以说是仁者见仁,智者见智.每个人都有一套自己已经习惯了学习模式和接收新事物的习惯.Oracle ACE 盖国强先生为后来的学弟学妹们提出了很多宝贵的意见和建议. 
下面摘录一些盖国强先生对Oracle爱好者关于学习方法和思路方面曾经提谈到的经典建议
   1)克服心理恐惧障碍
   2)学会认真阅读,基础重于一切
   3)由点及面、由浅入深
   4)通过实践检验所学知识
   5)见微知著 
兴趣 + 勤奋 + 坚持 + 方法≈成功  
具备了这些基 ......

Oracle Database中DBA常用的表和视图


dba_开头
   dba_users     数据库用户信息
   dba_segments  表段信息
   dba_extents    数据区信息
   dba_objects    数据库对象信息
   dba_tablespaces   数据库表空间信息
   dba_data_files    数据文件设置信息
   dba_temp_files   临时数据文件信息
   dba_rollback_segs   回滚段信息
   dba_ts_quotas   用户表空间配额信息
   dba_free_space  数据库空闲空间信息
   dba_profiles   数据库用户资源限制信息
   dba_sys_privs   用户的系统权限信息
   dba_tab_privs  用户具有的对象权限信息
   dba_col_privs  用户具有的列对象权限信息
   dba_role_privs  用户具有的角色信息
   dba_audit_trail  审计跟踪记录信息
   dba_stmt_audit_opts  审计设置信息
   dba_audit_ ......

Oracle编程常见错误和分析

1.        资源正忙错误
在pl/sql developer开一个sql window,执行如下sql不提交
Create Table aa(a Int);
Insert Into aa Values(234);
再开一个sqlwindow执行
Drop Table aa
就会报ora-00054错误。
Oracle锁的知识:
此时Oracle已经对返回的结果集上加了排它的行级锁,所有其他对这些数据进行的修改或删除操作都必须等待这个锁的释放,产生的外在现象就是其他的操作将发生阻塞,这个这个操作commit或rollback.
同样这个查询的事务将会对该表加表级锁,不允许对该表的任何ddl操作,否则将会报出ora-00054错误::resource busy and acquire with nowait specified.
因为DDL语句需要表上的排他锁,而这与DML语句已在表上放置了共享锁相冲突,所以试图在表中插入一个列的这条DDL语句会失败.需要注意的是:在类似情况下,DML语句会等待并不断进行尝试,直至获得其所需的锁(换句话说就是挂起);而DDL语句则会由于错误立即终止.
ejb BllRequireNewTrans在ejb-jar.xml被配置为需要一个新事务,所以调用此ejb方法的事务和BllRequireNewTrans不在一个事务中,不注意就会引发上面的错误。
<container-transaction>
<method>
&nb ......

oracle 存储过程 交集

create or replace procedure TestJiaoJi
  is
   type nt_table_type is table of number;
   nt1 nt_table_type:=nt_table_type(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0);
   nt2 nt_table_type:=nt_table_type(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0);
   result nt_table_type;
       iTotalNum integer:=0;--记录交集个数,不包括0
  begin
    for n in 1..5
      loop
        nt1(n) :=n;
        nt2(n) :=n+2;       
      end loop;
    result:=nt1 multiset intersect nt2;--求交集
    dbms_output.put_line('交集是:');
    for i in 1..result.count
      loop
        if(result(i)!=0) then
   ......

partition outer join in oracle 10g

Partition outer join is a new mechanism in 10g to "invent" data to fill the gaps in non-contiguous results. In 10g there are many methods to deal with such a problem (including the awe-inspiring, but equally terrifying, MODEL clause). In older versions of Oracle, "data-densification" was not as simple and certainly less efficient than it has now become.
the problem
This article has been motivated by a response I gave to a problem raised on an Oracle developer forum. Our requirement is to produce a report that details customer spending for each month of the year. Our database only records actual spend, so for any given month, data for dormant or idle customers will have to be generated.
setup
First, we'll create a mock CUSTOMER_ORDERS table with sparse data to represent customer spending. To keep the example simple, we'll denormalise the customer name onto the orders table.
SQL> CREATE TABLE customer_orders (name, dt, amt)
  2  AS
  3     SEL ......
总记录数:40319; 总页数:6720; 每页6 条; 首页 上一页 [2] [3] [4] [5] 6 [7] [8] [9] [10] [11]  下一页 尾页
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号