Oracle中如何创建数据库
Oracle数据库的物理结构与MySQL以及SQLServer有着很大的不同。在使用MySQL或SQLServer时,我们不需要去关心它们的逻辑结构和物理结构。
但是在使用Oracle的时候,我们必须明白Oracle逻辑结构和物理结构。(MARK 补充这部分知识)
在逻辑结构中,Oracle从大到下,分别是如下的结构:数据库实例 -> 表空间 -> 数据段(表) -> 区 -> 块。
也就是说当我们要使用Oracle作为项目的数据库时,我们需要先创建数据库实例,之后创建表空间,再创建相对应的表(也就是逻辑结构中的数据段)。
一、创建数据库实例
创建数据库实例一般使用“配置移植工具 -> Database Configuration Assistant”来创建。
当然也可以使用代码来创建,不过使用代码过于复杂,在这里不作介绍。
二、创建表空间
创建表空间必须先登录数据库,你可以使用Oracle自带的sqlplus或plsql登录(当然还可以用OEM)。这里用plsql登录。
执行以下语句,创建名为“animal”的表空间,数据文件为“animal.dbf”
create tablespace animal datafile 'animal.dbf' size 10M;
执行后可以使用以下语句查看是否添加成功:
-- 查询当前用户拥有的所的有表空间 select tablespace_name from user_tablespaces;
三、创建用户并指定默认表空间,并为其授予权限
创建用户并指定表空间:
--创建用户 --注意这里的XINPINV必须大写(因为Oracle自动将表空间名字全部转为大写) create user csy identified by csy default tablespace XINPINV;
最后,赋予用户DBA权限:
--赋予用户DBA权限 grant connect,resource,dba to csy;
四、创建表(数据段)
下面的语句在animal表控件下创建一个名为dog的表:
create table dog ( name varchar(12), age varchar(12) ) tablespace animal;
使用下面的语句查看是否添加成功:
-- 查看ANIMAL表空间下的所有表 select tablespace_name, table_name from user_tables where tablespace_name = 'ANIMAL';
注意:上面的'ANIMAL'一定要大写。即使你在创建表空间的时候输入的表空间名是小写的,也还是要大写。因为ORACLE在存储表空间的时候自动将名字转化成大写了。