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

转载 2013年12月05日 15:17:33

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数据库开发的一些经验积累(二)

三、LINUX和UNIX下   转到操作系统下执行:kill -9 spid (以上语句所查出的)      36、ORACLE中检查表是否被锁的语句      SELECT A.OWNER...

Oracle数据库开发经验总结

  • 2012年03月26日 12:54
  • 48KB
  • 下载

Oracle数据库开发(三).Pro*C/C++的编译参数

Oracle Database Development (3). Introduce to Pro*C/C++ Precompiler Options Vert Melon Jun 7,2...

ORACLE数据库开发

ORACLE数据库作为大型数据库管理系统,近年来一直占有世界上高端数据库的最大份额,其强大而完善的数据库管理功能,以及ORACLE公司推陈出新的不断努力,一直成为IT业界瞩目的焦点。岭澳核电站的数据库...
  • mndscc
  • mndscc
  • 2015年12月07日 13:40
  • 251

struts2 的mvc模式配置和JDBC连接oracle数据库开发

web工程配置struts2只要3步 1、添加架包 struts2-core-2.0.6.jar、xwork-2.0.1.jar、commons-logging-1.1.jar、freem...
  • zy08403
  • zy08403
  • 2013年08月20日 11:28
  • 1852

Oracle数据库开发结构设计技巧

author:skatetime:2010-08-26尽管Oracle系统本身已经提供了若干种对系统性能进行调节的技术,但是,假如数据库设计本身就有问题特别是在结构上设计得尤其糟糕,那你纵有天大的本事...

Oracle数据库开发笔记 lesson5

本文来自中软开创myc老师上课笔记

Oracle数据库开发相关

1、查看被锁的表和解锁 (1)查看被锁的表 select b.owner, b.object_name, a.session_id, a.locked_mode from v$locked_obj...

Oracle数据库开发

Oracle数据库开发 系统用户:sys、system、sysman、scottsys>system,当用sys用户登录时,必须有管理员或系统操作人员的权限才能登录;而system用户能直接登录。 ...

Oracle数据库开发(四).Linux下ProC的Makefile示例

Oracle Database Development (4). Example Makefile for Pro*C Vert Melon Jun 8,2007 It is...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Oracle数据库开发的一些经验积累(三)
举报原因:
原因补充:

(最多只允许输入30个字)