oracle学习笔记2

oracle的逻辑结构

在mysql中,我们使用时都是先创建数据库,然后在数据库中创建表,

但是在oracle中,我们是先创建数据库,然后在这个数据库中创建不同的用户,用户内创建不同的表。

因此可以知道,oracle的逻辑结构为

一个数据库,数据库下拥有多个表空间,然后不同的用户名操作不同的表空间,在每个表空间下又从大到小分为段,区,数据块。如图:

(图真丑)

一个表空间内可以有多个表,但是一个表只能有一个表空间。数据库的表空间如下:

example  示例表空间,用来存放示例数据的 
sysaux 系统表的辅助表空间;帮助减轻系统表空间压力的
system  系统表空间,用来存放一系列系统表,存储过程,函数等
temp 临时表空间,存放临时表和数据的
undotbs1 重做表空间,存放重做信息的
users  用户表空间,存放用户相关的持久化数据

表空间的管理:

-- 创建表空间,需要管理员权限才能操作
create tablespace test1 datafile 'e:orcl	est1.dbf' size 20m;
-- 创建临时表空间
create temporary tablespace test1_tmp tempfile 'e:orcl	est1_emp' size 10m;
--创建用户指定给表空间
create user zhaoshuai identified by 123456 default tablespace test1 temporary tablespace test1_tmp;
-- 创建用户后给用户分配权限,connect权限可以登录oracle,不能创建实体,不能创建数据库结构,
-- resource权限可以创建实体,不可以创建数据库结构,dba权限可以创建实体,创建数据库结构,是最高权限,拥有全部权限
grant connect,resource to zhaoshuai;
-- 给用户分配权限后就可以用该用户登录oracle了,然后以用户的身份登录
-- 新建一个学生表,并存入数据
create table student (
                       sid number,
                       sname varchar2(50)
);
select * from student;
insert into student values(1,'zhangsan');

-- 导入和导出表空间 数据泵:expdp:导出功能,impdp导入功能
-- 要想导入或导出表空间需要先创建一个虚拟目录,然后给虚拟目录授权,需要管理员权限才能操作
create directory dire as 'e:/data';
-- 给用户授权对虚拟目录的读和写的权限
grant read,write on directory dire to zhaoshuai;

-- 然后在cmd命令行中执行命令
-- expdp zhaoshuai/123456@orcl schemas=zhaoshuai dumpfile=expdp.dmp directory=dire 导出用户
-- expdp zhaoshuai/123456@orcl tables=student dumpfile=stu_expdp.dmp directory=dire 导出表
-- expdp zhaoshuai/123456@orcl directory=dire dumpfile=tablespace.dmp tablespaces=test1; 导出表空间

-- impdp sys/tiger@orcl directory=dire dumpfile=expdp.dmp schemas=zhaoshuai 导入用户表
-- impdp system/tiger@orcl directory=dire dumpfile=tablespace.dmp tablespaces=test1 导入表空间  导入表空间需要先在数据库中创建表空间,才能导入表空间中的数据
-- 删除表空间 drop tablespace test1 including contents ;-- 删除带数据的表空间 drop user zhaoshuai cascade ; --删除用户

 https://www.cnblogs.com/wangwanchao/p/5364963.html 关于oracle数据库更多信息

原文地址:https://www.cnblogs.com/Zs-book1/p/11215860.html