Oracle常见问题解决
- 1、 IMP-00013: only a DBA can Import a file Exported by another DBA
- 2、ORA-03297: file contains used data beyond requested RESIZE value
- 3、ORA-12514: TNS: 监听程序当前无法识别连接描述符中请求的服务
- 4、ORA-01034和ORA-27101
- 5、遭遇ORA-01950: no privileges on tablespace 'TBS_MARKET_DAT'
- 6、ORA-01653: unable to extend table CSBZHK.T_BS_RK_ZTRY_CSB by 1024 in tablespace CSBZHK_DW
- 7、ORA-03206: maximum file size of (13107200) blocks in AUTOEXTEND clause is out of range
- 8、kill进程报错ORA-00031的解决方法
- 9、oracle数据文件超出
- ORA-01555: snapshot too old: rollback segment number 2 with name "_SYSSMU2_2255350693$" too small(待解决,以下解决方法无效)
1、 IMP-00013: only a DBA can Import a file Exported by another DBA
解决方法:给数据库授权导入功能
grant imp_full_database to user;
2、ORA-03297: file contains used data beyond requested RESIZE value
3、ORA-12514: TNS: 监听程序当前无法识别连接描述符中请求的服务
解决方法:
1)找到${oracle_home}\network\admin\listener.ora;
2)在SID_LIST增加
(SID_DESC =
(GLOBAL_DBNAME = ORCL)
(ORACLE_HOME = E:\app\oracle\virtual\product\12.2.0\dbhome_1)
(SID_NAME = ORCL)
)
注意:ORACLE_HOME为oracle的安装路径。
3)重新启动监听。
正常的启动状态信息,如下:
4、ORA-01034和ORA-27101
https://blog.csdn.net/qq_39611053/article/details/79031101
Caused by: java.sql.SQLRecoverableException: ORA-01034: ORACLE not available
ORA-27101: shared memory realm does not exist
Linux-x86_64 Error: 2: No such file or directory
执行以下命令重新启动
sqlplus /nolog
conn sys/Dragon#0.13 as sysdba
startup
5、遭遇ORA-01950: no privileges on tablespace 'TBS_MARKET_DAT'
ALTER USER csbzhk QUOTA UNLIMITED ON CSBZHK_DW;
GRANT RESOURCE TO csbzhk;
6、ORA-01653: unable to extend table CSBZHK.T_BS_RK_ZTRY_CSB by 1024 in tablespace CSBZHK_DW
空间不足导致
7、ORA-03206: maximum file size of (13107200) blocks in AUTOEXTEND clause is out of range
当前block size 为8k的数据文件最大支持2^22个block,即32G。
alter tablespace CSBZHK_DW add datafile '/u01/app/oracle/tablespace/csbzhk/CSBZHK_DW02.dbf' SIZE 1024M AUTOEXTEND ON NEXT 1024M MAXSIZE 20480M ;
8、kill进程报错ORA-00031的解决方法
1)查找进程ID
执行如下语句,查出被锁的进程的ID:
-- 执行以下SQL,需要DBA的权限
---- 查询条件 KILLED ,必须大写
SELECT P.SPID, S.SID, S.SERIAL#, S.USERNAME, S.PROGRAM
FROM V$PROCESS P, V$SESSION S
WHERE P.ADDR=S.PADDR AND S.STATUS='KILLED';
2)KILL 进程
9、oracle数据文件超出
创建表空间文件时报错如下信息:
解决方法:
查询数据文件最大值:
show parameter db_files;
修改数据文件最大值,并重启oracle服务,未重启服务修改不生效:
alter system set db_files=400 scope=spfile;
2.1 Oracle 运行在 Unix 机器上
在终端执行以下脚本:
$SPID 为 第1步的sql查出的SPID
kill –9 $SPID
2.1 Oracle 运行在 Windows 机器上
在CMD命令窗口下,输入:
$SPID 为 第1步的sql查出的SPID
orakill 数据库实例名 $SPID
注:orakill 是Oracle自带的一个服务
ORA-01555: snapshot too old: rollback segment number 2 with name "_SYSSMU2_2255350693$" too small(待解决,以下解决方法无效)
导出库表数据时报错
原因:快照太旧:回滚参数设置太小
解决方法:ALTER SYSTEM SET undo_retention=10800 SCOPE=BOTH; (设为3小时)