Oracle数据库整个用户导入本地文件
1. 先新建一个表空间:
SQL : create tablespace PLATFORM datafile'D:\Develop\Oracle\oradata\new\news_data.dbf' size 2500M;
2. 新建用户并授权:
SQL:
-- Create the user
create user SJCSidentified by "1"
default tablespace PLATFORM
temporary tablespace TEMP
profile DEFAULT;
-- Grant/Revoke role privileges
grant dba to SJCS with admin option;
-- Grant/Revoke system privileges
grant administer any sql tuning set to SJCS with admin option;
grant administer database trigger to SJCS with admin option;
grant administer sql tuning set to SJCS with admin option;
grant unlimited tablespace to SJCS with admin option;
3. 然后在导入.dmp文件:
imp sjcs/password fromuser=sjcs touser=sjcs file=d:/sjcs.dmp用户名/密码 来源用户名 导入到的用户名 要导入的.dmp文件
4. 这其中出现的问题
4.1 Oracle数据库中无法删除用户:
解决办法:select username,sid,serial# from v$session;
alter system kill session '140,426';
drop user sjcs cascade;
4.2 当导入的.dmp文件比较大时,在控制台中会出现这样的错误:
“IMP-00003: 遇到 ORACLE 错误 1658
ORA-01658: 无法为表空间 PLATFORM 中的段创建 INITIAL 区
IMP-00017: 由于 ORACLE 错误 1658, 以下语句失败:
"CREATE TABLE "WAITDO_NOFLOW" ("ID" VARCHAR2(50) NOT NULL ENABLE, "MODEL_ID""
" VARCHAR2(50), "PAGE_ID" VARCHAR2(50), "DO_URL" VARCHAR2(500), "IN_USER_ID""
" VARCHAR2(50), "CRE_USER_ID" VARCHAR2(50), "CRE_TIME" VARCHAR2(30), "OP_NAM"
"E" VARCHAR2(100), "TITLE" VARCHAR2(200), "NUM" VARCHAR2(50), "DEPT_ID" VARC"
"HAR2(50)) PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 STORAGE(INITIAL 13"
"1072 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT) TABLESPACE "PLATFOR"
"M" NOLOGGING NOCOMPRESS
表空间和用户都删除了,再从新建一个稍微大一些的表空间,由最开始的500M每次增加500M,一直增加哦到2500M,可是还是出现上述的错误。
后来我设置了表空间自动增加:
create tablespace PLATFORM datafile
'D:\Develop\Oracle\oradata\new\news_data.dbf' size 2500M;
--表空间自动扩展
alter database datafile 'D:\Develop\Oracle\oradata\new\news_data.dbf' autoextend on;
这样就不会再出现错误了。
5.最后在控制台下出现这样的:
"END RYXXWAITDO;"即将启用约束条件...
成功终止导入, 但出现警告。
这个是怎么回事儿,我也不太清楚,可能是因为我导入的文件的问题,总之遮掩导入之后,我的本地项目就起来了。