Oracle常用操作总结

◇◆丶佛笑我妖孽 提交于 2019-11-27 22:49:33

  如何创建新用户?

要创建新用户,必须以system或者sysman(权限最大)的身份登录;

  在创建数据库时输入的密码,是修改系统默认的密码,以systemsysman等系统默认身份登录时要输入的密码就是修改后的密码(创建数据库时输入的密码)

另外,创建用户前必须要先建好临时表空间和数据表空间两个表空间,如果用系统默认的表空间则会带来一系列麻烦,不好!

表空间是oracle数据库中最大的逻辑单位与存储空间单位,数据库系统通过表空间为数据库对象分配空间。表空间在物理上体现为磁盘数据文件,每一个表空间由一

个或多个数据文件组成,一个数据文件只可与一个表空间相联系,这是逻辑与物理的统一。

具体步骤:

  1. 创建临时表空间

create temporary tablespace zheda_temp tempfile 'E:\oracle\product\10.2.0\oradata\zheda\zheda.dbf'’ size 100m autoextend on next 32m maxsize 2048m extent management local;

说明:

ü         zfmi_temp 表空间的名字

ü         E:\oracle\product\10.2.0\oradata\zheda 存放数据库文件的地方,一般是安装数据库后有控制文件,数据文件和日志文件的文件夹,再加上要创建表空间的名字+dbf(数据文件)

ü         100M 表空间的初始大小

ü         32M 表空间自动增长的大小

ü         2048M 表空间最大的大小

  1. 创建数据表空间

create tablespace zfmi logging datafile 'E:\oracle\product\10.2.0\oradata\zheda\zheda.dbf'’size 100m autoextend on next 32m maxsize 2048m extent management local;

  1. 创建用户并指定表空间

create user zheda identified by aaa default tablespace zheda temporary tablespace zheda_temp;

  1. 给用户授予权限

grant dba to zheda(dba:指定所有权限)

   其他,

//删除用户以及用户所有的对象 drop user zheda cascade;

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

//删除表空间

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

drop tablespace zheda including contents and datafiles cascade onstraints;

//including contents 删除表空间中的内容,如果删除表空间之前表空间中有内容,而未加此参数,表空间删不掉,所以习惯性的加此参数

//including datafiles 删除表空间中的数据文件

//cascade constraints 同时删除tablespace中表的外键参照

 

  如何导入导出数据?

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

下面介绍的是导入导出的实例。

数据导出:

 1 将数据库TEST完全导出,用户名system 密码manager 导出到D:\daochu.dmp    exp system/manager@TEST file=d:\daochu.dmp full=y

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

 3 将数据库中的表inner_notifynotify_staff_relat导出
   exp system/manager@TEST file=d:\daochu.dmp tables=(inner_notify,notify_staff_relat)

 4 将数据库中的表table1中的字段filed1"00"打头的数据导出
   exp system/manager@TEST file=d:\daochu.dmp tables=(table1) query=\" where filed1 like '00%'\"
 
上面是常用的导出,对于压缩,既用winzipdmp文件可以很好的压缩。
 
也可以在上面命令后面 加上 compress=y 来实现。


数据的导入
 1 D:\daochu.dmp 中的数据导入 TEST数据库中。
   imp system/manager@TEST  file=d:\daochu.dmp
   imp aichannel/aichannel@HUST full=y  file=file= d:\data\newsmgnt.dmp ignore=y
  
上面可能有点问题,因为有的表已经存在,然后它就报错,对该表就不进行导入。
  
在后面加上 ignore=y 就可以了。

 2 d:\daochu.dmp中的表table1 导入
 imp system/manager@TEST  file=d:\daochu.dmp  tables=(table1)
 
基本上上面的导入导出够用了。不少情况要先是将表彻底删除,然后导入。

 

 

转载于:https://www.cnblogs.com/yuxhust/archive/2009/11/11/1601147.html

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!