Oracle数据库创建表空间、创建用户、创建角色、还原数据库

本文主要介绍的是,Oracle数据库软件安装好之后到正式使用这个过程中需要做的所有操作。
安装好数据库的时候,其实我们自己已经设置好了Oracle数据库的SYS账号和SYSTEM账号和对应的密码,这个是我们进行后续操作的前提;

基础概念:Oracle数据库、实例、用户、表空间、表之间的关系
数据库:Oracle数据库是数据的物理存储。这就包括(数据文件ORA或者DBF、控制文件、联机日志、参数文件)。其实Oracle数据库的概念和其它数据库不一样,这里的数据库是一个操作系统只有一个库。可以看作是Oracle就只有一个大数据库。
实例:一个Oracle实例(Oracle Instance)有一系列的后台进程(Backguound Processes)和内存结构(Memory Structures)组成。一个数据库可以有n个实例。
用户:用户是在实例下建立的。不同实例可以建相同名字的用户。
表空间:表空间是一个用来管理数据存储逻辑概念,表空间只是和数据文件(ORA或者DBF文件)发生关系,数据文件是物理的,一个表空间可以包含多个数据文件,而一个数据文件只能隶属一个表空间。
数据文件(dbf、ora)数据文件是数据库的物理存储单位。数据库的数据是存储在表空间中的,真 正是在某一个或者多个数据文件中。而一个表空间可以由一个或多个数据文件组成,一个数据文件只能属于一个表空间。一旦数据文件被加入到某个表空间后,就不能删除这个文件,如果要删除某个数据文件,只能删除其所属于的表空间才行。

Oracle数据库、实例、用户、表空间、表之间的关系
常规情况下,安装一个数据库的时候就已经建立了一个实例

(1)在实例下创建表空间,指定物理文件存储位置;

本处 E:/MY_DATASPACE/ 为自己在磁盘E下创建的文件夹,下列代码为创建后续数据库文件的存储位置

--创建表空间
CREATE TABLESPACE my_data DATAFILE
'E:/MY_DATABASE/my_data01.dbf'
size 1024M
autoextend on
DEFAULT STORAGE (  INITIAL 50k 
NEXT 100K
PCTINCREASE 0) ; 
 --创建索引表空间
CREATE TABLESPACE my_index DATAFILE
'E:/MY_DATABASE/my_index01.dbf'
size 1024M
autoextend on
DEFAULT STORAGE (  INITIAL 50k        
NEXT 100K        
PCTINCREASE 0) ; 
--默认表空间 
create temporary tablespace my_temp
tempfile 'E:/MY_DATABASE/my_temp01.dbf'
size 1096M 
reuse autoextend on;
--全局表空间
CREATE TABLESPACE my_clob DATAFILE
    'E:/MY_DATABASE\my_clob.dbf'
    size 128M    autoextend on NEXT 1M
    DEFAULT STORAGE (  INITIAL 50k        
                       NEXT 100K        
                       PCTINCREASE 0) ; 

(2)创建拥有一定权限的角色;

因为Oracle是有权限控制的,创建权限的角色,方便给后续创建的用户同意授予角色所拥有的权限,这样的话,就不需要去维护每一个用户的权限,而是授予不同的角色不同的权限,然后将给不用的用户指定不同的角色;

CREATE ROLE  my_dba;--创建my_dba这个角色    
GRANT create session  TO  my_dba  with admin option;
Grant create table to my_dba;
Grant create view to my_dba;
Grant create trigger to my_dba;
Grant create type to my_dba;
Grant create sequence to my_dba;
Grant create synonym to my_dba;
Grant create procedure to my_dba;
Grant  execute any procedure to my_dba with admin option;
Grant  create  role to my_dba;
grant  dba  to my_dba;--授予dba实物权限给这个角色

(3)创建用户并给用户赋予角色;

--user01 为自己创建的账号,pwd001 为该用户指定的密码
create user user01 identified by pwd001 default tablespace  my_data  temporary   tablespace my_temp quota unlimited on my_data;--
alter user user01 quota unlimited on my_index;
alter user user01 quota unlimited on my_clob;
alter user user01 quota unlimited on my_temp;
Grant  my_dba  to  user01 ;--授予my_dba 权限给user01 
ALTER USER user01 QUOTA UNLIMITED ON users;

如果在创建的过程中出现异常或者最后需要修改和删除用户和角色,可使用如下语句
drop role my_dba ;--删除角色 drop user user01 cascade;--删除用户并删除用户下的表

(4)在做完上述操作后,就可以使用IMP工具登录数据库,恢复数据库等操作

导入数据:先打开cmd命令行
IMP user01 /pwd001 @orcl file=E:\user01 .dmp full=y;
其中user01 为用户名,pwd001 为对应的密码,orcl 为当前实例名,user01 .dmp为数据库备份文件 full=y 表示完整导入;
Oracle中的IMP是不适用sqlplus命令的,是直接在cmd命令中直接执行imp命令。
导出数据:先打开cmd命令行
exp user01 /pwd001 @orcl file=E:\user01 .dmp full=y;`
Oracle中imp命令详解

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值