因客户给的数据过长,insert语句执行报错
所以在测试环境下 写程序导入
但是要部署到linux下 sql文件执行报错 最终找到oracle备份和恢复解决办法
方法如下
//用system用户连接数据库
sqlplus system/admin@orcl as sysdba
//赋权给root用户
grant CREATE ANY DIRECTORY to root;grant exp_full_database to root;
//用root用户连接数据库sqlplus root/root@orcl as sysdba
//环境变量设置
create or replace directory 变量名称 as '路径'
create or replace directory dir_dp as 'D:/oracle/dir_dp'
//备份脚本
expdp system/admin@orcl directory=dir_dp dumpfile=root.dat logfile=root.log schemas=root
//删除root用户
sqlplus system/admin@orcl
drop user root cascade;
//重新创建root用户
sqlplus system/admin@orcl
//或者引用:oracle建表建用户.txt
create user ARAdmin identified by AR#Admin# default tablespace ARSYSTEM temporary tablespace ARTMPSPC quota unlimited on arsystem;
grant alter session,create cluster,create database link,create sequence,create
session,create synonym,create table,create
view,create procedure,create trigger,query rewrite to ARAdmin;
//数据库导入(如果是单张表,先删除表,再导入 drop table 表名)
impdp system/admin@orcl directory=dir_dp dumpfile=ARADMIN.DAT logfile=ARADMIN.log schemas=root remap_tablespace=JEESITE:EESITE_TBSPACE
//表空间不一致(ora-39083)
remap_tablespace=tablespace1:tablespace2
remap_tablespace=JEESITE:EESITE_TBSPACE
//oracle建表建用户.txt
--表空间
CREATE TABLESPACE JEESITE
DATAFILE 'E:/app/Administrator/oradata/orcl/JEESITE_TBSPACE.dbf' size 800M
EXTENT MANAGEMENT LOCAL SEGMENT SPACE MANAGEMENT AUTO;
--索引表空间
CREATE TABLESPACE JEESITE_INDEX
DATAFILE 'E:/app/Administrator/oradata/orcl/JEESITE_TBSPACE_INDEX.dbf' size 512M
EXTENT MANAGEMENT LOCAL SEGMENT SPACE MANAGEMENT AUTO;
--2.建用户
create user root identified by root
default tablespace JEESITE;
--3.赋权
grant connect,resource to root;
grant create any sequence to root;
grant create any table to root;
grant delete any table to root;
grant insert any table to root;
grant select any table to root;
grant unlimited tablespace to root;
grant execute any procedure to root;
grant update any table to root;
grant create any view to root;