分类目录归档:FAQ

一个老系统的老问题:ORA-01031: insufficient privileges

今天打算整合一下所有的vm(除了12c),把他们都放到一个vm中,结果发现遇到郁闷问题: –第一反应是口令文件有问题,于是检查,发现果然缺少口令文件: –还是不行,是否因为大小写的关系(因为之前的那个vm已经迁移到活动硬盘了,懒得打开查看SID了),因此修改为大写试试看: –使用密码文件的认证方式测试本地登录是可以的: –怀疑是sqlnet.ora的设置有问题,结果居然没有,这个vm是7,8年前的,不知道什么原因,居然没有这个文件,创建一个吧: –这里居然冒出来ORACLE_HOME设置不对,郁闷了。。。。。。 –重新执行环境设置脚本: –这是,怀疑是oracle用户本身的问题,于是检查oracle用户的属组: –经过小伙伴的提醒,发现这个VM居然使用了破烂SELinux,sigh。。。。。 –SELinux系统比起通常的Linux系统来,安全性能要高的多,它通过对于用户,进程权限的最小化,即使受到攻击,进程或者用户权限被夺去,也不会对整个系统造成重大影响。 –但是往往有些应用的使用也会受到限制,比如有时候tar一个大目录的时候可能会失败,有时候ftp东西的时候有问题,等等 –其实一般ORACLE的文档上也是明确说明要关闭SELinux的,例如: –5.11 Error While Loading Shared Library When SELinux is Enabled on Red Hat Enterprise Linux 5 –SQL*Plus and Oracle Call Interface (OCI) program calls fail when selinux is … 继续阅读

发表在 FAQ, ORA-XXXXX | 留下评论

关于Oracle的版本号

昨天Roger问小朋友们,谁能说清楚Oracle的版本号,我想起来了,不同版本稍有区别,在Oracle官方文档有详细的解释。   在Oracle 7版本,Oracle版本号包含4部分内容,这个风格(或者说“定义”)一直沿用到Oracle 8i(即,Oracle 8.1.5),这四部分具体解释如下: 第一部分是“Version Number",也就是产品的大版本号,表示这是一个“新的软件”,较之以前的版本有着重大的功能的变革。   第二部分是“Maintenance Release Number”,即 维护版本,也就是大版本下的普通的维护号,旨在标识不同维护版本之间修复了一些重要bug等等。Oracle 7,8.9这三个版本的维护号都是从0开始的,从Oracle 10g开始,Oracle不再有类似Oracle 10.0这样的正式发布版本(internal测试版还有这样的版本),而是10.1,10.2。。。。。   第三部分是“Patch Release Number”,顾名思义,也就是补丁发布号。 Oracle的产品研发是有计划展开的,因此,通常来说当前一个维护版本中出现一些重大问题,等不到下一个维护版号release, 那么就推出了统一维护版本下的更高patch号的版本,用以修复之前的重大bug。这个版本号在Oracle 7和8中式最常见的。 从Oracle 8i(Oracle 8.1.5)开始,Oracle将第三个数字的含义修改为“Maintenance Release Number”, 也就是说这个数字表示一个维护级别,比如,Oracle 8.1.5, 8.1.6, 8.1.7各自增加了一些新的new feature, 这也突出了那个时候Oracle定位产品和方向的一个研发的特点。。。   第四部分是“Port-Specific Patch Release Number”,即特定补丁号的版本,其含义是针对某些特定重要问题或者bug的修复,也就是在“Patch Release … 继续阅读

发表在 FAQ | 标签为 , | 留下评论

使用exp+pipe将导出文件生成压缩包(文本数据的话,空间通常节省10倍左右)

有时候我们的存储空间不够,一个exp会产生一个很大的dmp文件,因此,我们就像exp的时候直接生成一个压缩包,那么管道就可以派上用场了,O(∩_∩)O哈哈~ 10g以后,可以使用expdp compression,例如: [oracle@lunar ~]$ expdp lunar/lunar file=expdp_ff.dmp compression=all tables=ff   Export: Release 11.2.0.3.0 – Production on Sun Oct 27 01:48:15 2013   Copyright (c) 1982, 2011, Oracle and/or its affiliates. All rights reserved.   Connected to: Oracle Database 11g … 继续阅读

发表在 expdp/impdp, FAQ | 标签为 , , | 留下评论

使用exp+pipe的方式直接将数据库导出到目标数据库(数据不落地成dmp)

最早在oracle 8,Oracle 8i,Oracle 9i的时候,没有datapump,因此逻辑数据库迁移的工作多依赖于exp/imp, 然而,当磁盘空间有限制,且停机时间短的时候,通常我们需要一种方式是数据不落地。 那时候,我们常用方式就是借助于管道,也就是exp将数据库导出到pipe,目标段通过管道直接将数据imp到目标数据库,这样数据时不落地的,省去了生成dmp文件的时间和空间,O(∩_∩)O哈哈~ 当然,类似应用还有很多,比如可以使用管道直接讲exp的数据存储到tape,或者直接exp的数据导出成压缩格式,后面会一次测试。 这里先测试,exp to pipe and imp from pipe: [oracle@lunar exp-pipe]$ mknod /tmp/exp_pipe p [oracle@lunar exp-pipe]$ [oracle@lunar exp-pipe]$ ifconfig eth0 Link encap:Ethernet HWaddr 08:00:27:43:8D:35 inet addr:192.168.56.66 Bcast:192.168.56.255 Mask:255.255.255.0 inet6 addr: fe80::a00:27ff:fe43:8d35/64 Scope:Link UP BROADCAST RUNNING … 继续阅读

发表在 expdp/impdp, FAQ | 标签为 , , | 留下评论

使用Oracle安装包的ssh配置机器互信

发表在 FAQ | 标签为 , | 一条评论

我的sqlplus怎么不能显示title了??

我的sqlplus显示不正常: [root@lunar ~]# su – oracle [oracle@lunar ~]$ sqlplus / as sysdba -bash: sqlplus: command not found [oracle@lunar ~]$ . bb.env [oracle@lunar ~]$ ss SQL*Plus: Release 11.2.0.3.0 Production on Thu Oct 10 09:10:53 2013 Copyright (c) 1982, 2011, Oracle. All … 继续阅读

发表在 FAQ | 留下评论