一、oracle-11g(centos5.2)启动不了sqlplus,提示:libnnz11.so: cannot restore segment prot after reloc: Permission denied;
解决:selinux的问题
(1)使用chcon 命令
示例: chcon -t texrel_shlib_t /opt/ora11/product/11.1.0.6/lib/*.so
(2) 禁止掉SELinux
更改/etc/sysconfig/selinux 文件的内容为 SELINUX=permissive
两个任选一个
二、主机名引起的lsnrctl监听端口不能启动。
现象:使用netca配置监听端口的时候,特别的慢。查看cpu、内存都没有被占用。手工配置listener后用lsnrctl start启动还是特慢。启动好后,netstat查看端口1521已经启动,但是就是不能登录上,提示tns没有启动。emca -config dbcontrol db创建em的时候,查看到主机名为vip-vr20.tuk.trafficz.com
很明显不对。难道是主机名称不对?查看/etc/hosts /ets/sysconfig/network都没问题
解决方法:修改/etc/hosts,将主机名的解析添加上去就可以了,开始的时候只有localhost的解析。
三、触发器引起的不能安装statspack。
安装statspace的时候,出现错误提示:
ORA-04098: 触发器 'SYS.DBT_LOGON' 无效且未通过重新验证
google未果。
试着用perfstat登陆,结果出现上面错误。而用其他用户登陆却没有问题。
记得前几天修改过审计,于是将审计去掉。
Noaudit table;
Alter system set audit_trail=none scope=spfile;
Startup force;
问题还是依旧。
根据提示将触发器禁用
Alter trigger SYS.DBT_LOGON disable;
可以了。
使用命令
select trigger_body from dba_triggers where trigger_name='DBT_LOGON';
查看到代码有问题,修改后正确的代码为:
create or replace trigger SYS.DBT_LOGON
after logon on database
BEGIN
execute immediate
'alter session set isolation_level=serializable';
--null;
--select 1+2 into i from dual;
end;
/
再将trigger改回,问题解决。
从上面的结果看,由于其他登录的用户都具有dba的权限。因此,该触发器不对dba用户生效。
阅读(1393) | 评论(0) | 转发(0) |