数据库版本:SQL*Plus: Release 10.2.0.4.0
搭建新库的环境,在新库上执行:
#创建临时表空间
create temporary tablespace wjl_temp
tempfile '/home/oracle/app/oracle/oradata/wjl/wjl_temp01.dbf'
size 32M
autoextend on
next 32M maxsize 2048M
extent management local;
#创建表空间
create tablespace wjl_data
logging
datafile '/home/oracle/app/oracle/oradata/wjl/wjl_data01.dbf'
size 32M
autoextend on
next 32M maxsize 30720M
extent management local;
#创建用户
create user wjlcn identified by wjlcn
default tablespace wjl_data
temporary tablespace wjl_temp;
#授权dba权限给用户
grant dba to wjlcn;
#查看某一用户的信息
SQL> select * from dba_users where username='wjlcn';
第一次导数据,sql文件是通过工具导出的,然后直接通过sqlplus导入,在导入的时候,需要设置:SET DEF OFF;
但由于漏了部分数据,如sequences,所以exp重新导了一边。
导出数据:
exp wjlcn/wjlcn BUFFER=64000 FILE=/tmp/wjlcn.dmp OWNER=wjlcn
在导入数据的时候,先将用户下的数据清除:
执行:drop user wjlcn cascade; 时提示当前用户wjlcn还有其他连接,检查v$session发现有十几个连接。
尝试删除session:
select 'alter system kill session '||CHR(39)||SID||','||SERIAL#||CHR(39)||';' from v$session where username='WJLCN';
同时可以删除进程,或者等待oracle自动清除:
SELECT 'kill -9 '||SPID FROM V$PROCESS WHERE ADDR IN (
SELECT ADDR FROM V$PROCESS WHERE PID<>1
MINUS
SELECT PADDR FROM V$SESSION);
清除完当前用户的连接后,顺利执行:drop user wjlcn cascade;
重新创建用户:create user wjlcn identified by wjlcn
default tablespace wjl_data
temporary tablespace wjl_temp;
赋予用户相对应的权限:假设dba权限 grant dba to wjlcn;
开始导入数据:
imp wjlcn/wjlcn BUFFER=64000 FILE=/tmp/wjlcn.dmp FROMUSER=wjlcn TOUSER=wjlcn
导完后显示:Import terminated successfully without warnings.
阅读(4338) | 评论(6) | 转发(1) |