oracle数据库的新建表空间,用户,和数据库表的导入与导出

--01.创建表空间(SNFPLATFORM)

CREATE TABLESPACE SNFPLATFORM
LOGGING
DATAFILE 'D:\kong\SNFPLATFORM.DBF'
SIZE 32M
AUTOEXTEND ON
NEXT 32M MAXSIZE 2096M
EXTENT MANAGEMENT LOCAL;



新建用户(platform),密码(platform),默认表空间 SNFPLATFORM:
--02.创建用户
CREATE USER platform IDENTIFIED BY platform
DEFAULT TABLESPACE SNFPLATFORM;


--03.授权

grant dba TO platform;
GRANT
CREATE SESSION, CREATE ANY TABLE, CREATE ANY VIEW ,CREATE ANY INDEX, CREATE ANY PROCEDURE,
ALTER ANY TABLE, ALTER ANY PROCEDURE,
DROP ANY TABLE, DROP ANY VIEW, DROP ANY INDEX, DROP ANY PROCEDURE,
SELECT ANY TABLE, INSERT ANY TABLE, UPDATE ANY TABLE, DELETE ANY TABLE
TO platform;

数据库表的导入导出:

Oracle数据导入导出imp/exp 

 

Oracle数据导入导出imp/exp

在cmd的dos命令提示符下执行,而不是在sqlplus里面,但是格式一定要类似于:

 

imp/exp 用户名/密码@service_name或oracle_sid full=y  file=C:\导出文件名称.dmp ignore=y

 

imp 命令是在dos提示符下执行的,直接cmd后执行而不是在sql下执行的

 

数据导出:

1 将数据库完全导出,用户名wlj ,密码wlj 导出到D:exportoracle.dmp中

   exp wlj/wlj@IP地址/orcl file=d:exportoracle.dmp full=y


exp wlj/wlj@ip地址/orcl file=d:exportoracle.dmp full=y
exp wlj/wlj@ip地址/orcl tables=表名 file=d:exportoracle.dmp full=y
 

--expdp导出数据
expdp CCENSE/CCENSE@OracleDB directory = "dpdata1" dumpfile ="oracleExpdp.dmp" logfile = oracleExpdp20161103.log
 

注意:

如果出现:

                EXP-00056: 遇到 ORACLE 错误 12154
                ORA-12154: TNS: 无法解析指定的连接标识符
                EXP-00000: 导出终止失败

这个很明显是连接不上你的数据库,你可以查看一下你的net manager里面的服务名有没配置好

解决方法:1、不再服务端的话,在其它机器可能通过service_name或oracle_sid来访问数据库,注意service_name必须写正确,需要查看oracle net  manager 中的数据库的tns配置实例名称(上面@后面的 orcl)是否与需要连接的一样,cmd中使用 tnsping orcl 可以ping同的话,就说明没有问题。

                  2、在服务端的话,在服务器本地导出文件时要用服务器本地的连接名,也就是说要查看服务器的tnsnames.ora文件中的服务名称,有的话就是使用相应的名称,若没有,则使用空,什么也不填写,如图2,大致目录D:\Softs\Oracle\product\11.2.0\dbhome_1\NETWORK\ADMIN下面tnsnames.ora 如图1

图1

 

图2

 

2 将数据库中system用户与sys用户的表导出

   exp wlj/wlj@orc file=d:exportoracle.dmp owner=(system,sys)

3 将数据库中的表inner_notify、notify_staff_relat导出

    exp wlj/wlj@orcl file= d:exportoracle.dmp tables=(inner_notify,notify_staff_relat)

4 将数据库中的表table1中的字段filed1以"00"打头的数据导出

   exp  wlj/wlj@orcl  file=d:exportoracle.dmp tables=(table1) query=" where filed1 like '00%'"

  上面是常用的导出,对于压缩,既用winzip把dmp文件可以很好的压缩。

  也可以在上面命令后面 加上 compress=y 来实现。

 

数据的导入

1 将d:exportoracle.dmp 中的数据导入 TEST数据库中。

   imp wlj/wlj@orcl file=d:exportoracle.dmp

   imp  wlj/wlj@orcl full=y  file=d:exportoracle.dmp ignore=y

 --impdp导入数据
  impdp CCENSE/CCENSE@OracleDB directory="dpdata1" dumpfile="oracleExpdp.dmp" logfile = oracleImpdp20161103.log FULL=y;

 

   如果出现问题,可能是因为有的表已经存在,然后它就报错,对该表就不进行导入。

   在后面加上 ignore=y 就可以了。

2 将d:exportoracle.dmp中的表table1 导入

imp  wlj/wlj@orcl   file=d:exportoracle.dmp  tables=(table1)

 

注意:基本上上面的导入导出够用了。不少情况要先是将表彻底删除,然后导入。

 

注意:1、操作者要有足够的权限,权限不够它会提示。

           2、数据库是可以连上的。可以用tnsping orcl 来获得数据库orcl能否连上。

 

 

当然,上面的方法在导出数据时可能会导出很大的包,那是因为你的用户可能在授权的时候授予了DBA的权限,所以可以采用下面方法来进行数据库备份:

 

数据库备份

建议系统过渡后,每周进行一次备份。或者在数据表发生重大改变前,对要改变的数据表进行备份。

执行以下步骤,进行备份。

在命令行里,敲入“cmd”,回车,进入命令行窗口。

在窗口中,输入:

exp mas/123456@mas

 

系统提示:输入数组提取缓冲区大小: 4096 >

可以直接回车;

  www.2cto.com 

系统提示:导出文件: EXPDAT.DMP>

此处输入导出文件的位置,其路径必须存在,Oracle在这里不会自动建立路径,但可以建立文件名。备份文件以dmp作为后缀。

输入内容如:e:\work\mas_db_090925v1.dmp 回车

 

系统提示: (1)E(完整的数据库),(2)U(用户) 或 (3)T(表): (2)U > u

此处可以输入u,也可以直接回车,因为系统此时默认的是U

 

系统提示:导出权限(yes/no):yes>回车

 

系统提示:导出表数据(yes/no):yes>回车

 

系统提示:压缩区(yes/no):yes>回车

 

系统提示:要导出的用户: (RETURN 以退出) > mas

 

系统提示:要导出的用户: (RETURN 以退出) > 回车

 

此时系统会自动进行备份.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值