Oracle建库、建表空间、建用户并授权、导入导出命令

(1)新建数据库
可以使用图形化界面直接新建一个空的数据库

(2)连接数据库
在cmd命令中连接数据库的方法:
方式一:
输入sqlplus,回车
输入用户名:system,回车
输入密码:orcl,回车
方式二:
输入sqlplus system/orcl@orcl,回车(system是用户名,orcl是密码,@后面的orcl是库的名字)
(数据库安装完成后,有两个系统级的用户 :
1) system 默认密码为 :manager;
2) sys 默认密码为 :change_on_install)

(3)创建临时表空间
create temporary tablespace 临时表空间名 tempfile 文件位置 size 临时表空间初始大小 autoextend on next 临时表空间自动增长的大小 maxsize 临时表空间最大的大小(建议最大设为32G) extent management local;

例如:create temporary tablespace user_temp  tempfile 'D:\oracle\oradata\Oracle9i\user_temp.dbf' size 50m  autoextend on  next 50m maxsize 20480m extent management local;

(4)创建表空间
create tablespace 表空间名 logging datafile 文件位置 size 临时表空间初始大小 autoextend on next 临时表空间自动增长的大小 maxsize 临时表空间最大的大小 extent management local;

例如:create tablespace user_data  logging  datafile 'D:\oracle\oradata\Oracle9i\user_data.dbf' size 50m  autoextend on  next 50m maxsize 20480m  extent management local; 

(5)创建用户并指定表空间
create user 用户名 identified by 密码 default tablespace 表空间名 temporary tablespace 默认表空间名;

例如:create user username identified by password  default tablespace user_data  temporary tablespace user_temp; 

(6)给用户授予权限(Oracle权限介绍见下面附录2)
GRANT 权限 to 用户名;

例如:GRANT CREATE USER,DROP USER,ALTER USER ,CREATE ANY VIEW , DROP ANY  IEW,EXP_FULL_DATABASE,IMP_FULL_DATABASE,DBA,CONNECT,RESOURCE,CREATE SESSION TO ora;

(7)数据库的导出
1)用Sytem完全导出数据库(所有数据库的默认账号:system;密码:manager)
exp system/manager@TEST file=”d:\daochu.dmp” full=y;
2)导出特定用户下的数据库
exp 登入数据库名/登入数据库密码@服务名 file=文件存放路径 log=日子文件存放路径 owner=用户名;
例如:exp username/password@orcl file=”E:\DATABASE_BAK\orcl.dmp” log=”E:\DATABASE_BAK\orclLog.log” owner=(username) full=y ;
注:如果该用户有DBA权限则导出所有数据。

(8)数据库的导入
导入数据前要保证该用户下不存在,任何表结构、数据、函数、包等。
如果存在,可以先清空。(采用直接删除用户或表空间见下面附录1)
以用户名密码登录后,在执行sql窗口中(例如:PLSQL Developer的Sql窗口)执行以下sql:

BEGIN 
     FOR rec IN 
     (SELECT object_name,object_type from user_objects 
     WHERE object_type='PROCEDURE' 
     OR object_type='TABLE' 
     OR object_type='VIEW' 
     OR object_type='FUNCTION' 
     OR object_type='PACKAGE' 
     OR object_type='SEQUENCE' 
     ) 
     LOOP 
         IF rec.object_type='TABLE' THEN 
            EXECUTE IMMEDIATE 'DROP '||rec.object_type||' '||rec.object_NAME||' CASCADE CONSTRAINTS'; 
         ELSE 
             EXECUTE IMMEDIATE 'DROP '||rec.object_type||' '||rec.object_NAME; 
         END IF; 
    END LOOP;     
 END; 

然后执行导入语句:
 1)用Sytem完全导入数据库(所有数据库的默认账号:system;密码:manager)
   imp system/manager@TEST  file="E:\DATABASE_BAK\orcl.dmp"  full=y ignore=y;
 2)导入特定用户下的数据库
  imp 用户名/密码@数据库 file=导入的文件路径 fromuser=需要导入的那个文件是属于哪个用户的 touser=要导入的用户名  ignore=y;
  例如:imp username/password@orcl file="E:\DATABASE_BAK\orcl.dmp" log="E:\DATABASE_BAK\orclLog.log" fromuser=username touser=musername ignore=y;
  注:两个数据库同名则fromuser=username touser=musername 可省略。(添加ignore=y参数,防止已存在数据,不能覆盖导入,会报错,相当于直接跳过该错误继续导入;建议再导入前先清空数据库)



附录1
 (1)删除用户及用户所有的对象
     drop user 用户名 cascade;
     注:cascade 参数是级联删除该用户所有对象;只是删除了该user下的schema objects,是不会删除相应的tablespace的。

(2)删除表空间
     drop tablespace 表空间名 including contents and datafiles cascade constraints;
     注:including contents 删除表空间中的内容,如果删除表空间之前表空间中有内容,而未加此参数,表空间删不掉
            including datafiles 删除表空间中的物理文件 
            cascade constraints 同时删除tablespace中表的外键参照

 附录2
     (1)系统权限和实体权限
          1)系统权限分为三类:
          DBA: 拥有全部特权,是系统最高权限,只有DBA才可以创建数据库结构。
          RESOURCE:拥有Resource权限的用户只可以创建实体,不可以创建数据库结构。
          CONNECT:拥有Connect权限的用户只可以登录Oracle,不可以创建实体,不可以创建数据库结构。

         对于普通用户:授予connect, resource权限。
          对于DBA管理用户:授予connect,resource, dba权限。

         注:系统权限只能由DBA用户授出:sys, system(权限范围:sys>system)
          [普通用户通过授权可以具有与system相同的用户权限,但永远不能达到与sys用户相同的权限,system用户的权限也可以被回收。]
          授权命令: grant connect, resource, dba to 用户名1 [,用户名2]...;

    2)实体权限分类:
          select, update, insert, alter, index, delete, 
          all  //all包括所有权限
          execute  //执行存储过程权限

         授权命令: grant all to 用户名1 [,用户名2]...;

create tablespace yonyou logging datafile ‘D:\oracle\product\10.2.0\oradata\orcl\yonyou.dbf’ size 32m autoextend on next 32m maxsize 2048m extent management local;

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值