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

文章作者 100test 发表时间 2011:03:24 20:03:02
来源 100Test.Com百考试题网


  1、分析表
  analyze table mzbs.db_code ESTIMATE STATISTICS SAMPLE 20 PERCENT.
  
  2、表空间管理和用户管理
  
  --查看表空间和数据文件
  
  0select 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.
  
  --修改表空间的#333333>存储参数
  
  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).
  
  --建表的索引#333333>存储分配
  
  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.
  
  --修改表的#333333>存储分配
  
  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.

相关文章


Oracle8i_9iEXP_IMP使用经验
个人经验:怎样杀死Oracle的死锁进程
心得共享:Oracle经验技巧集锦
Oracle数据库开发的一些经验积累(二)
Oracle数据库开发的一些经验积累(三)
Oracle数据库开发的一些经验积累(一)
通过OCP_8iDBA_5门考试的经验
OracleDBA优化数据库性能心得体会
红旗linux和Oracle10gr2的冲突
澳大利亚华人论坛
考好网
日本华人论坛
华人移民留学论坛
英国华人论坛