zoukankan      html  css  js  c++  java
  • oracle数据库开发的一些经验积累

    1、分析表
    analyze table mzbs.db_code ESTIMATE STATISTICS SAMPLE 20 PERCENT;


    2、表空间管理和用户管理

    --查看表空间和数据文件

    select file_name,tablespace_name,autoextensible from dba_data_files;

    --数据表空间

    CREATE TABLESPACE USER_DATA
        LOGGING
        DATAFILE ''''D:\ORACLE\ORADATA\ORCL\test.DBF'''' SIZE 50m REUSE ,
                 ''''c:\USERS01112.DBF'''' SIZE 50m REUSE
        AUTOEXTEND
        ON NEXT 1280K MAXSIZE 16383M EXTENT MANAGEMENT LOCAL


    --修改表空间数据文件的路径

    ALTER TABLESPACE app_data
    RENAME
        DATAFILE ''''/DISK4/app_data_01.dbf''''
        TO    ''''/DISK5/app_data_01.dbf'''';


    ALTER DATABASE
    RENAME FILE ''''/DISK1/system_01.dbf''''
        TO ''''/DISK2/system_01.dbf'''';


    --临时表空间

    CREATE TEMPORARY
        TABLESPACE USER_DATA_TEMP TEMPFILE ''''D:\TEMP0111.DBF''''
        SIZE 50M REUSE AUTOEXTEND
        ON NEXT 1024K MAXSIZE 16383M EXTENT MANAGEMENT LOCAL UNIFORM
        SIZE 1024K


    --增加数据文件

    ALTER TABLESPACE USER_DATA
    ADD DATAFILE ''''c:\USERS01113.DBF'''' SIZE 50M;

    ALTER TABLESPACE USER_DATA
    ADD DATAFILE ''''c:\USERS01114.DBF'''' SIZE 50M
    AUTOEXTEND ON
    ;


    --删除表空间

    DROP TABLESPACE USER_DATA INCLUDING CONTENTS;

    --修改表空间的存储参数

    ALTER TABLESPACE tablespacename
    MINIMUM EXTENT 2M;


    ALTER TABLESPACE tablespacename
    DEFAULT STORAGE (
        INITIAL 2M
        NEXT 2M
        MAXEXTENTS 999 );


    --表空间联机/脱机/只读

    ALTER TABLESPACE tablespacename OFFLINE/ONLINE/READ ONLY;

    --修改数据文件大小
    ALTER DATABASE
    DATAFILE ''''c:\USERS01113.DBF'''' RESIZE 40M;

    --创建用户、赋予权限

    CREATE USER USER_DATA PROFILE DEFAULT IDENTIFIED BY USER_DATA
        DEFAULT
        TABLESPACE USER_DATA TEMPORARY
        TABLESPACE USER_DATA ACCOUNT UNLOCK;

    GRANT CONNECT TO USER_DATA;
    GRANT RESOURCE TO USER_DATA;

    3、表的管理

    --创建表

    CREAE TABLE TABLENAME
    (COLUMN1 COLUTYPE DEFAULT(VALUE) NOT NULL)
    (COLUMN2 COLUTYPE DEFAULT(VALUE) NOT NULL);


    --建表的索引存储分配


    CREATE TABLE summit.employee(id NUMBER(7) CONSTRAINT employee_id_pk PRIMARY KEY DEFERRABLE USING INDEX STORAGE(INITIAL 100K NEXT 100K)
    TABLESPACE indx,
    last_name VARCHAR2(25) CONSTRAINT employee_last_name_nn NOT NULL,
    dept_id NUMBER(7))
    TABLESPACE data;

    --修改表的存储分配

    ALTER TABLE tablename
    PCTFREE 30
    PCTUSED 50
    STORAGE(NEXT 500K
    MINEXTENTS 2
    MAXEXTENTS 100);

    ALTER TABLE tablename
    ALLOCATE EXTENT(SIZE 500K
    DATAFILE ''''/DISK3/DATA01.DBF'''');

    --把表移到另一个表空间

    ALTER TABLE TABLENAME MOVE TABLESPACE TABLESPACENAME;


    --回收空闲的空间(回收到High-water mark)
    全部回收需要TRUNCATE TABLE tablename

    ALTER TABLE tablename
    DEALLOCATE UNUSED;

    --删除表(连同所用constraint)

    DROP TABLE tablename
    CASCADE CONSTRAINTS;


    --给表增加列

    ALTER TABLE TABLENAME
    ADD COLUMN COLUTYPE DEFAULT(VALUE) NOT NULL;


    --删除表中的列

    ALTER TABLE tablename
    DROP COLUMN columnname;


    ALTER TABLE tablename
    DROP COLUMN columnname
    CASCADE CONSTRAINTS CHECKPOINT 1000;


    --标记列不可用

    ALTER TABLE tablename
    SET UNUSED COLUMN columnname
    CASCADE CONSTRAINTS;

    --删除标记为不可用的列

    ALTER TABLE tablename
    DROP UNUSED COLUMNS CHECKPOINT 1000;

    --继续删除列选项

    ALTER TABLE tablename
    DROP COLUMNS CONTINUE CHECKPOINT 1000;

    --把表放到BUFFER_POOL中去

    ALTER TABLE tablename
    STORAGE (BUFFER_POOL RECYCLE);

    --避免动态分配EXTENT

    ALTER TABLE tablename ALLOCATE EXTENT;


    --把表放到CACHE中去

    ALTER TABLE tablename ALLOCATE CACHE/NOCACHE;


    4、索引管理


    --创建索引

    CREATE INDEX indexname ON TABLENAME(COLUMNNAME);

    CREATE INDEX indexname ON TABLENAME(COLUMNNAME) TABLESPACE TABLESPACENAME;

    --重新建立索引

    ALTER INDEX indexname REBUILD TABLESPACE TABLESPACE;


    --索引分配参数

    ALTER INDEX indexname
    STORAGE(NEXT 400K
    MAXEXTENTS 100);


    --释放索引空间

    ALTER INDEX indexname
    ALLOCATE EXTENT (SIZE 200K
    DATAFILE ''''/DISK6/indx01.dbf'''');

    ALTER INDEX indexname
    DEALLOCATE UNUSED;

    --重新整理索引表空间碎片

    ALTER INDEX indexname COALESCE;

    --删除索引

    DROP INDEX indexname


    --把索引放到BUFFER_POOL中

    ALTER INDEX cust_name_idx
    REBUILD
    STORAGE (BUFFER_POOL KEEP);


    5、约束管理


    --建立主键

    ALTER TABLE TABLENAME
    ADD CONSTRAINT CONSTRAINTNAME PRIMARY KEY(COLUMN1,COLUMN2)


    --使约束无效

    ALTER TABLE TABLENAME ENABLE NOVALIDATE CONSTRAINT constraintname;

    ALTER TABLE TABLENAME ENABLE VALIDATE CONSTRAINT constraintname;

    --删除约束

    ALTER TABLE tablename DROP CONSTRAINT constraintname;

    DROP TABLE tablename CASCADE CONSTRAINTS;(删除表后将所用的外键删除)


    --给列增加缺省值

    ALTER TABLE TABLENAME
    MODIFY columnname DEFAULT(value) NOT NULL;


    --给表增加外键
    ALTER TABLE tablename
    ADD CONSTRAINT constraintname
    FOREIGN KEY(column) REFERENCES table1name(column1);


    6、安全策略

    --加密传输

    把客户端环境变量ora_encrypt_login设为true
    把服务器端参数dblink_encypt_login设为true

    --数据库管理员安全策略

    a、建库后立即修改SYS/SYSTEM的口令(9.2后必须修改其口令)
    b、只有数据库管理员才能以SYSDBA登录系统
    c、建立不同角色的管理员,分配不同的权限

       比如:对象创建于维护
             数据库的调整与维护
             创建用户分配角色
             启动关闭
             恢复备份
            
    --应用开发者的安全策略

    a、开发者的特权只能在测试开发的数据库中赋予权限
    b、自由开发者、受控开发者
       自由开发者:create table\index\procedure\package
       受控开发者:没有以上权限


    7、日志文件管理

    --切换日志文件

    ALTER SYSTEM SWITCH LOGFILE;

    --增加日志文件

    ALTER DATABASE ADD LOGFILE
    (''''/DISK3/log3a.rdo'''',
    ''''/DISK4/log3b.rdo'''') size 1M;

    --增加日志成员

    ALTER DATABASE ADD LOGFILE MEMBER
    ''''/DISK4/log1b.rdo'''' TO GROUP 1
    ''''/DISK4/log2b.rdo'''' TO GROUP 2;

    --删除日志文件

    ALTER DATABASE DROP LOGFILE GROUP 3;

    --删除日志成员

    ALTER DATABASE DROP LOGFILE MEMBER ''''/DISK4/log2b.dbf'''';

    --清除日志文件内容

    ALTER DATABASE CLEAR LOGFILE ''''/DISK3/log2a.rdo'''';


  • 相关阅读:
    一次线上bug引起的反思
    本地调试接口返回信息不对 以及 jar冲突问题
    404问题记录
    Intelij IDEA 配置Tomcat时找不到 “Application Server”
    java多线程处理问题
    DataTemplate和ControlTemplate的关系
    WP模板
    wp中的动画
    wp中的位图
    2013.7.22-7.28开发资料汇总
  • 原文地址:https://www.cnblogs.com/liuzhuqing/p/7480838.html
Copyright © 2011-2022 走看看