易截截图软件、单文件、免安装、纯绿色、仅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 索引失效、创建及重建

两三个月没有做数据分析了,今天一分析,竟然发现很多索引(约30%)失效。
失效原因大致有以下几种:
在SQL*LOADER 加载过程中会维护索引,由于数据量比较大,在SQL*LOADER 加载过程中出现异常情况,导致ORACLE 来不及维护索引,导致索引处于失效状态,影响查询和加载。
异常情况主要有:在加载过程中杀掉SQL*LOADER 进程,重启,表空间不够等。
下一步重建索引,并把索引表空间放在单独的硬盘上。
重新建立索引
ALTER INDEX indexname REBUILD TABLESPACE TABLESPACE [on line];
创建索引
CREATE INDEX indexname ON TABLENAME(COLUMNNAME) TABLESPACE TABLESPACENAME; ......

Oracle 查看用户权限以及索引

1.查看所有用户
     select * from all_users; -------查看所有的用户
     select * from user_users; --------查看当前用户
2.查看用户或角色系统权限:
     select * from user_sys_privs; --------查看当前用户的权限
3.查看角色所包含的权限
     select * from role_sys_privs;   -------
4.查看用户对象权限
     select * from all_tab_privs;   --------查看所用的用户的可操作表权限
     select * from user_tab_privs; --------查看当前用户的表可操作权限
5.查看用户或角色所拥有的角色
     select * from user_role_privs;   ------查看当前用户的角色
查看表的约束条件包含:主键 外键。 以及索引
select * from user_constraints where TABLE_NAME='?';    -----查看某一个表的约束
select constraint_type,constraint_name,search_condition from all_constraints
where table_name='?';
select * from user_cons_columns where TABLE_N ......

Oracle表空间

Oracle创建删除用户、角色、表空间、导入导出、...命令总结 
//创建临时表空间
create temporary tablespace zfmi_temp
tempfile 'D:\oracle\oradata\zfmi\zfmi_temp.dbf'
size 32m
autoextend on
next 32m maxsize 2048m
extent management local;
//tempfile参数必须有
//创建数据表空间
create tablespace zfmi
logging
datafile 'D:\oracle\oradata\zfmi\zfmi.dbf'
size 100m
autoextend on
next 32m maxsize 2048m
extent management local;
//datafile参数必须有
//删除用户以及用户所有的对象
drop user zfmi cascade;
//cascade参数是级联删除该用户所有对象,经常遇到如用户有对象而未加此参数则用户删不了的问题,所以习惯性的加此参数
//删除表空间
前提:删除表空间之前要确认该表空间没有被其他用户使用之后再做删除
drop tablespace zfmi including contents and datafiles cascade onstraints;
//including contents 删除表空间中的内容,如果删除表空间之前表空间中有内容,而未加此参数,表空间删不掉,所以习惯性的加此参数
//including datafiles 删除表空间中的数据文件
//cascade constraints 同时删除tablespac ......

Oracle中start with...connect by prior子句用法

connect by 是结构化查询中用到的,其基本语法是:
select ... from tablename start with 条件1
connect by 条件2
where 条件3;
例:
select * from table
start with org_id = 'HBHqfWGWPy'
connect by prior org_id = parent_id;
简单说来是将一个树状结构存储在一张表里,比如一个表中存在两个字段:
org_id,parent_id那么通过表示每一条记录的parent是谁,就可以形成一个树状结构。
用上述语法的查询可以取得这棵树的所有记录。
其中:
条件1 是根结点的限定语句,当然可以放宽限定条件,以取得多个根结点,实际就是多棵树。
条件2 是连接条件,其中用PRIOR表示上一条记录,比如 CONNECT BY PRIOR org_id = parent_id就是说上一条记录的org_id 是本条记录的parent_id,即本记录的父亲是上一条记录。
条件3 是过滤条件,用于对返回的所有记录进行过滤。
简单介绍如下:
早扫描树结构表时,需要依此访问树结构的每个节点,一个节点只能访问一次,其访问的步骤如下:
第一步:从根节点开始;
第二步:访问该节点;
第三步:判断该节点有无未被访问的子节点,若有,则转向它最左侧的未被访问的子节,并执行第二步,否则执行第四步;
第 ......

oracle Function


5.调用函数FN_ADDONE
--------------------
SQL> SET SERVEROUTPUT ON
SQL> DECLARE CNUM NUMBER;
  2  BEGIN
  3     CNUM := USER1_ADB.FN_ADDONE(3);
  4     DBMS_OUTPUT.PUT_LINE('CNUM = ' || CNUM);
  5  END;
  6  /
CNUM = 4
PL/SQL 过程已成功完成。
6.删除函数FN_ADDONE
--------------------
SQL> DROP FUNCTION USER1_ADB.FN_ADDONE;
......

执行commit时oracle做哪些工作

COMMIT是一个非常快的操作,当我们发布commit命令时,真正困难的动作已经完成,
在数据库中已经执行了数据更改,所以已经完成了99%的任务,例如:下列操作已经产生:
 
      1.在SGA(Buffer Cache)中已经生成了undo块;
      2.在SGA(Buffer Cache)中已经生成了产生改变的数据块和索引块;
      3.在REDO LOG BUFFER生成了前面两项的redo信息;
      4.依赖于前三项产生的数据量大小以及操作需要的时间,buffer中的数据可能已经
         有一部分输出到了磁盘;
      5.所有需要的锁已经获得;
     
      当执行COMMIT命令时,只执行如下操作:
     
      1.为事务生成SCN:SCN是ORACLE数据库的一种计时信息,用以保证事务的顺序性,
         同时还用于失败恢复和保证数据库的读一致性和检查点,无论何时何人提交, ......
总记录数:40319; 总页数:6720; 每页6 条; 首页 上一页 [2695] [2696] [2697] [2698] 2699 [2700] [2701] [2702] [2703] [2704]  下一页 尾页
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号