linux下oracle常用命令

一、启动

#su - oracle 切换到oracle用户且切换到它的环境
$lsnrctl status 查看监听及数据库状态
$lsnrctl start 启动监听
$sqlplus /nolog 进入sqlplus
SQL>conn / as sysdba 以DBA身份登录
SQL>startup 启动db

二、停止

#su - oracle 切换到oracle用户且切换到它的环境
$lsnrctl stop 停止监听
$sqlplus /nolog 进入sqlplus
SQL>conn / as sysdba 以DBA身份登录
SQL>SHUTDOWN IMMEDIATE 关闭db

其中startup和shutdowm还有其他一些可选参数,有兴趣可以另行查阅

三、查看初始化参数及修改

#su - oracle 切换到oracle用户且切换到它的环境
$sqlplus / as sysdba 进入sqlplus
SQL>conn / as sysdba 以DBA身份登录
SQL>show parameter session; 查看所接受的session数量
SQL>alter system set shared_servers=10; 将shared_servers的数量设置为10

四.数据库连接数目
其中一个数据库连接需要一个session,它的值由processes决定,session与processes通常有以下关系:

session = 1.1 * processes + 5

a、以sysdba身份登陆PL/SQL 或者 Worksheet
b、查询目前连接数

show parameter processes;

c、更改系统连接数

alter system set processes=1000 scope=spfile;

d、创建pfile

create pfile from spfile;

e、重启Oracle服务或重启Oracle服务器
不过这也不是绝对的,还要受到CPU和内存等硬件条件的限制。另外 processes和session不可以通过alter system语句直接修改,只可以修改服务器参数文件来更改(Server Parameter File)。如果存在一个server parameter file,通过alter system语句所作的更改将会被持久化到文件中。
五、查询Oracle游标使用情况的方法

select * from v$open_cursor where user_name = 'TRAFFIC';

六、查询Oracle会话的方法

select * from v$session

 

 

Linux查看端口使用状态、关闭端口方法

前提:首先你必须知道,端口不是独立存在的,它是依附于进程的。某个进程开启,那么它对应的端口就开启了,进程关闭,则该端口也就关闭了。下次若某个进程再次开启,则相应的端口也再次开启。而不要纯粹的理解为关闭掉某个端口,不过可以禁用某个端口。

1. 可以通过

netstat -anp

来查看哪些端口被打开。
(注:加参数’-n’会将应用程序转为端口显示,即数字格式的地址,如:nfs->2049, ftp->21,因此可以开启两个终端,一一对应一下程序所对应的端口号)
2. 然后可以通过

lsof -i:$PORT

查看应用该端口的程序($PORT指对应的端口号)。或者你也可以查看文件/etc/services,从里面可以找出端口所对应的服务。
(注:有些端口通过netstat查不出来,更可靠的方法是”~$ sudo nmap -sT -O localhost”)
3. 若要关闭某个端口,则可以:
1)通过iptables工具将该端口禁掉,如:

sudo iptables -A INPUT -p tcp --dport $PORT -j DROP
sudo iptables -A OUTPUT -p tcp --dport $PORT -j DROP

2)或者关掉对应的应用程序,则端口就自然关闭了,如:

kill -9 PID #(PID:进程号)

如:通过

netstat -anp | grep ssh

有显示:

tcp 0 127.0.0.1:2121 0.0.0.0:* LISTEN 7546/ssh

则:

kill -9 7546

(可通过”~$ chkconfig”查看系统服务的开启状态)

CentOS 5.5 安装 Oracle 11gR2 并随系统启动

