Chinaunix首页 | 论坛 | 博客
  • 博客访问: 32269
  • 博文数量: 7
  • 博客积分: 1400
  • 博客等级: 上尉
  • 技术积分: 100
  • 用 户 组: 普通用户
  • 注册时间: 2008-04-26 12:51
文章分类

全部博文(7)

文章存档

2008年(7)

我的朋友
最近访客

分类: Oracle

2008-04-28 14:41:15

1 一个instance只能对应于一个db,一个db可以对应于多个instance。
通过: set oracle_sid=你要启动的数据库名
sqlplus /nolog
startup
就可以启动相应的数据库了
 
2 在现有数据库上生成建库模板
dbca --管理模板--创建数据库模板--从现有数据库创建 -输入具有dba权限的用户,sid,ip,---输入要创建模板的名称以及描述--选择存放位置-完成
{ORACLE_HOME}\assistants\dbca\templates\filename.dbt
 
3
一个表空间只能属于一个数据库  
每个数据库最少有一个控制文件(建议3个,分别放在不同的磁盘上)  
每个数据库最少有一个表空间(SYSTEM表空间)  
建立SYSTEM表空间的目的是尽量将目的相同的表存放在一起,以提高使用效率,只应存放数据字典  
  
每个数据库最少有两个联机日志组,每组最少一个联机日志文件  
  
一个数据文件只能属于一个表空间  
一个数据文件一旦被加入到一个表空间中,就不能再从这个表空间中移走,也不能再加入到其他表空间中  
  
建立新的表空间需要建立新的数据文件  
  
COMMIT后,数据不一定立即写盘(数据文件)  
  
一个事务即使不被提交,也会被写入到重做日志中。  
  
oracle server可以同时启动多个数据库  
  
一套操作系统上可以安装多个版本的ORACLE数据库系统(UNIX可以,NT不可以)  
  
一套ORACLE数据库系统中可以有多个ORACLE数据库及其相对应的实例
 
4 删除表空间 DROP TABLESPACE TableSpaceName [INCLUDING CONTENTS [AND DATAFILES]]  
 删除用户   DROP USER User_Name CASCADE
 删除表的注意事项
  在删除一个表中的全部数据时,须使用TRUNCATE TABLE 表名;因为用DROP TABLE,DELETE * FROM 表名时,TABLESPACE表空间该表的占用空间并未释放,反复几次DROP,DELETE操作后,该TABLESPACE上百兆的空间就被耗光了。
  having子句的用法
  having子句对group by子句所确定的行组进行控制,having子句条件中只允许涉及常量,聚组函数或group by 子句中的列。
   数据库重建应注意的问题
  在利用import进行数据库重建过程中,有些视图可能会带来问题,因为结构输入的顺序可能造成视图的输入先于它低层次表的输入,这样建立视图就会失败.要解决这一问题,可采取分两步走的方法:首先输入结构,然后输入数据.命令举例如下 (uesrname:jfcl,password:hfjf,host sting:ora1,数据文件:expdata.dmp):
  
  imp jfcl/hfjf@ora1 file=empdata.dmp rows=N
  imp jfcl/hfjf@ora1 file=empdata.dmp full=Y buffer=64000
  commit=Y ignore=Y
  第一条命令输入所有数据库结构,但无记录.第二次输入结构和??64000字节提交一次.ignore=Y选项保证第二次输入既使对象存在的情况下也能成功.
5 从已知表新建另一个表:
  CREATE TABLE b
  AS SELECT * (可以是表a中的几列)
  FROM a
  WHERE a.column = ...;

阅读(827) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~