首页 | 编程语言 | 网站建设 | 游戏天堂 | 冲浪宝典 | 网络安全 | 操作系统 | 软件时空 | 硬件指南 | 病毒相关 | IT 认证
软讯网络 > 冲浪宝典 > 网络资源 > Oracle数据库开发的一些经验积累(包括建立索引等等)
【标  题】:Oracle数据库开发的一些经验积累(包括建立索引等等)
【关键字】:Oracle
【来  源】:http://www.cublog.cn/u/6797/showart.php?id=162167

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';
ORACLE 10G Flash Recovery的管理导致出现ORA-00257错误问题的解决:【上一篇】
在线重定义表:【下一篇】
【相关文章】
  • ORACLE 10G Flash Recovery的管理导致出现ORA-00257错误问题的解决
  • Oracle 中通过ROWNUM来实现分页查询
  • Oracle] 利用Uniread 解决 Linux下的SQL*Plus 命令行历史回调功能
  • ORACLE 大内存的设定
  • oracle的服务配置
  • Oracle APEX系列(一) 安装
  • Oracle developer的异常处理机制
  • Oracle Database 10.2.0 在IBM 5L下HA的安装
  • Oracle9i在RedHat AS3.1下的安装
  • Oracle SQL 內置函數大全.txt
  • 【随机文章】
  • CVSNT配置点滴4-关于用户权限的设置-关于用户别名的问题
  • ajax.net中与server控件的交互使用(二)(asp.net2.0)
  • 怎样设置 JSP 的虚拟目录
  • iSCSI技术在IP SAN远程备份中的应用
  • [java]Spring中使用Annotation同时标记JMS+数据库事务
  • 自动运行光碟
  • 设计Linux系统网络设备驱动程序
  • SCO-Link ADSL共享解决方案
  • 一个ORACLE本身OLEDB驱动的问题
  • jsp环境:IIS6.0与Resin_3.0.8的整合
  • 【相关评论】
    没有相关评论
    【发表评论】
    姓名:
    邮件:
    随机码*
    评论*
          
    |  首 页  |  版权声明  |  联系我们   |  网站地图  |
    CopyRight © 2004-2007 软讯网络 All Rigths Reserved.