管理Oracle数据库要注意的一些问题

以下针对Oracle9i数据库:

  1. Commit操作不强制将database buffer内容写到文件;Commit操作后,server process在提示用户“操作已完成”之后才释放相关资源的锁;
  2. 创建数据库时,数据文件和日志文件必须用size指定大小,或用reuse指定到某个已有文件,否则命令会失败;
  3. 若丢失了所有control file的副本,可以通过重建control file恢复数据库;
  4. 在创建unique或primary key约束时,Oracle自动创建索引(名称同约束名),删除这个索引前必须先删除对应约束;
  5. Partitioned table可以被多个进程同时查询或操作;
  6. 当前的log sequence number被存放在control file和每个data file的头部(由CKPT进程写入),log group里的每个member具有同样的log sequence number;
  7. 通过DBA_OBJECTS表可以找到哪些对象存在错误,例如视图所依赖的表已被删除,这个视图的status会被标为invalide;
  8. Read-Only的表空间里的对象可以被Drop,因为该操作只影响dictionary;
  9. 当使用external验证方式时,不能指定password expire;
  10. DBA是role,而不是privilege(SYSDBA和SYSOPER是privilege);
  11. 使用truncate table命令后,并非所有extents都被释放,table将保留个数为minextents的extents;
  12. SMON后台进程负责数据库的recovery,以及合并碎片;
  13. 查询USER_XXX和dictionary表不需要具有select any table权限;
  14. 对于标志为unused的列,可以在同一张表中创建与它同名的列;
  15. Undo段在刚创建时是offline状态的;
  16. 用户自己唯一可以使用alter user命令修改的属性是identified by;
  17. 要修改tablespace的数据文件为自动扩展,应该使用alter database而不是alter tablespace命令;
  18. 创建用户和创建表的动作不记录在alertSID.log文件里;
  19. 没有"Create Index"权限,因为"Create Table"包含了它,Alter和Drop也一样;
  20. 具有"Create Any XXX"权限的用户在其他用户下创建的对象,其所有者是那个用户;
  21. Unlimited tablespace系统权限,只能直接授给用户,而不能授给角色;
  22. Externally管理的角色不能设置为default role;
  23. 没有"Truncate Table"权限,用户拥有"Drop Table"权限即可执行Truncate操作;
  24. Create SPFILE From PFILE命令可以反过来用,即Create PFILE From SPFILE,若不指定PFILE/SPFILE的名称则使用缺省名称;
  25. TableSpace的Storage选项里的Initial和Next值应为Minimum Extent值的整数倍,否则创建语句会失败;
  26. LogSwitch事件会记录在alert_log文件里;
  27. Oracle缺省使用AL16UTF16作为National Character Set,Database Character Set用于SQL和PL/SQL代码,National Character Set用于NChar、NVarchar2和NClob字段;Database Character Set不能使用固定长度多字节类型字符集;
  28. 对于Rollback Segment: minextents至少为2(推荐20),pctincrease永远为零,可以是public或private但一旦确定就不能更改,optimal参数至少为该segment的initial size,initial和next最好相等已保证每个extent具有相同的大小,maxextents最好不要设置为unlimited;刚创建时的roolback segment是offline状态的,必须手工设置为online才可用;drop前必须先设置为offline;
  29. 对于Temporary Tablespace和Temporary Segment: UNIFORM SIZE值最好是SORT_AREA_SIZE的整数倍;Tempfiles不能改名,不能只读,不会进行recovery处理,不能用alter database命令创建,总是nologging模式;
  30. 字典区管理的表空间可以指定自定义的storage选项;本地区管理的表空间的storage选项不可更改,可以指定为自动段空间管理;
  31. 待续。

发表评论