关闭

Oracle数据库开发的一些经验积累(三)

326人阅读 评论(0) 收藏 举报

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';

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:50347次
    • 积分:881
    • 等级:
    • 排名:千里之外
    • 原创:2篇
    • 转载:180篇
    • 译文:1篇
    • 评论:15条
    文章分类
    最新评论
  • 使用ideploy的安装

    caltonia: 有没有ideploy安装包下载

  • [JAVA软件工程师-面试宝典-2013最新版]

    u010850027: 谢谢分享 学习了

  • 测试理论

    xiaomin881122: 4 软件测试计划定义软件项目的测试计划是描述测试目的、范围、方法和软件测试的重点等的文档。对于验证软...

  • 测试理论

    xiaomin881122: 3 软件测试计划模板一般包括哪些要素 1. 引言:目的、背景、范围、定义,参考材料;2.测试内容:测...

  • 测试理论

    xiaomin881122: 2 软件测试质量包括哪些管理要素 1、 缺陷遗漏率、测试覆盖率、缺陷等级划分、缺陷原因分析、缺陷记录...

  • 测试理论

    xiaomin881122: 1 软件测试报告其实没有什么固定格式,我认为只要介绍清楚你的测试范围、测试目的、测试执行过程情况,B...

  • test(software)

    xiaomin881122: 测试流程依次如下:1. 需求:阅读需求,理解需求,和客户,开发,架构多方交流,深入理解需求。--te...

  • test(software)

    xiaomin881122: 1、 开项目需求评审会议(项目组成员对需求进行评审) 2、制定测试计划 3、根据项目需求说明书和测试...

  • test(software)

    xiaomin881122: 采用国际模型:需求分析,概要设计,详细设计,编码,单元测试,集成测试,确认测试 系统测试,验收测试。...

  • test(software)

    xiaomin881122: 测试准备-测试计划-测试需求-测试用例-测试执行-测试缺陷管理-测试报告总结缺陷流程管理:new- ...