oracle11g 笔记
使用数据泵导出导入数据
终于搞定了快写个笔记记录下。
删除用户的时候提示已经登录了不能删除,这个需要把登录的session结束掉。
select username,sid,serial# from v$session where username isnotnull;
然后找到用户的进程,然后杀掉。
alter system kill session '146,48';
数据泵导出:
1、手动新建一个文件夹:比如:E:\\ncdatabak
2、数据库管理员登录sqlplus,创建数据导出目录expnc_dir为目录名,'E:\\ncdatabak'为数据库实际目录,命令如下:
create directory expnc_dir as'E:\\ncdatabak';
3、为oracle用户授予访问数据目录的权限,命令如下:
Grantread,write on directory expnc_dir to dxzyjt;
4、执行数据泵出命令,注意一定要在Cmd下执行,不能登录sqlplus后执行。
expdp dxzyjt/dxzyjt@192.168.1.224 directory=expnc_dir dumpfile=ncdatabak.dmp schemas=dxzyjt logfile=ncdatabak.log;
这样,就会在第一步创建的目录里面到处一个dmp文件。接下来我们导入。 数据泵导入:
1、把之前到导出的文件夹复制到新的服务器上,比如:复制到E盘; E:\\ncdatabak 2、数据库管理员登录sqlplus,创建数据导出目录expnc_dir为目录名,'E:\\ncdatabak'为数据库实际目录,命令如下:
create directory expnc_dir as'E:\\ncdatabak';
3、为oracle用户授予访问数据目录的权限,命令如下:
Grantread,write on directory expnc_dir to dxzyjt;
4、执行数据泵出命令,注意一定要在Cmd下执行,不能登录sqlplus后执行。
impdp dxzyjt/dxzyjt@192.168.1.224 directory=expnc_dir dumpfile=ncdatabak.dmp schemas=dxzyjt ;
正常流程的话 会导入成功。
使用数据泵的时候,源数据库和目标数据库必须字符集相同,否则会报错。查看字符集和修改字符集: http://www.cnblogs.com/lishupeng/p/5605558.html ; 导入的时候表空间不够的话,查看如何增加表空
间: (http://www.cnblogs.com/lishupeng/p/5556261.html)
ALTER TABLESPACE users ADD DATAFILE 'D:\\APP01.DBF' SIZE 20G;
8.23上面执行备份数据库文件拷贝命令:
scp delong20171003.dmp 172.10.8.147:/u01/backup 数据库登录命令: sqlplus / as sysdba
sqlplus /nolog
conn sys/orcl as sysdba
数据库关闭: shutdown immediate
数据库开启: startup
监听启动: lsnrctl start Em启动 su – oracle
emctl start dbconsole