**一.安装环境&&相关约定 **
system:CentOS 5.5
oracle version: Oracle 11gR2
基本需求:
物理内存大小:至少1G
SWAP:最好达到3G以上
oracle安装目录:/oracle
安装包:安装包有两个包,一定要解压到一个目录下,即database目录下。
**二.安装准备工作 **
1)固定IP地址(这点很重要,一定要固定IP)
2)安装依赖包
在CentOS下Oracle 11gR2依赖的包:
binutils-2.17.50.0.6-2.el5
compat-libstdc++-33-3.2.3-61
elfutils-libelf-0.125-3.el5
elfutils-libelf-devel-0.125
glibc-2.5-12
glibc-common-2.5-12
glibc-devel-2.5-12
glibc-headers-2.5-12
gcc-4.1.1-52
gcc-c++-4.1.1-52
libaio-0.3.106
libaio-devel-0.3.106
libgcc-4.1.1-52
libstdc++-4.1.1
libstdc++-devel-4.1.1-52.e15
make-3.81-1.1
numactl-devel-0.9.8.i386
sysstat-7.0.0
检查以上包是否有安装,没有就安装之。
yum -y install binutils compat-libstdc++-33 elfutils-libelf elfutils-libelf-devel glibc glibc-common glibc-devel gcc gcc-c++ libaio-devel libaio libgcc libstdc++ libstdc++-devel make sysstat unixODBC unixODBC-devel pdksh numactl-devel glibc-headers

(如果有报错现 yum clean all)
**三.修改内核参数 **

#vi /etc/sysctl.conf
#oracle settings
fs.file-max = 6815744
kernel.shmall = 2097152 不用改
kernel.shmmax = 2147483648 不用改
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
net.ipv4.ip_local_port_range = 9000 65500
net.core.rmem_default = 262144
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 1048576
fs.aio-max-nr = 1048576

没有的可以加在最后
修改完毕执行
#sysctl -p //让上面的修改生效

**四.修改/etc/security/limits.conf **

#oracle settings
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536

**五.修改系统版本(Redhat 5.×系列系统略过这步) **

#cp /etc/redhat-release /etc/redhat-release.bk
#vi /etc/redhat-release
修改内容为:
Red Hat Enterprise Linux AS release 5 (Taroon)
<strong></strong>

**六.修改/etc/pam.d/login **

添加以下内容:
session required /lib/security/pam_limits.so
session required pam_limits.so

**七.修改/etc/profile **

添加以下内容:
if [ $USER = "oracle" ]; then
if [ $SHELL = "/bin/ksh" ]; then
ulimit -p 16384
ulimit -n 65536
else
ulimit -u 16384 -n 65536
fi
fi
添加到 vi /etc/csh.login 以下内容:
if ( $USER == "oracle" ) then
limit maxproc 16384
limit deors 65536
endif

**八.创建相关用户 **

groupadd oinstall
groupadd dba
useradd -g oinstall -G dba oracle
passwd oracle
<strong></strong>

**九.创建相关目录,并赋予对应权限 **

mkdir -p /oracle/app/oracle/product/
chown -R oracle:oinstall /oracle/
chmod -R 775 /oracle/
<strong></strong>

**十.设置oracle用户相关变量 **

#su – oracle
$ vi .bash_profile
添加以下内容:
ORACLE_BASE=/oracle/app/oracle
export ORACLE_BASE
ORACLE_HOME=$ORACLE_BASE/product/11.1.0/db_1
export ORACLE_HOME
ORACLE_SID=ORCL
export ORACLE_SID
ORACLE_TERM=xterm
export ORACLE_TERM
TNS_ADMIN=$ORACLE_HOME/network/admin
export TNS_ADMIN
PATH=$ORACLE_HOME/bin:$PATH
export PATH
LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
export LD_LIBRARY_PATH
CLASSPATH=$ORACLE_HOME/jdk/jre:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib
export CLASSPATH
ORACLE_UNQNAME=$ORACLE_SID export ORACLE_UNQNAME
umask 022
$source .bash_profile
$exit

**十一.开始安装 **

#xhost + (这里使用root用户执行,一定要执行以下2步,如果没有执行,将无法启动图形安装界面)
#xhost + localhost
#su – oralce
$./runInstaller (到oracle安装文件所在目录执行该命令)

**十二.安装过程中注意事项 **

