`
zyn_cool
  • 浏览: 27014 次
  • 性别: Icon_minigender_2
  • 来自: 济南
最近访客 更多访客>>
社区版块
存档分类
最新评论

oracle 表空间操作/用户权限/导入导出

阅读更多
oracle表空间简介   
Oracle表空间是数据管理的基本方法,所有用户的对象要存放在表空间中,也就是用户有空间的使用权,才能创建用户对象。否则是不充许创建对象,因为就是想创建对象,如表,索引等,也没有地方存放,Oracle会提示:没有存储配额。因此,在创建对象之前,首先要分配存储空间。分配存储,就要创建表空间:

Oracle可以创建的表空间有三种类型:
(1)temporary: 临时表空间,用于临时数据的存放;创建临时表空间的语法如下:create temporary tablespace test_temp ......
(2)undo: 还原表空间。用于存入重做日志文件。创建还原表空间的语法如下:create undo tablespace test_undo ......
(3)用户(数据)表空间: 最重要,也是用于存放用户数据表空间可以直接写成: create tablespace test_data .......
temporaty 和 undo 表空间是Oracle 管理的特殊的表空间。只用于存放系统相关数据。

查看表空间
select tablespace_name,file_id,bytes,file_name from dba_data_files


创建(数据)表空间
(创建表空间stu_data,datafile指定数据表空间的存储文件的位置,用来存放数据的文件)

--第一种
create tablespace stu_data   
logging
datafile 'D:\oracle\product\10.2.0\oradata\orcl\stu_data.dbf'    
size 32m    
autoextend on    
next 32m 
maxsize 2048m    
extent management local; 


创建表空间参数讲解
1、logging
有 nologging和 logging两个选项,nologging:创建表空间时,不创建重做日志。logging和nologging正好相反, 就是在创建表空间时生成重做日志。用nologging时,好处在于创建时不用生成日志,这样表空间的创建较快,但是没能日志,数据丢失后,不能恢复,但是一般我们在创建表空间时,是没有数据的,按通常的做法,是建完表空间,并导入数据后,是要对数据做备份的,所以通常不需要表空间的创建日志,因此,在创建表空间时,选择nologging,以加快表空间的创建速度。

2、datafile 用于指定数据文件的具体位置和大小。
如: datafile 'D:\Oracle\ORADATA\ORA92\LUNTAN.ora' SIZE 5M 说明文件的存放位置是'D:\Oracle\ORADATA\ORA92\LUNTAN.ora' ,文件的大小为5M。如果有多个文件,可以用逗号隔开:
datafile 'D:\ORACLE\ORADATA\ORA92\LUNTAN.ora' SIZE 5M,  'D:\ORACLE\ORADATA\ORA92\dd.ora' SIZE 5M
但是每个文件都需要指明大小。单位以指定的单位为准,如 5M 或 500K。对具体的文件,可以根据不同的需要,存放大不同的介质上,如磁盘阵列,以减少IO竟争。指定文件名时,必须为绝对地址,不能使用相对地址。

3、extent management local:存储区管理方法
在Oracle 8i以前,可以有两种选择,一种是在字典中管理(dictionary),另一种是本地管理(local),从9I开始,只能是本地管理方式。因为local管理方式有很多优点。在字典中管理(dictionary): 将数据文件中的每一个存储单元做为一条记录,所以在做DM操作时,就会产生大量的对这个管理表的Delete和Update操作。做大量数据管理时,将会产生很多的DM操作,严得的影响性能,同时,长时间对表数据的操作,会产生很多的磁盘碎片,这就是为什么要做磁盘整理的原因。本地管理(local): 用二进制的方式管理磁盘,有很高的效率,同进能最大限度的使用磁盘。 同时能够自动跟踪记录临近空闲空间的情况,避免进行空闲区的合并操作。

4、segment space management:磁盘扩展管理方法:
  ◆segment space management: 使用该选项时区大小由系统自动确定。由于 Oracle 可确定各区的最佳大小,所以区大小是可变的。
  ◆uniform segment space management:指定区大小,也可使用默认值 (1 MB)。

5、段空间的管理方式:
  ◆auto: 只能使用在本地管理的表空间中。 使用LOCAL管理Oracle表空间时,数据块中的空闲空间增加或减少后,其新状态都会在位图中反映出来。位图使 Oracle 管理空闲空间的行为更加自动化,并为管理空闲空间提供了更好的性,但对含有LOB字段的表不能自动管理。
  ◆nanual: 目前已不用,主要是为向后兼容。

--第二种
create tablespace stu_data 
datafile 'D:\oracle\product\10.2.0\oradata\orcl\stu_data.dbf'    
size 800M  
autoextend on  
next 50M  
maxsize unlimited  
--maxsize unlimited 是大小不受限制 


--第三种
create tablespace stu_data 
datafile 'D:\oracle\product\10.2.0\oradata\orcl\stu_data.dbf'    
size 800M  
autoextend on  
next 50M  
maxsize 1000M
extent management local uniform;  
--unform表示区的大小相同,默认为1M   


--第四种
create tablespace stu_data 
datafile 'D:\oracle\product\10.2.0\oradata\orcl\stu_data.dbf'    
size 800M  
autoextend on  
next 50M 
maxsize 1000M 
extent management local uniform size 500K;  
--unform size 500K表示区的大小相同,为500K 


--第五种
create tablespace stu_data 
datafile 'D:\oracle\product\10.2.0\oradata\orcl\stu_data.dbf'    
size 800M  
autoextend on  
next 50M
maxsize 1000M  
extent management local autoallocate;  
--autoallocate表示区的大小由随表的大小自动动态改变,大表使用大区小表使用小区 


--第六种
create tablespace stu_data 
datafile 'D:\oracle\product\10.2.0\oradata\orcl\stu_data.dbf'    
size 800M  
autoextend on  
next 50M  
maxsize 1000M  
temporary;  
--temporary创建字典管理临时表空间 


为表空间增加数据文件
alter tablespace stu_data add  
datafile 'D:\oracle\product\10.2.0\oradata\orcl\stu_data.dbf'    
size 800M  
autoextend on 
next 50M  
maxsize 1000M;


创建临时表空间
(创建临时表空间stu_temp,tempfile指定临时表空间的存储文件的位置,是临时文件)

--创建方式和创建数据表空间相同,只是把datafile改为tempfile
create temporary tablespace stu_temp    
tempfile 'D:\oracle\product\10.2.0\oradata\orcl\stu_temp01.dbf'    
size 32m    
autoextend on    
next 32m maxsize 2048m    
extent management local;


创建用户 并指定表空间
(创建用户stu_test,密码为abcdef,指定其默认表空间为stu_data,临时表空间为stu_temp)

create user stu_test identified by abcdef    
default tablespace stu_data   
temporary tablespace stu_temp; 


给用户授权

grant connect,resource to stu_test;


用户常用权限:connect resource dba exp_full_database imp_full_database

改变用户的默认表空间

alter user stu_test default tablespace stu_data;  



删除用户以及用户所有的对象

drop user stu_test cascade;
--cascade参数是级联删除该用户所有对象,经常遇到如用户有对象而未加此参数则用户删不了的问题,所以习惯性的加此参数



删除表空间
前提:删除表空间之前要确认该表空间没有被其他用户使用之后再做删除

drop tablespace stu_data including contents and datafiles cascade onstraints;
--including contents 删除表空间中的内容,如果删除表空间之前表空间中有内容,而未加此参数,表空间删不掉,所以习惯性的加此参数
--including datafiles 删除表空间中的数据文件 
--cascade constraints 同时删除tablespace中表的外键参照



如果删除表空间之前删除了表空间文件,解决办法:

如果在清除表空间之前,先删除了表空间对应的数据文件,会造成数据库无法正常启动和关闭。
可使用如下方法恢复(此方法已经在oracle9i中验证通过):
下面的过程中,filename是已经被删除的数据文件,如果有多个,则需要多次执行;tablespace_name是相应的表空间的名称。
$ sqlplus /nolog
SQL> conn / as sysdba;
--如果数据库已经启动,则需要先执行下面这行:
SQL> shutdown abort
SQL> startup mount 
SQL> alter database datafile 'filename' offline drop; 
SQL> alter database open; 
SQL> drop tablespace tablespace_name including contents;



oracle数据库的导入导出命令:

Oracle数据导入导出imp/exp就相当于oracle数据还原与备份。exp命令可以把数据从远程数据库服务器导出到本地的dmp文件, imp命令可以把dmp文件从本地导入到远处的数据库服务器中。 利用这个功能可以构建两个相同的数据库,一个用来测试,一个用来正式使用

导出数据库文件(开始--运行--cmd)
1、用户名为stu_test,密码为abcdef,数据库为orcl,file=.....为导出后存放位置
exp stu_test/abcdef@orcl file=d:/a.dmp

2、将数据库中system用户与sys用户的表导出
exp system/system@orcl file=d:/a.dmp owner=(system,sys)

3、将数据库中的表t1、t2导出
exp zyna/zyna@orcl file=d:/a.dmp tables=(t1,t2)
4、将数据库中的表table1中的字段filed1以"00"打头的数据导出
exp system/system@orcl file=d:/a.dmp tables=(table1) query=" where filed1 like '00%'"


导入数据库文件(开始--运行--cmd )
1、用户名是stu_test,密码是abcdef,数据库是orclfile=....是要导入的数据库文件的存放位置
imp stu_test/abcdef@orcl file=d:/a.dmp full=y

imp stu_test/abcdef@orcl file=d:/a.dmp full=y ignore=y
--上面可能有点问题,因为有的表已经存在,然后它就报错,对该表就不进行导入。
--在后面加上 ignore=y 就可以了。

2、将d:/a.dmp中的表table1 导入
imp system/system@orcl file=d:/a.dmp tables=(table1)

注意:用户要有导入导出权限
分享到:
评论

相关推荐

    浅谈入门级oracle数据库数据导入导出步骤

    2.如果熟悉命令,建议用exp/imp命令导入导出,避免第三方工具版本差异引起的问题,同时效率更高,但特别注意:采用命令时要注意所使用的用户及其权限等细节。 3.在目标数据库导入时需要创建与导出时相同的用户名...

    Oracle 11G 创建表空间 用户

    oracle 11G创建表空间、用户、密码、索引、分配权限、删除表空间、数据泵导入、导出

    oracle数据库导入导出命令

    给用户增加导入数据权限的操作 第一,启动sql*puls 第二,以system/manager登陆 第三,create user 用户名 IDENTIFIED BY 密码 (如果已经创建过用户,这步可以省略) 第四,GRANT CREATE USER,DROP USER,ALTER ...

    oracle数据库导入导出

    oracle数据库安装及安装过程中遇到各种问题解决,oracle数据库创建用户,给用户赋权限等。oracle数据库安装及安装过程中遇到各种问题解决,oracle数据库创建用户,给用户赋权限等。oracle数据库安装及安装过程中遇到...

    Oracle创建用户,并授权DBA权限

    详细讲解Oracle用户的创建,并分级授权,和关于DBA的授权。还有关于授予Oracle导入导出的权限!

    数据泵导入导出

    数据泵导入导出的脚本,包括创建目录,授予权限,创建用户等

    oracle基本操作

    该文档内包含oracle的一些基本操作:创建用户、创建表空间、指定用户表空间、分配用户权限、导出导入数据库文件等等其他操作,对oracle初学的可以参考下,我自己记录的一些操作步骤!

    Oracle大全

    二、 Oracle 的用户管理 三、 Profile 管理用户口令 四、 Oracle 表的管理 五、 Oracle 表的查询 六、 Oracle 数据库管理 1、 导出表 2、 导出方案(方案中的所有对象,表、索引、约束等) 3、 导出数据库(导出...

    Oracle导出导入

    本文对Oracle数据的导入导出 imp ,exp 两个命令进行了介绍, 并对其相应的参数进行了说明,然后通过一些示例进行演练,加深理解.文章最后对运用这两个命令可能出现的问题(如权限不够,不同oracle版本)进行了探讨,并提出...

    Oracle数据库实验操作

    实验93:导出和导入表空间操作 179 实验94:数据泵 179 冷备份 180 实验95:将冷备份恢复到其它目录 181 实验96:修改实例的名称 181 实验97:将冷备份恢复到其它主机 181 实验98:将数据库改为归档数据库 182 热...

    Oracle数据库经典学习教程

    6. Oracle用户和权限 18 7. 本章总结 21 8. 本章练习 22 SQL数据操作和查询 25 1. SQL简介 26 2. Oracle数据类型 26 3. 创建表和约束 27 4. 数据操纵语言(DML) 30 5. 操作符 35 6. 高级查询 36 7. 本章总结 44 8. ...

    Oracle数据库实例创建脚本。导表操作

    数据库操作,自己整理的脚本,包含数据库创建完成之后的基本使用内容,如:创建表空间,创建用户、赋权限,各种表文件导入导出等

    21天学通Oracle

    4.3.1 逻辑备份/恢复(导出/导入) 55 4.3.2 物理备份/恢复 56 4.3.3 利用PL/SQL Developer备份数据库 60 4.4 本章实例 61 4.5 本章小结 61 4.6 习题 62 第5章 Oracle数据表对象(教学视频:42分钟) 63 5.1...

    docker-wnameless-oracle-xe-11g百度盘地址.zip

    docker oracle的离线镜像docker-wnameless-oracle-xe-11g.tar,可以导入到内网(无互联网)环境使用,该包是基于wnameless的Oracle打包的,由于网速慢,我是使用 git clone ...

    MySql转换成Oracle工具

    Convert Mysql to Oracle 最新版本:4.0 Convert Mysql to Oracle是一个免费的数据库转换工具,实现快速安全地...有相应的数据库操作权限 在机器中安装了ORACLE客户端,使得Convert Mysql to Oracle能够成功连接到ORACLE

    Oracle11g从入门到精通2

    《Oracle11g从入门到精通》面向数据库管理人员和数据库开发人员,从实际角度出发,系统地介绍了数据库和Oracle的相关概念和原理、Oracle的数据库管理(如安装与启动,用户权限、备份与恢复等),以及Oracle的应用...

    Oracle.11g.从入门到精通 (2/2)

    1.3.5 表空间 1.3.6 段 1.3.7 区 1.3.8 数据块 1.4 Oracle 11g的新特性 1.4.1 数据库管理部分 1.4.2 PL/SQL部分 1.4.3 其他部分 第2章 Oracle在Windows平台上的安装与配置 2.1 Oracle通用安装器 2.2 Oracle数据库...

    Oracle 11g 数据库常用操作

    1. 创建表空间 2. 创建用户并赋予权限 3. Exp 导出用户对象 4. IMP 导入用户对象

    Oracle.11g.从入门到精通 (1/2)

    1.3.5 表空间 1.3.6 段 1.3.7 区 1.3.8 数据块 1.4 Oracle 11g的新特性 1.4.1 数据库管理部分 1.4.2 PL/SQL部分 1.4.3 其他部分 第2章 Oracle在Windows平台上的安装与配置 2.1 Oracle通用安装器 2.2 Oracle数据库...

Global site tag (gtag.js) - Google Analytics