在实际应用的过程中一般不会建立多个Oracle数据库,一般只是建立一个数据库,然后对这个数据库建立不同的用户,给每一个用户授予一定的权限,不同权限的用户只能进行对应的操作。
下面是我在实际的开发过程中以及结合网上知识得出的一些Oracle相关知识:
一、创建表空间
一般情况下,一个Oracle数据库会有多个用户,一般管理员会为每个用户指定一个表空间,在该用户下建立的数据表都放在指定的表空间下,这样便于管理。当然,如果不为用户指定表空间的话,Oracle也会为用户默认分配一个表空间,即user表空间。
创建临时表空间:
create temporary tablespacepfm_temptempfile 'D:/oracle/product/10.1.0/oradata/orcl/pfm_temp.dbf' size 100m autoextend onnext 32m maxsize 2048m extent management local;(有下划线的名称是用户自己可以随便定义的)
我这里的文件路径是默认的Oracle安装路径,安装路径不同,这里的路径也不同。
创建数据表空间:
create tablespacepfmdatafile 'D:/oracle/product/10.1.0/oradata/orcl/pfm.dbf' size 100m autoextend on next 32m maxsize 2048m extent management local;
说明:
1、pfm_temp是临时表空间的名字,pfm是数据表空间的名字
2、Oracle安装目录下的oradata文件夹下存放数据库文件的地方,一般是安装数据库后有控制文件,数据文件和日志文件的文件夹,再加上要创建表空间的名字+dbf(数据文件)
3、100M 表空间的初始大小
4、32M 表空间自动增长的大小
5、2048M 表空间最大的大小
二、Oracle用户的创建并指定表空间
首先要在命令行方式下,用sys或system用户登录数据库。然后使用下面的命令:
create userusernameidentified bypassworddefault tablespacepfm temporary tablespace pfm_temp;(username和password就是你要设定的用户的用户名和密码)
三、用户的授权
grant connect,resource,dba,exp_full_database,imp_full_database topfm;(这里用我自己的用户名示范)
Oracle的角色很多,用户需要根据自己的需要来进行授权,上面的授权是针对开发者而言,开发者需要有足够的权限。
connect角色拥有的权限有:ALTER SESSION,CREATE CLUSTER,CREATE DATABASE LINK,CREATE SEQUENCE,CREATE SESSION,CREATE STNONYM,CREATE TABLE,CREATE VIEW
resource角色拥有的权限有:CREATE CLUSTER,CREATE INDEXTYPE,CREATE OPERATOR,CREATE PROCEDURE,CREATE TRIGGER,CREATE TYPE
dba拥有所有的管理权限
exp_full_database 主要是用户Oracle数据的导出
imp_full_database 主要是用于Oracle数据的导入