oracle数据库迁移过程中的常见问题及常见操作命令
2017-02-20 14:38
351 查看
本文地址:http://blog.csdn.net/shanglianlm/article/details/56012849
数据库导出:
1 ORA-39002,ORA-39070,ORA-39087 目录名无效
ORA-39002: 操作无效
ORA-39070: 无法打开日志文件。
ORA-39087: 目录名 EXPDIR 无效
使用SELECT * FROM dba_directories;查看发现EXPDIR 是否存在。
若存在
否则执行
2 ORA-12154:TNS:无法解析指定的连接标识符
先
然后再imp xxx/xxx 后面不能带”@” 才能导入
3 expdp报错ORA-31631、ORA-39161 权限不足
从报错提示信息来看,是权限不足造成的。当执行expdp操作指定remap_schema参数时,需要具备exp_full_database权限。给rm用户赋予exp_full_database权限。
导入时报错
同样处理方法,授权imp_full_database
将oracle 11g导出的dmp文件导入到oracle10g 时提示:
用notepad++工具打开dmp文件,可以看到头部信息 --TEXPORT:V11.01.00,即为源数据库的版本号,将其修改为目的数据库的版本号,如10.02.01。
常见sql语句
1 oracle中查询某个库中所有的表以及所占的表空间大小
查某一用户下的表
查所有的表
2 查看所有表空间对应的数据文件
3 修改数据文件大小
4.查询数据库当前进程的连接数:
5.查看数据库当前会话的连接数:
6.查看数据库的并发连接数:
7.查看当前数据库建立的会话情况:
8.查询数据库允许的最大连接数:
或者:
修改数据库允许的最大连接数:
(需要重启数据库才能实现连接数的修改)
9.查看当前有哪些用户正在使用数据:
其他
oracle用expdp定时备份所有步骤详解
http://jingyan.baidu.com/article/9113f81b2040862b3314c757.html
数据库导出:
使用sysdba 用户执行 create or replace directory expdir as 'E:\bak'; grant read,write on directory expdir to rm; 使用cmd命令行执行 expdp rm/xxx@orcl directory=expdir full=y parallel=4 logfile=rmExp.log dumpfile=rm.dmp;
1 ORA-39002,ORA-39070,ORA-39087 目录名无效
ORA-39002: 操作无效
ORA-39070: 无法打开日志文件。
ORA-39087: 目录名 EXPDIR 无效
使用SELECT * FROM dba_directories;查看发现EXPDIR 是否存在。
若存在
GRANT READ,WRITE ON DIRECTORY EXPDIR to rm;
否则执行
create or replace directory expdir as 'E:\bak';
2 ORA-12154:TNS:无法解析指定的连接标识符
UDE-12154:operation generated ORACLE error 12154 ORA-12154:TNS:无法解析指定的连接标识符
先
set oracle_sid=orcl
然后再imp xxx/xxx 后面不能带”@” 才能导入
3 expdp报错ORA-31631、ORA-39161 权限不足
ORA-31631: privileges are required ORA-39161: Full database jobs require privileges
从报错提示信息来看,是权限不足造成的。当执行expdp操作指定remap_schema参数时,需要具备exp_full_database权限。给rm用户赋予exp_full_database权限。
grant exp_full_database to rm;
导入时报错
ORA-31631: privileges are required ORA-39122: Unprivileged users may not perform REMAP_SCHEMA remappings.
同样处理方法,授权imp_full_database
grant imp_full_database to rm;
将oracle 11g导出的dmp文件导入到oracle10g 时提示:
IMP-00010: 不是有效的导出文件, 头部验证失败 IMP-00000: 未成功终止导入
用notepad++工具打开dmp文件,可以看到头部信息 --TEXPORT:V11.01.00,即为源数据库的版本号,将其修改为目的数据库的版本号,如10.02.01。
常见sql语句
1 oracle中查询某个库中所有的表以及所占的表空间大小
查某一用户下的表
select SEGMENT_NAME,TABLESPACE_NAME,sum(BYTES/1024/1024)||'M' from USER_extents where SEGMENT_TYPE='TABLE' group by SEGMENT_NAME,TABLESPACE_NAME
查所有的表
select SEGMENT_NAME,TABLESPACE_NAME,sum(BYTES/1024/1024)||'M' from dba_extents where SEGMENT_TYPE='TABLE' group by SEGMENT_NAME,TABLESPACE_NAME
2 查看所有表空间对应的数据文件
select tablespace_name,file_name from dba_data_files;
3 修改数据文件大小
alter database datafile 'h:\app\administrator\oradata\orcl\users01.dbf' resize 10240M;
4.查询数据库当前进程的连接数:
select count(*) from v$process;
5.查看数据库当前会话的连接数:
select count(*) from v$session;
6.查看数据库的并发连接数:
select count(*) from v$session where status='ACTIVE';
7.查看当前数据库建立的会话情况:
select sid,serial#,username,program,machine,status from v$session;
8.查询数据库允许的最大连接数:
select value from v$parameter where name = 'processes';
或者:
show parameter processes;
修改数据库允许的最大连接数:
alter system set processes = 300 scope = spfile;
(需要重启数据库才能实现连接数的修改)
9.查看当前有哪些用户正在使用数据:
select osuser,a.username,cpu_time/executions/1000000||'s',sql_fulltext,machine from v$session a,v$sqlarea b where a.sql_address = b.address order by cpu_time/executions desc;
其他
oracle用expdp定时备份所有步骤详解
http://jingyan.baidu.com/article/9113f81b2040862b3314c757.html
相关文章推荐
- 树莓派操作目录以及常用命令整理——树莓派入手常见问题(四)
- Linux shell常见命令操作以及问题解决
- 命令窗口导出oracle数据库的方法及常见问题解决方法
- 树莓派操作目录以及常用命令整理——树莓派入手常见问题二
- Linux常见的一些简单命令操作及简单小问题整理
- 记录几个IOS开发过程中Pod命令的常见问题解决方案
- mongodb 操作命令 及常见问题解决方法 (更新中...)
- 树莓派操作目录以及常用命令整理——树莓派入手常见问题
- Oracle数据库迁移常用命令和问题
- Vim常见操作命令总结:
- oracle数据库远程连接配置步骤及常见问题
- 转---CentOS安装Oracle数据库详细介绍及常见问题汇总
- Ubuntu常用命令及常见问题
- 常见问题及解决办法 整理之8-1(日期的相关操作)
- oracle数据库时常用的操作命令
- Oracle数据库数据迁移到MySQL数据库时间格式问题
- Oracle数据库数据迁移到MySQL数据库之序列问题解决办法
- Java操作Oracle数据库以及调用存储过程
- 记一次oracle数据库迁移的问题处理两例
- Liferay 6.1 开发过程中的一些常见问题