• Oracle底子底细根基常识


      来源:网海拾贝




    一个表空间只能属于一个数据库

    每个数据库最少有一个节制文件(建议3个,分辩放在差别的磁盘上)

    每个数据库最少有一个表空间(SYSTEM表空间)

    树立SYSTEM表空间的目标是只管将目标类似的表存放在一同,以前进运用效用,只应存放数据字典

    每个数据库最少有两个联机日记组,每组最少一个联机日记文件

    一个数据文件只能属于一个表空间

    一个数据文件一旦被参加到一个表空间中,就不克不及再从这个表空间中移走,也不克不及再参加到其他表空间中

    树立新的表空间需求树立新的数据文件

    数据文件被ORACLE格式化为ORACLE块,Oracle9i畴前版本中,ORACLE块的大小是在第一次建立数据库时设定的,而且当前不克不及转变,要想转变,只能重修数据库

    一个段segment只能属于一个表空间,但可以属于多个数据文件

    一个区extent只能属于一个数据文件,即区间(extent)不克不及跨越数据文件

    PCTFREE和PCTUSED总和不克不及大于便是100

    单独一个事件不克不及跨越多个回滚段

    索引表不含ROWID值

    拥有差别大小的回滚段没有任何利益

    COMMIT后,数据不必定立即写盘(数据文件)

    一个事件即使不被提交,也会被写入到重做日记中。



    Oracle 8.0.4中,在初始安装时树立的缺省数据库,实例名为ORCL

    一个块的最大长度为16KB(有2K、4K、8K、16K)

    每个数据库最大文件数(按块大小)

    2K块20000个文件

    4K块40000个文件

    8K块或以上 65536个文件

    oracle server可以同时启动多个数据库

    一套使用体系上可以安装多个版本的ORACLE数据库体系(UNIX可以,NT弗成以)

    一套ORACLE数据库体系中可以有多个ORACLE数据库及其绝对应的实例

    每个ORACLE数据库拥有一个数据库实例(INSTANCE)(OPS除外)所以,一套使用体系上同时可以有多个oracle数据库实例启动 

    //Oracle8 数据范例

    char(n) n=1 to 2000字节 定长字符串,n字节长,假设不指定长度,缺省为1个字节长(一个汉字为2字节)

    varchar2(n) n=1 to 4000字节 可变长的字符串,具体定义时指明最大长度n,

    这种数据范例可以放数字、字母以及ASCII码字符集(概略EBCDIC等数据库体系经受的字符集规范)中的所有标记。

    假设数据长度没有达到最大值n,Oracle 8i会凭据数据大小自动疗养字段长度,

    假设你的数据前后有空格,Oracle 8i会自动将其删去。VARCHAR2是最常用的数据范例。

    可做索引的最大长度3209。

    number(m,n) m=1 to 38

    n=-84 to 127 可变长的数值列,容许0、正值及负值,m是所有无效数字的位数,n是小数点当前的位数。

    如:number(5,2),则这个字段的最大值是99,999,假设数值超过了位数限定就会被截取多余的位数。

    如:number(5,2),但在一行数据中的这个字段输入575.316,则真正糊口生活到字段中的数值是575.32。

    如:number(3,0),输入575.316,真正糊口生活的数据是575。  

    date 无 从公元前4712年1月1日到公元4712年12月31日的所有正当日期,

    Oracle 8i真实在内部是按7个字节来糊口生活日期数据,在定义中还包含小时、分、秒。

    缺省格式为DD-MON-YY,如07-11月-00 表现2000年11月7日。  

    long 无 可变长字符列,最大长度限定是2GB,用于不需求作字符串搜索的长串数据,假设要休止字符搜索就要用varchar2范例。

    long是一种较老的数据范例,将来会渐渐被BLOB、CLOB、NCLOB等大的东西数据范例所代替。  

    raw(n) n=1 to 2000 可变长二进制数据,在具体定义字段的时分必需指明最大长度n,Oracle 8i用这种格式来糊口生活较小的图形文件或带格式的文本文件,如Miceosoft Word文档。

    raw是一种较老的数据范例,将来会渐渐被BLOB、CLOB、NCLOB等大的东西数据范例所代替。  

    long raw 无 可变长二进制数据,最大长度是2GB。Oracle 8i用这种格式来糊口生活较大的图形文件或带格式的文本文件,如Miceosoft Word文档,以及音频、视频等非文本文件。

    在同等张表中不克不及同时有long范例和long raw范例,long raw也是一种较老的数据范例,将来会渐渐被BLOB、CLOB、NCLOB等大的东西数据范例所代替。  

    blob

    clob

    nclob 无 三种大型东西(LOB),用来糊口生活较大的图形文件或带格式的文本文件,如Miceosoft Word文档,以及音频、视频等非文本文件,最大长度是4GB。

    LOB有几种范例,取决于你运用的字节的范例,Oracle 8i实着真实地将这些数据存储在数据库内部糊口生活。

    可以实行读取、存储、写入等格外使用。  

    bfile 无 在数据库内部糊口生活的大型二进制东西文件,最大长度是4GB。

    这种内部的LOB范例,经过历程数据库记录革新景遇,但是数据的具体糊口生活是在数据库内部休止的。

    Oracle 8i可以读取、查询BFILE,但是不克不及写入。

    大小由使用体系决定。  



    SQL(Structured Query Language)语句分类

    DDL、数据定义言语:create、alter、drop、truncate(建立、批改机关、删除、截断)(其他:rename)

    DML、数据使用言语:insert、delete、select、update(增、删、查、改)

    DCL、数据节制言语:grant、revoke(授权、给与)、set role

    事件节制:commit、rollback、savepoint(其他:lock table、set constraint(s)、set transaction)

    审计节制:audit、noaudit

    体系节制:alter system

    会话节制:alter session

    其他语句:comment(添加解释)、explain plan、analyze(搜集统计)、validate、call



    //SQL*Plus中运转的几种敕令

    1. SQL*Plus敕令          一样伟大用来格式化查询输入、设置情况、编辑存储SQL敕令和PL/SQL块

      SQL> show user

      SQL> select user from dual;

    2. SQL敕令

      SQL> select * from tab;

    3. PL/SQL块

      SQL> BEGIN

      DBMS_OUTPUT.PUT_LINE('Hello World!');

      END;



    //Oracle中完成某一字段自动增加1

    create sequence 序列名

    increment by 1

    start with 1

    maxvalue 999999999

    cycle;

    当向表中拔出数据时,SQL语句写法如下:

    SQL> insert into 表名 values(序列名.nextval,列1值,列2值);


    //若何用SQL天生SQL批处置处罚文件?

    软件情况:

    1、Windows NT4.0 ORACLE 8.0.4

    2、ORACLE安装路子为:C:ORANT

    标题提出:

    1、用户需求对数据库用户下的每一张表都实行一个类似的SQL使用,这时,一遍、一遍的键入SQL语句是很贫寒的

    完成体式款式:

    SQL> set heading off --中止输出列标题

    SQL> set feedback off --中止表现最后一行的计数反应信息

    列出当前用户下所有同义词的定义,可用来测试同义词的真实存在性

    select 'desc '||tname from tab where tabtype='SYNONYM';

    查询当前用户下所有表的记录数

    select 'select '''||tname||''',count(*) from '||tname||';' from tab where tabtype='TABLE';

    把所有吻合前提的表的select权限付与为public

    select 'grant select on '||table_name||' to public;' from user_tables where 《前提》;

    删除用户下各种东西

    select 'drop '||tabtype||' '||tname from tab;

    删除吻合前提用户

    select 'drop user '||username||' cascade;' from all_users where user_id>25;

    疾速编译所有视图

    ----当在把数据库倒入到新的任事器上后(数据库重修),需求将视图从头编译一遍,

    ----因为该表空间视图到其它表空间的表的毗邻会呈现标题,可以使用PL/SQL的言语特征,疾速编译。

    SQL> SPOOL ON.SQL

    SQL> SELECT'ALTER VIEW '||TNAME||' COMPILE;' FROM TAB;

    SQL> SPOOL OFF

    然后实行ON.SQL即可。

    SQL> @ON.SQL

    虽然,授权和建立同义词也可以疾速休止,如:

    SQL> SELECT 'GRANT SELECT ON '||TNAME||' TO 用户名;' FROM TAB;

    SQL> SELECT 'CREATE SYNONYM '||TNAME||' FOR 用户名.'||TNAME||';' FROM TAB



    版权声明: 原创作品,容许转载,转载时请务必以超链接方法标明文章 原始理由 、作者信息和本声明。否则将追查法令责任。

  • 相关阅读:
    XAML学习笔记之Layout(五)——ViewBox
    XAML学习笔记——Layout(三)
    XAML学习笔记——Layout(二)
    XAML学习笔记——Layout(一)
    从0开始搭建SQL Server 2012 AlwaysOn 第三篇(安装数据,配置AlwaysOn)
    从0开始搭建SQL Server 2012 AlwaysOn 第二篇(配置故障转移集群)
    从0开始搭建SQL Server 2012 AlwaysOn 第一篇(AD域与DNS)
    Sql Server 2012 事务复制遇到的问题及解决方式
    Sql Server 2008R2升级 Sql Server 2012 问题
    第一次ACM
  • 原文地址:https://www.cnblogs.com/zgqjymx/p/1976420.html
Copyright © 2020-2023  润新知