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) |