oracle命令

来源:互联网 发布:ubuntu 安装openjdk 8 编辑:程序博客网 时间:2024/05/19 00:14

1、创建临时表空间
/* create temporary tablespace*/
create temporary tablespace student_temp  
tempfile 'D:\oracle\product\10.2.0\oradata\Student\student_temp.dbf' 
size 50m  
autoextend on  
next 50m maxsize 20480m  
extent management local; 

 

2、创建数据表空间
/* create data tablespace*/
create tablespace student_data  
logging  
datafile 'D:\oracle\product\10.2.0\oradata\Student\student_data.dbf' 
size 50m  
autoextend on  
next 50m maxsize 20480m  
extent management local;

 

3、创建用户并分配权限
/* create user and distribute tablespace */
create user student identified by cxhuan  
default tablespace student_data  
temporary tablespace student_temp;

 

4、给用户授权
/* authorize role to user */
grant connect,resource,dba to student;  


--------------------------------系统管理员身份登录
C:\>sqlplus / as sysdba


给用户授权
把dba角色赋予给imp导入的用户。grant dba  to hjy

--------------------授予实用表空间的权限
grant resource to hjy

建议建一样名字的表空间
关闭窗口从新打开cmd.exe
两种登录方法
一种cmd.exe:
    定位客户端bin
    cd D:\oracle\product\10.2.0\client_1\bin
    导入命令
    imp
    然后是登录
    hjy hjy
    导入目录
    C:\Users\Administrator\Desktop\energy2.dmp
    选择yes yes


(最有效的方法):
另外一种是直接 imp hjy(用户)/hjy(密码)@orcl(net服务名称) file=C:\Users\Administrator\Desktop\energy2.dmp fromuser=energy(导出数据时的用户) touser=hjy(现在的用户);
(用户不相同数据库不相同情况下)
若是没有energy用户,而是另外电脑弄来的数据库文件就添加一个 full=y
imp hjy(用户)/hjy(密码)@orcl(net服务名称) file=C:\Users\Administrator\Desktop\energy2.dmp full=y;


C:\Users\Administrator>imp hjy/hjy@ORCL_USERCHI-43Q83MF file=C:\Users\Administra
tor\Desktop\frame4.dmp full=y;

@符号和密码和net服务粘在一起


导出数据库:
操作:运行:cmd 然后输入:
exp lw/lw@ORCL file=d:\lw.dmp owner=(lw)


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

   导出注意事项:导出的是当前用户的的数据,当前用户如果有DBA的权限,则导出所有数据!包括所有用户的数据
 2 将数据库中system用户与sys用户的表导出
   exp system/manager@TEST file=d:\daochu.dmp owner=(system,sys)

    exp system/manager@TEST file=d:\daochu.dmp owner=(system)  只导出自己关联的所有数据
 3 将数据库中的表table1 、table2导出
   exp system/manager@TEST file=d:\daochu.dmp tables=(table1,table2)
 4 将数据库中的表table1中的字段filed1以"00"打头的数据导出
   exp system/manager@TEST file=d:\daochu.dmp tables=(table1) query=\" where filed1 like  '00%'\"

导入数据库
操作:运行:cmd 然后输入:
imp test/test@ORCL file=d:\lw.dmp full=y; 是否覆盖原有数据而全部导入数据,还是会出现警告!有待测试,前提是已经有表和数据

imp system/manager@TEST  file=d:\daochu.dmp ignore=y;也有待测试

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



进入CMD,命令:imp nxoa/nxoa@oracle file=E:\db\nxoa.dmp full=y ignore=y commit=y feedback=40000 buffer=40960000;

导入数据到表空间去

nxoa/nxoa@oracle是说数据导入到用户名/密码@数据库名默认的表空间去

file指定数据文件路径

full指定属否完全导入

ignore是否忽略没必要的错误提示,比如表已经存在,创建失败。。

commit设置提交,如果后面没有buffer那么每行都提交一次,所以一般有这个 就要有buffer

buffer设置缓存,多少多少字节(1KB=1000B,1B=1字节 1字节=1bit   1bit=1个二进制位)

 

删除用户

drop user user_name cascade;

 

删除表空间

DROP TABLESPACE data01 INCLUDING CONTENTS AND DATAFILES;