oracle使用过程中的错误和注意事项

oracle监听报错ora-***

本地oracle突然不可用,tns监听各种报错,解决一个又有一个新问题,没办法就把监听都删除又重新建了,还不不行于是就找到这个方法

简单的sql命令:

先登录到sqlplus:sqlplus /nolog

登录数据库:conn system/manager assysdba

然后启动数据库:startup

发现ora-00119【ora-00119 invalid specification for system parameter】

ora-00132【syntax error or unresolved network name ‘LISTENER_ORCL’】:
在这里插入图片描述
现在看来,完全可以理解就是00119就是oracle没有启动!

现在来个更简单的:

【解决办法】

方法①:这种方式每次电脑重启以后,都需要用sysdba的身份启动数据库;

优点:能够加深基本的sql密令的印象;缺点:麻烦;

1.找到一个文件夹:pfile;虽然每个人安装oracle的路径不一样,但是在安装的目录下一定会找到这个文件夹!

比如我的文件夹:D:\app\jamb008\admin\orcl\pfile

这个文件下有个文件:init.ora.62201993922 他其实就是pfile,用来启动oracle的文件!
在这里插入图片描述
2.用UE编辑器的方式打开它,找到local_listener,然后将它的值换掉(原始值叫LISTENER_ORCL),换成你tnsnames.ora中的ADDRESS_LIST:
在这里插入图片描述
在这里插入图片描述
然后回到cmd中,执行:startuppfile=‘D:\app\jamb008\admin\orcl\pfile\init.ora.62201993922’
在这里插入图片描述
再次用plsql登录:system manager成功了!!!

数据更新是错误:ORA-01843:not a valid month (无效日期,月无效)

执行时因中英文类型不同报错,可以修改当前会话的日期语言,关闭会话就失效。

--修改当前会话日期语言为中文
alter session set nls_language='SIMPLIFIED CHINESE';
--修改后可以成功执行
SELECT TO_DATE('21-5月-2021') FROM dual;


--修改会话日期语言为英文
ALTER SESSION SET nls_date_language='AMERICAN';
--修改后可以成功执行
SELECT TO_DATE('21-MAY-2021') FROM dual;

导入文件时如果是已有表空间的导入,使用

imp root/root file=D:\2022.dmp full=y ignore=y
用户有对应的库,不需要再加@数据库,加了之后反而报错

oracle 创建表时,出现ORA-00907: 缺失右括号

可能是 oracle版本过低

查资料显示,Oracle 12c R1中引入了 可见/不可见(INVISIBLE/VISIBLE)字段思想,导出的时候,会默认导出
再导入到 oracle 11g 的版本中的时候,会无法识别 VISIBLE 这样的字段
所以解决办法就是手动去掉 VISIBLE

ORA-00907: 缺失右括号

oracle 创建表时,出现ORA-00907: 缺失右括号
可能是 oracle版本过低

查资料显示,Oracle 12c R1中引入了 可见/不可见(INVISIBLE/VISIBLE)字段思想,导出的时候,会默认导出
再导入到 oracle 11g 的版本中的时候,会无法识别 VISIBLE 这样的字段
所以解决办法就是手动去掉 VISIBLE

ORA-19502: write error on file “xxxxx”, block number xxxx

错误原因:
从报错信息来看应该是写文件时遇到I/O错误,一般是磁盘空间不足导致。用df命令查看磁盘空间

[root@gsp ignt]# df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/mapper/VolGroup00-LogVol00
                      37G   23G   13G  64% /
/dev/sda1                99M   23M   71M  25% /boot
tmpfs                  2.0G  1.1G  941M  53% /dev/shm
/dev/mapper/VolGroup01-LogVol10
                      50G   46G  1.6G  97% /oradata

解决方法:
很明显/oradata只剩下1.6G空间了,不足以创建4G的数据文件,所以报上面错误。要解决这个问题,那么减小数据文件的大小或为增加资源。

sqlplus执行sql报错:ORA-01756: quoted string not properly terminated

现可能是由于使用TOAD导出SQL insert语句,编码集的问题导致的。

可以用Notepad++将字符集设置UTF-8无BOM格式编码

使用sqlplus执行sql导致中文乱码问题

 export LANG=zh_cn.utf8  export LC_ALL=zh_cn.utf8 字符集(使用export临时修改)

ORA-00054: 资源正忙, 但指定以 NOWAIT 方式获取资源, 或者超时失效

解决方法如下:


SQL> select session_id from v$locked_object;

SESSION_ID
----------
142

SQL> SELECT sid, serial#, username, osuser FROM v$session where sid = 142;

SID SERIAL# USERNAME OSUSER
---------- ---------- ------------------------------ ------------------------------
142 38 SCOTT LILWEN

SQL> ALTER SYSTEM KILL SESSION '142,38';
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值