ORACLE建库过程与操作

时间:2021-11-21 23:18:07
ORACLE建库过程与操作 

  1. 准备建库文件
  
  建立数据库文件
  
  建立表空间文件
  
  建立数据库用户
  
  建立数据库表
  
  建立触发器
  
  建立存储过程
  
  建立序列
  
  2. 建立数据库
  
  启动ORACLE 数据库($ svrmgrl或者svrmgrm)
  
  用internal用户登录到SQL * DBA($svrmgrl>connect internal)
  
  create database CIMS 
  exit 
  3. 建立数据库环境
  
  用系统用户(system)登录到ORACLE数据库(sqlplus system/****)
  
  start database_env.sql 
  commit 
  quit 
  可以通过客户端的图形界面工具建立数据库环境
  
  4. 建立数据库实体
  
  建立建库批命令(文本)文件Tcreate.sql(例如工具S-designer)
  
  用一般用户lyj(可以自己定义)登录到ORACLE数据库(sqlplus lyj/****)
  
  spool Tcreate _error.bat.lst (用于记录建库错误信息) 
  start Tcreate.sql 
  commit 
  quit 
  5. 启动数据库
  
  用internal用户登录(connect internal)
  
  startup CIMS PFILE=initCIMS.ora 
  exit 
  6.注意事项
  
  每个表只能存一个primary key约束(即:表中只有单一主键约束,primary key约束可以置于相应的列约束上;表中有多个字段作为复合主键时,primary key只能置于表约束上) 
  无论是单一主键,还是复合主键,均可用primary key作为表约束,或为unique作为表约束 
  primary key (字段,字段,…..)
  
  unique (字段,字段,…….)
  
  在其它数据库用户下访问数据库对象(表、视图等)所有者的资源的方法 
  例:表cable是oracle的system用户建立的,oracle的sys用户要访问cable表的方法为: 命令 system.cable (具有相应特权)
  
  注意:只要建库命令文件在/usr/oracle目录下,以oracle的任何具有建表特权的用户登录进入oracle数据库,均可用 start Tcreate.sql建库,但是数据库的所有者为建库的用户。同一个建库命令文件,由不同的数据库用户用start命令运行后,将在oracle中建立不同的数据库,对象相同但是属主不同。
  
  在用批文件*.sql建库时,错误信息可以转储到某个文件中,以便用户修改错误 
  SQL> spool *.lst (SQLPLUS输出信息转储到*.lst)
  
  SQL> start *.sql
  
  SQL> spool off (停止转储操作)
  
  建库时,reference参照的表应置于前面,要删除用户的所有对象及用户,可用命令 SQL>drop user cascade; 
  用批文件建立数据库时,如果有插入或修改数据库操作,一定要commit。 
  在进行表的删除时,如果表之间有关联,泽用下述选项: 
  SQL> drop table cascade constraints;
  
  建库时,对于复合主键的参考,使用如下方法作为表约束: 
  foreign key (fk1,fk2,…)
  
  references table-name (pk1, pk2,…)
  
  建库时,对于相互有主/外键关系的表,使用如下方法实现: 
  先建立无主/外键相互约束的表; 
  后用alter方法修改表间的约束关系 
  在插入数据时,有主/外键关联的情况,应先插入主键所在的表,否则,外键所在表不能插入值。