***********本文章为本人工作中遇到的问题记录,如果有问题欢迎讨论改正***********
一、检查数据库服务器参数、表空间、数据库用户名、实例名、账号、密码等信息
二、导出数据:
使用exp命令:
1:directory:dump文件导出的文件位置,可以预先在数据库中创建出来
2:schemas:根据数据库用户导出数据,schemas为用户名
3:parallel:并行数,由于数据量大的情况下导出数据比较慢,所以需要进行并行导出,具体并行数根据服务器情况而定,推荐8
4:cluster:并行导出情况下,推荐为no,若为y,由于目录未共享情况,会出现问题
5:compression:压缩,可以在导出的同时对dump文件进行压缩,但并不会提升导出速度
6:开并行导出dumpfile写法才加_%U
expdp user/passwd directory='注释1' dumpfile=file_%U.dmp logfile=exp.log schemas='注释2' parallel=8 cluster=no compression=y
三、导入数据
使用imp命令:
1:directory为dump文件存放位置,可预先在新数据库中创建完成
2:导出时开并行,导入时需保持一致,dumpfile与导出时写法一致
3:remap_schema=old:new为当新老数据库的实例发生改变时,进行转换
4:parallel并行数需与导出时一致
impdp user/passwd directory='注释1' dumpfile=file_%U.dmp logfile=imp.log remap_schema=old:new parallel=8 cluster=no
数据库查询知识:
1.查询directory:
select * from dba_directories;
2.创建directory并附权:directory_name自己取名字,username为数据库用户
create directory directory_name as '/home/示例';
grant read,write on directory directory_name to username;
3.导入后如果要清空数据库用户下所有内容并重新创建新的用户,进行如下操作(谨慎操作)
①.删除用户
drop user username cascade;
②.创建用户、设置密码、设置表空间
create user username identified by passed default tablespace tablespace_name;
③.给用户附权
grant resource,connect to username;
④.quota为限制用户对表空间的使用,可以设置为unlimited
alter user username quota unlimited on tablespace_name;
⑤.给用户赋予directory的读写权限
grant read,write on directory_name to username;
⑥.给用户赋予对应创建视图、索引、同义词表的权限
grant create synonym to username;
grant create view to username;
4.查询当前数据库多少进程占用,删除用户前需要将所有进程关闭
select SID,SERIAL#,MACHINE,PROGRAM from V$session;
5.查询数据库表空间
select * from dba_tablespaces;
6.查询数据库用户
select * from dba_users;
7.重启数据库
登录dba用户:shutdown immediate;
登录dba用户:startup;