1)第一步是让你填支持的邮箱,不填也可以,会报错,直接略过即可。
2)接下来就一步步的点下一步即可。
3)到检验系统内存,swap大小,依赖包以及内核参数设定是否正确时,更据提示去满足他的需求即可。最好不要轻易略过。
4)下面就是无尽的等待。
5)vi /ect/profile 最后加上 source /home/oracle/.bash_profile (可以不加)

**十三.开机启动设置 **

1)vi /oracle/app/oracle/product/11.1.0/db_1/bin/dbstart
ORACLE_HOME_LISTNER=$1
修改为:

ORACLE_HOME_LISTNER=$ORACLE_HOME
2)vi /oracle/app/oracle/product/11.1.0/db_1/bin/dbshut

ORACLE_HOME_LISTNER=$1
修改为:
ORACLE_HOME_LISTNER=$ORACLE_HOME
3)编写开机启动文件
#vi /etc/init.d/oracle
添加以下内容:
#!/bin/sh
# chkconfig: 345 61 61
# description: Oracle 11g AutoRun Services
# /etc/init.d/oracle
#
# Run-level Startup script for the Oracle Instance, Listener, and
# Web Interface
export ORACLE_BASE=/oracle/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/11.1.0/db_1
export ORACLE_SID=ORCL
export PATH=$PATH:$ORACLE_HOME/bin
ORA_OWNR=oracle
# if the executables do not exist — display error
if [ ! -f $ORACLE_HOME/bin/dbstart -o ! -d $ORACLE_HOME ]
then
echo "Oracle startup: cannot start"
exit 1
fi
# depending on parameter — startup, shutdown, restart
# of the instance and listener or usage display
case "$1" in
start)
# Oracle listener and instance startup
su $ORA_OWNR -lc $ORACLE_HOME/bin/dbstart
echo "Oracle Start Succesful!OK."
;;
stop)
# Oracle listener and instance shutdown
su $ORA_OWNR -lc $ORACLE_HOME/bin/dbshut
echo "Oracle Stop Succesful!OK."
;;
reload|restart)
$0 stop
$0 start
;;
*)
echo $”Usage: `basename $0` {start|stop|reload|reload}”
exit 1
esac
exit 0

#chmod 750 /etc/init.d/oracle
#ln -s /etc/init.d/oracle /etc/rc1.d/K61oracle
#ln -s /etc/init.d/oracle /etc/rc3.d/S61oracle
#chkconfig --level 345 oracle on
#chkconfig --add oracle
[root@localhost init.d]# service oracle start
Processing Database instance “orcl”: log file /oracle/app/oracle/product/11.1.0/db_1/startup.log
Oracle Start Succesful!OK.
[root@localhost init.d]# service oracle stop
Processing Database instance “orcl”: log file /oracle/app/oracle/product/11.1.0/db_1/shutdown.log
Oracle Stop Succesful!OK.
这样就可以使用service oracle start/stop来启动oracle,是不是很方便呢?
开始您的oracle安装之旅吧~
备注:启动企业管理器命令#emctl start dbconsole 反之停止#emctl stop dbconsole

如果启动有问题/oracle/app/oracle/product/11.1.0/db_1/bin/lsnrctl: error while loading shared libraries: /oracle/app/oracle/product/11.1.0/db_1/lib/libclntsh.so.11.1: cannot restore segment prot after reloc: Permission denied
执行下面两句
1.semanage fcontext -a -t textrel_shlib_t /oracle/app/oracle/product/11.1.0/db_1/lib/libclntsh.so.11.1

