zoukankan      html  css  js  c++  java
  • ORACLE之常用FAQ V1.0一(构架零碎)

      起原:赛迪网 作者:E剑  




    [Q]ORACLE的有那些数据范例  

      [A]罕见的数据范例有  

      CHAR牢固长度字符域,最大年夜长度可达2000个字节  

      NCHAR多字节字符集的牢固长度字符域,长度随字符集而定,最多为2000个字符或2000个字节  
    VARCHAR2可变长度字符域,最大年夜长度可达4000个字符

      NVARCHAR2多字节字符集的可变长度字符域,长度随字符集而定,最多为4000个字符或4000个字节

      DATE用于存储一切日期的牢固长度(7个字节)字符域,工夫作为日期的一  

      部分存储其中。除非经过议定设置init.ora文件的NLS_DATE_FORMAT  

      参数来代替日期格式,不然盘诘时,日期以DD-MON-YY格式示意,如13-APR-99示意1999.4.13  

      NUMBER可变长度数值列,答应值为0、负数和负数。NUMBER值几次以4  

      个字节或更少的字节存储,最多21字节  

      LONG可变长度字符域,最大年夜长度可到2GB  

      RAW示意二进制数据的可变长度字符域,最长为2000个字节  

      LONGRAW示意二进制数据的可变长度字符域,最长为2GB  

      MLSLABEL只用于TrustedOracle,这个数据范例每行运用2至5个字节  

      BLOB二进制大年夜对象,最大年夜长度为4GB  

      CLOB字符大年夜对象,最大年夜长度为4GB  

      NCLOB多字节字符集的CLOB数据范例,最大年夜长度为4GB  

      BFILE外部二进制文件,大年夜小由操作零碎决意  

      ROWID示意RowID的二进制数据,Oracle8RowID的数值为10个字节,在Oracle7中运用的限制  

      RowID格式为6个字节  

      UROWID用于数据寻址的二进制数据,最大年夜长度为4000个字节  

      [Q]Oracle有哪些罕见关头字,不克不及被用于工签字  

      [A]以8i版本为例,一样寻常生计关头字不克不及用做工签字  

      ACCESS ADD ALL ALTER AND ANY AS ASC AUDIT BETWEEN

      BY CHAR CHECK CLUSTER COLUMN COMMENT COMPRESS

      CONNECT CREATE CURRENT DATE DECIMAL DEFAULT DELETE  

      DESC DISTINCT DROP ELSE EXCLUSIVE EXISTS FILE FLOAT

      FOR FROM GRANT GROUP HAVING IDENTIFIED IMMEDIATE  

      IN INCREMENT INDEX INITIAL INSERT INTEGER INTERSECT  

      INTO IS LEVEL LIKE LOCK LONG MAXEXTENTS MINUS MLSLABEL

      MODE MODIFY NOAUDIT NOCOMPRESS NOT NOWAIT NULL

      NUMBER OF OFFLINE ON ONLINE OPTION OR ORDER PCTFREE  

      PRIOR PRIVILEGES PUBLIC RAW RENAME RESOURCE REVOKE  

      ROW ROWID ROWNUM ROWS SELECT SESSION SET SHARE  

      SIZE SMALLINT START SUCCESSFUL SYNONYM SYSDATE TABLE

      THEN TO TRIGGER UID UNION UNIQUE UPDATE USER VALIDATE  

      VALUES VARCHAR VARCHAR2 VIEW WHENEVER WHERE WITH  

      仔细信息可以搜检v $reserved_words视图  

      [Q]怎样搜检数据库版本  

      [A]select * from v $version  

      包罗版本信息,中间版本信息,位数信息(32位或64位)等  

      至于位数信息,在linux/unix平台上,可以经过议定file搜检,如  

      file  $ORACLE_HOME/bin/oracle  

      [Q]怎样搜检数据库参数  

      [A]show parameter 参数名  

      如经过议定show parameter spfile可以搜检9i可否运用spfile文件  

      或许select * from v $parameter  

      除了这部分参数,Oracle还有大年夜量隐含参数,可以经过议定如下语句搜检:  

      SELECT NAME

      ,VALUE

      ,decode(isdefault, 'TRUE','Y','N') as "Default"

      ,decode(ISEM,'TRUE','Y','N') as SesMod

      ,decode(ISYM,'IMMEDIATE', 'I',

      'DEFERRED', 'D',

      'FALSE', 'N') as SysMod

      ,decode(IMOD,'MODIFIED','U',

      'SYS_MODIFIED','S','N') as Modified

      ,decode(IADJ,'TRUE','Y','N') as Adjusted

      ,description

      FROM ( --GV $SYSTEM_PARAMETER

      SELECT x.inst_id as instance

      ,x.indx 1

      ,ksppinm as NAME

      ,ksppity

      ,ksppstvl as VALUE

      ,ksppstdf as isdefault

      ,decode(bitand(ksppiAV女伶/256,1),1,'TRUE','FALSE') as ISEM

      ,decode(bitand(ksppiAV女伶/65536,3),

      1,'IMMEDIATE',2,'DEFERRED','FALSE') as ISYM

      ,decode(bitand(ksppstvf,7),1,'MODIFIED','FALSE') as IMOD

      ,decode(bitand(ksppstvf,2),2,'TRUE','FALSE') as IADJ

      ,ksppdesc as DESCRIPTION

      FROM x $ksppi x

      ,x $ksppsv y

      WHERE x.indx = y.indx

      AND substr(ksppinm,1,1) = '_'

      AND x.inst_id = USERENV('Instance')

      )

      ORDER BY NAME  

      [Q]怎样样搜检数据库字符集  

      [A]数据库效力器字符集select * from nls_database_parameters,  

      其起原于props $,是示意数据库的字符集。  

      客户端字符集形状select * from nls_instance_parameters,其起原  

      于v $parameter,示意客户端的字符集的设置,可以或许是参数文件,形状  

      变量或许是注册表会话字符集形状  

      select * from nls_session_parameters,  

      其起原于v $nls_parameters,示意会话本人的设置,可以或许是会话的形状  

      变量或许是alter session完成,如果会话没有特别的设置,将与 

      nls_instance_parameters一概。  

      客户端的字符集要求与效力器一概,才干准确透露表现数据库的非Ascii字符。  

      如果多个设置存在的时间,alter session>形状变量>注册表>参数文件  

      字符集要求一概,但是说话设置却可以分比喻,说话设置建议用英文。如字  

      符集是zhs16gbk,则nls_lang可以是American_America.zhs16gbk。  

      [Q]怎样样改削字符集  

      [A]8i以上版本可以经过议定alter database来改削字符集,但也只限于子集  

      到超集,不建议改削props $表,将可以或许招致严重错误。

      Startup nomount;

      Alter database mount exclusive;

      Alter system enable restricted session;

      Alter system set job_queue_process=0;

      Alter database open;

      Alter database character set zhs16gbk;

      [Q]怎样设立拔擢基于函数索引  

      [A]8i以上版本,确保

      Query_rewrite_enabled=true

      Query_rewrite_integrity=trusted

      Compatible=8.1.0以上

      Create index indexname on table (function(field));  

      [Q]怎样样移动表或表分区  

      [A]移动表的语法

      Alter table tablename move

      [Tablespace new_name

      Storage(initial 50M next 50M

      pctincrease 0 pctfree 10 pctused 50 initrans 2) nologging]

      移动分区的语法

      alter table tablename move (partition partname)

     [update global indexes]

      之后之后必须重建索引  

      Alter index indexname rebuild如果表有Lob段,那么正常的Alter不克不及移动Lob段到其它表空间,而仅仅是移动了表段,可以采纳如下的法子移动Lob段

      alter table tablename move

      lob(lobsegname) store as (tablespace newts);  

      [Q]怎样得到今后的SCN  

      [A]9i以下版本  

      select max(ktuxescnw*power(2,32) ktuxescnb) from x $ktuxe;  

      如果是9i以上版本,还可以经过议定以下语句获取  

      select dbms_flashback.get_system_change_number from dual;  

      [Q]ROWID的机关与组成

      [A]8以上版本的ROWID组成  

      OOOOOOFFFBBBBBBRRR  

      8以下ROWID组成(也叫受限Rowid)  

      BBBBBBBB.RRRR.FFFF  

      其中,O是对象ID,F是文件ID,B是块ID,R是行ID  

      如果我们盘诘一个表的ROWID,凭证其中块的信息,可以知道该表实在  

      占用了若干好多个块,进而知道占用了若干好多数据空间(此数据空间不等于表的分配空间)  

      [Q]怎样样获取对象的DDL语句  

      [A]第三方对象就不说了主要说一下9i以上版本的dbms_metadata  

      1、获得单个对象的DDL语句

      set heading off

      set echo off

      set feedback off

      set pages off

      set long 90000

      select dbms_metadata.get_ddl('TABLE','TABLENAME','SCAME') from dual;  

      如果获取整个用户的剧本,可以用如下语句  

      select dbms_metadata.get_ddl('TABLE',u.table_name) from user_tables u;

      固然,如果是索引,则需要改削关连table到index  

      [Q]怎样竖立束缚的索引在其它表空间上  

      [A]1、先竖立索引,再竖立束缚  

      2、操纵如下语句竖立  

      create table test

      (c1 number constraint pk_c1_id primary keyusing index tablespace useridex,c2 varchar2(10)) tablespace userdate;



    版权声明: 原创作品,答应转载,转载时请务必以超链接形式标明文章 原始因由 、作者信息和本声明。不然将追查执法责任。

  • 相关阅读:
    [CFNews] EnCase v7更新至7.05.1
    [CFNews] Guidance 发布EnCase v7.05和EnCase Portable v4.1
    [CFNews] 首届国际电子数据取证调查会议将于9月21日在北京召开
    [转载] iPhone 5 forensics – prepare to be assimilate
    [CFNews] Oxygen Forensic Suite发布4.6
    [Ext]在按钮栏添加Checkbox
    [转]动态改变图片的useMap属性导致IE假死或崩溃!
    [转]Custom Configuration Section Handler in .NET 2.0
    判断当前的网络状态(C#)
    自定义配置节示例(.NET 2.0)
  • 原文地址:https://www.cnblogs.com/zgqjymx/p/1976041.html
Copyright © 2011-2022 走看看