oracle批量导入dmp文件

1. 以管理员角色登录oracle数据库

image-20211029224417857

2. 创建表空间、用户、用户授权

参考博文:

  1. 创建表空间

    create tablespace 表空间名称
    datafile 存放表空间地址         #一般放在 "oracle安装目录\oradata\orcl\文件名.dbf"
    size 1024M                   #表空间初始大小
    autoextend on                #打开/关闭自动扩展功能   “on/off”
    next 5M                      #每次增加大小
    maxsize 表空间最大存储限制
    
  2. 创建用户并指定表空间

    create user zhangsan    #用户名
    identified by root      #密码
    default tablespace 表空间名称    #表空间是上面创建的
    temporary tablespace TEMP    #临时表空间默认  TEMP
    profile default;
    
    • ora-65096:公用用户名或角色名无效

      解决:oracle有些版本创建用户时需要在用户名前添加 c##C##

    • 查看所有表空间名称语句:

      select name from v$tablespace;
      
    • 查看用户列表、删除用户命令:

      select username from dba_users;  #查看用户命令
      drop user USERNAME cascade;   #删除用户
      
  3. 给表空间授权 导入dmp文件需要dba权限

    grant dba to zhangsan;
    

3. 导入dmp文件(单个)

imp 用户名/密码@orcl file=dmp文件 full=y ignore=y
#orcl是服务名,一般都为orcl
#导入dmp文件不能自己指定表名称
#当已有同名表文件存在时,ignore=y导致新数据追加在原同名表文件后面

4. 利用shell脚本批量导入dmp文件

  1. windows运行shell脚本需要安装git bash应用,直接搜索应用一路next安装即可,安装完开始菜单图标如下:image-20211029230651111

  2. 编写shell文件,遍历文件夹下所有dmp文件并导入数据库

    (简单写法,需要保证文件夹下所有文件均为目录文件或dmp文件)

    # !/bin/bash
    function import_dmp(){
    for file in 'ls $1'   #注意此处是两个反引号,表示运行系统命令
    do
       if  [ -d $1"/"$file ]   #注意此处之间空格一定要加,否则会报错  
       then                    #判断是否为目录文件,若是则递归遍历
       import_dmp $1"/"$file   
       else
       echo $1"/"$file    #输出到控制台,相当于printf
       imp $2 file=$1"/"$file full=y ignore=y
    }
    import_dmp $1 $2
    
  3. 运行上面编写的shell文件

    ./test.sh  dmp文件夹路径 用户名/密码@orcl  #orcl是数据库服务名 一般是orcl,有可能安装时自己设成了别的
    

5. Oracle报错ORA-01653:表xx无法通过8192(在表空间xx_data中)扩展

参考博文:https://segmentfault.com/a/1190000021991722

  1. 原因

    • 查看是否磁盘已满
    • 表空间已达到32G(或其他较大值)(即达到了种种限制下的本机单个空间最大值),即使设置了自动扩展和maxsize unlimited也不能继续增大表空间
  2. 解决方法:

    alter tablespace 表空间名称
    add datafile '新的表空间地址'
    size 1024M
    autoextend on
    next 1024M
    maxsize unlimited;
    
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
Oracle数据库中,要使用命令行导入dmp文件,可以使用impdp命令或者imp命令。具体步骤如下: 使用impdp命令导入dmp文件的示例命令如下: impdp 用户名/密码@数据库实例 directory=逻辑目录 dumpfile=dmp文件全称 FULL=y remap_schema="原schema:目的schema" 例如: impdp CCENSE/CCENSE@OracleDB directory=dpdata1 dumpfile=oracleExpdp.dmp FULL=y remap_schema=ZHD:test 使用imp命令导入dmp文件的示例命令如下: imp 用户名/密码@数据库实例 file=dmp文件路径 log=日志文件路径 full=y 例如: imp scott/scott@orcl file=C:\Users\Admin\Desktop\nh20220321.dmp log=C:\Users\Admin\Desktop full=y 在执行导入命令之前,请确保以下几点: 1. 确保要导入dmp文件是在Oracle11g版本中导出的; 2. 将需要导入dmp文件放在Oracle安装目录下的./admin/orcl/dpdump目录下; 3. 使用cmd或者Oracle命令输入界面创建一个新用户,并赋予这个新用户连接和数据库管理员的权限,可以使用以下命令创建新用户并设置密码: create user 用户名称 identified by 密码; 例如: create user uf01 identified by uf01; 以上是在Oracle命令行中导入dmp文件的一般步骤和示例命令。请根据实际情况进行相应的调整和操作。123 #### 引用[.reference_title] - *1* [Oracle命令行导入dmp文件](https://blog.csdn.net/weixin_30950237/article/details/97748587)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}} ] [.reference_item] - *2* [命令行导入 .dmp文件,亲测可行](https://blog.csdn.net/qq_40350405/article/details/123638519)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}} ] [.reference_item] - *3* [Oracle导入dmp类型的数据源数据](https://blog.csdn.net/chenpp666/article/details/126357763)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}} ] [.reference_item] [ .reference_list ]
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值