2.restorecon -R -v /oracle/app/oracle/product/11.1.0/db_1/lib/libclntsh.so.11.1
如果在执行 startup时报
ORA-01078: failure in processing system parameters
LRM-00109: could not open parameter file '/oracle/app/oracle/product/11.1.0/db_1/dbs/initORCL.ora'
解决方法:(来自http://bbs.chinaunix.net/thread-3605714-1-1.html)
方法:

$ORACLE_BASE/admin/(dbname) /pfile目录下的init.ora(.01200923383 文件复制到

$ORACLE_HOME/dbs目录下即可

[root@phoneDB pfile]# pwd
/home/oracle/admin/phone/pfile
[root@phoneDB pfile]# ls
init.ora.010200882414
[root@phoneDB pfile]#
[root@phoneDB dbs]# pwd
/home/oracle/10.2.0/db_1/dbs
[root@phoneDB dbs]# ls
hc_phone.dat init.ora lkPHONE spfilephone.ora
initdw.ora init.ora.010200882414 orapwphone

#cp init.ora.010200882414 initORCL.ora'
来源:http://www.ayio.net/32.html

Oracle 其他用户可以登录,sys用户登录ORA-01031: insufficient privileges
(http://blog.sina.com.cn/s/blog_6c1151890100opwt.html
http://blog.sina.com.cn/s/blog_6c1151890100opwq.html
)
有同事反映,数据库使用 conn sys/oracle@xxxx as sysdba登录不上去,提示ORA-01031: insufficient privileges,而用户名密码都是完全正确的,不使用@xxx连接符conn / as sysdba登录正常。
过程:首先判断当前系统采用的是操作系统认证,再使用system/manager@xxxx登录时没有问题,只有使用sysdba权限的用户登录才会报这种错误。接下来进行 grant sysdba to scott; 报错,ORA-01994: GRANT failed: password file missing or disabled。注意,问题就在这里,系统提示密码文件问题。查找$ORACLE_HOME/dbs下的orapwSID文件,发现存在。
原因:orapwdorcl不正确,应该为orapwORCL,实例名应大写,安装时输入的实例名为小写造成。

 

 

Google Chrome 即将推出 Android 平台版本

来自谷歌的开发者博客显示谷歌第一个 Android 版本的 Chrome 即将推出。歌已经为该浏览器设置了新的构建目标,新的浏览器将演变成一个强大的跨平台应用程序,可以帮助谷歌积极推动 Chrome 作为一种游戏和娱乐平台的浏览器。

谷歌将很快统一其浏览器平台,支持包括 Android、Chrome OS、Windows、Linux 和 Mac OS。上个星期一,谷歌发布了 Chrome 的 Android 构建目标修订版。而 Android 平台上的 UI 也已经在上周六完成,我们还得知 Chrome for Android 将使用开源的 Skia 2D 图形库作为标准组件,并开始在基于 Webkit 的浏览器上提供 Java 桥接程序。

Ubuntu 11.10 Beta 2 发布

Ubuntu 11.10 的第二个测试版本已经提供下载,是不是跃跃欲试其新功能了,这只是一个测试版本,所以不推荐作为正式版本使用。你可以制作一张Live CD 或者 usb 启动盘进行测试。

这是测试版本的主要改变有:

  • 全新的Dash;
  • Lenses成为Dash的一部分;
  • Lense细化工具
  • camouflage 被建立在桌面壁纸基础上的Dash, launcher 与 Panel;
  • Unity 桌面以最新发布的 GNOME 3 不稳定版本为基础;
  • 还有一些新的应用,如:邮件客户端Thunderbird、备份工具DeJa Dup;
  • 全新的登录界面LightDM,默认安装的社交客户端Gwibber;
  • *
    Ubuntu软件中心**
    新Ubuntu软件中心已进一步完善。填充和对齐问题已经解决,并已修复在Beta 1中发现问题。

Unity
相对于Beta 1已经略微调整了工作区。

**登录界面LightDM **

提供了新的应用程序:

  • Firefox 7 Beta
  • Thunderbird 7
  • Shotwell 0.11.1
  • Banshee 2.2.0
  • GNOME 3.1.92
    其他更多详细信息可以阅读

下载地址:**http://releases.ubuntu.com/11.10/**

苹果发布Mac OS X安全更新2011-005以终止证书欺诈

之前全球性的DigiNotar证书被冒用问题引发了全球关注,苹果也因在处理这个问题时吊儿郎当而被安全业界叮得满头包,当地时间周五早晨苹果终于公布了面向Mac OS X 10.7和10.6版本的安全更新,代号2011-005,两个系统的下载容量为别为15.59MB和869KB,推荐所有用户更新。

苹果对此描述称该更新修正了一个可以让攻击者提升权限的漏洞,实际上它就是之前闹得沸沸扬扬的DigiNotar问题证书的补丁。

下载:Security Update 2011-005 (Lion)
查看:Security Update 2011-005 (Snow Leopard)

 

详解Ubuntu 11.10的七大改进

新闻来源:华军资讯
据国外媒体报道,上周,Canonical发布了Ubuntu 11.10“Oneiric Ocelot”的第一个测试版,并计划于9月22日发布第二个测试版,再于10月13日发布正式版。下面就是Ubuntu 11.10的改进和新功能:

1****、更小的DVD镜像
Ubuntu 11.10 的DVD镜像精简至1.5GB大小,更易于管理,其中包括所有的语言包以及Inkscape、GIMP、PiTiVi和LibreOffice等应用程序。而那些没有包含在DVD镜像中的应用程序仍然归档,并且还会向用户提供传统的CD镜像。

2****、Ubuntu Core
Ubuntu 11.10中包含的新功能还有一系列名为Ubuntu Core的图像,其中包括软件的基本组成部分,适用于定制的Ubuntu桌面和产品。

3****、改进的32位兼容性
目前,Ubuntu 11.10“Oneiric Ocelot”对在64位系统上安装32位库和应用程序包提供“multiarch”支持,因此AMD64计算机能够安装指定的32位软件,其中包括Skype和Flash,而无需额外的兼容性软件支持。

4****、用户界面改进
Ubuntu 11.10“Oneiric Ocelot”中包含新版Compiz和Unity,为用户带来新的alt+tab切换以及更好的启动器和面板性能。目前,“Places”已经被重命名 为“Lenses”,其中整合了多个来源和先进的过滤选项,例如评级和范围。与此同时,默认情况下,Ubuntu 11.10还安装Banshee 音乐播放器。

5****、新的应用程序和默认
Oneiric Ocelot中包含Thunderbird 为默认邮件客户端,Déjà Dup 作为默认备份工具以及Gwibber作为微博客户端。默认情况下,LightDM作为全新的登录界面,GNOME桌面环境也升级至当前最新的3.1.5 版,最终版将采用GNOME 3.2。与此同时,Ubuntu软件中心则允许用户通过专门的视图搜索顶级的应用程序。

6****、新内核和构架
Ubuntu 11.10中包括新的基于Linux kernel v3.0.3的内核,与此同时,GNU工具链现如今则基于GCC 4.6 for i386、AMD64和ARM OMAP3/OMAP4构架。

7****、Lubuntu
值得一提的是,Lubuntu——一个基于轻量级LXDE桌面的 Ubuntu 变种,现如今加入了 Ubuntu家族。与此同时,Kubuntu、Xubuntu、Edubuntu、Mythbuntu和Ubuntu Studio也加入了Ubuntu 11.10测试版。

GNOME 3.2的Web应用程序模式

有一个很酷的功能,在即将发布的GNOME 3.2 增加了创建Web应用程序的模式。实现方式:当您浏览到一个网站,并选择“保存为Web应用程序” – 之后会被提示输入名称和图标,然后就会建立一个类似iPhone的图标:

然后会有提示告诉你程序创建完成

之后你就可以看到这个 Epiphany Web App 应用程序了。
Web App 模式的特点为:

  • 仅仅保留标题栏这一个 UI 元素。
  • 在该模式下不可访问其他域名,如果试图通过点击超链接的方式打开其他站点,其请求将在正常浏览器进程中打开。
  • 该域名下的 cookies 将从浏览器配置文件中继承(这样就无需重复输入密码),但其他域名的将是独立的。
  • 在独立的进程运行,所以若是正常浏览器进程崩溃了,将不会影响这个 Web App 。
  • Web App 和其他本地应用程序一样,可以在 Alt+Tab 的应用程序切换器中出现:

    当然也会在应用程序列表中出现了,所以也可以添加到收藏: