linux下最好用的Oracle开发工具可能就是sqldeveloper了
首先在http://otn.oracle.com/ 上下载最新的Linux - sqldeveloper
sqldeveloper 安装好了可能无法正常打开,可能是没有jdk环境,或者sqldeveloper.conf的jdk目录设置需要修改
此时jdk目录为:/usr/lib/jvm/java-6-openjdk/
文件系统下搜寻sqldeveloper.conf所在位置,因为每个机器文件所在的位置不同。
我的是在/proc/2774/cwd/下
cd /proc/2774/cwd
sudo gedit sqldeveloper.conf
修改SetJavaHome http://www.cnblogs.com/jdk
为SetJavaHome :/usr/lib/jvm/java-6-openjdk/ 保存即可。
在CentOS 6.3下安装完Oracle 10g R2,重开机之后,你会发现Oracle没有自行启动,这是正常的,因为在Linux下安装Oracle的确不会自行启动,必须要自行设定相关参数,首先先介绍一般而言如何启动oracle。
一、在Linux下启动Oracle
登录到CentOS,切换到oracle用户权限
# su – oracle
接着输入:
$ sqlplus "/as sysdba"
原本的画面会变为
SQL>
接着请输入
SQL> startup
就可以正常的启动数据库了。

另外停止数据库的指令如下:
SQL> shutdown immediate
二、检查Oracle DB监听器是否正常
回到终端机模式,输入:
$ lsnrctl status
检查看看监听器是否有启动

如果没有启动,可以输入:
$ lsnrctl start
启动监听器

SQL> conn sys@orcl as sysdba
然后输入密码,sys以sysdba身份登入数据库。

(创建新的oracle数据库:在终端下输入:dbca 即可弹出创建数据库实例的对话框)
三、启动emctl
另外也可以发现http://localhost.localdomain:1158/em 目前是没有反应的,这边要另外启动,启动的指令如下:
$ emctl start dbconsole
这个指令运行时间较长,执行完的画面如下:

手动启动Oracle数据库完毕,下面创建系统自行启动Oracle的脚本。
四、Oracle启动&停止脚本
1. 修改Oracle系统配置文件:/etc/oratab,只有这样,Oracle 自带的dbstart和dbshut才能够发挥作用。
# vi /etc/oratab
orcl:/opt/oracle/102:Y
# Entries are of the form:
# $ORACLE_SID:$ORACLE_HOME:<N|Y>:
2. 在 /etc/init.d/ 下创建文件oracle,内容如下:

1#!/bin/sh# chkconfig: 35 80 10# description: Oracle auto start-stop script. 2 3# 4# Set ORA_HOME to be equivalent to the $ORACLE_HOME 5# from which you wish to execute dbstart and dbshut; 6# 7# Set ORA_OWNER to the user id of the owner of the 8# Oracle database in ORA_HOME. 9ORA_HOME=/opt/oracle/102ORA_OWNER=oracleif [ ! -f $ORA_HOME/bin/dbstart ]then 10 echo "Oracle startup: cannot start" 11 exitficase "$1" in'start') 12# Start the Oracle databases:echo "Starting Oracle Databases ... "echo "-------------------------------------------------" >> /var/log/oracledate +" %T %a %D : Starting Oracle Databases as part of system up." >> /var/log/oracleecho "-------------------------------------------------" >> /var/log/oraclesu - $ORA_OWNER -c "$ORA_HOME/bin/dbstart" >>/var/log/oracleecho "Done"# Start the Listener:echo "Starting Oracle Listeners ... "echo "-------------------------------------------------" >> /var/log/oracledate +" %T %a %D : Starting Oracle Listeners as part of system up." >> /var/log/oracleecho "-------------------------------------------------" >> /var/log/oraclesu - $ORA_OWNER -c "$ORA_HOME/bin/lsnrctl start" >>/var/log/oracleecho "Done."echo "-------------------------------------------------" >> /var/log/oracledate +" %T %a %D : Finished." >> /var/log/oracleecho "-------------------------------------------------" >> /var/log/oracletouch /var/lock/subsys/oracle 13;;'stop') 14# Stop the Oracle Listener:echo "Stoping Oracle Listeners ... "echo "-------------------------------------------------" >> /var/log/oracledate +" %T %a %D : Stoping Oracle Listener as part of system down." >> /var/log/oracleecho "-------------------------------------------------" >> /var/log/oraclesu - $ORA_OWNER -c "$ORA_HOME/bin/lsnrctl stop" >>/var/log/oracleecho "Done."rm -f /var/lock/subsys/oracle 15 16# Stop the Oracle Database:echo "Stoping Oracle Databases ... "echo "-------------------------------------------------" >> /var/log/oracledate +" %T %a %D : Stoping Oracle Databases as part of system down." >> /var/log/oracleecho "-------------------------------------------------" >> /var/log/oraclesu - $ORA_OWNER -c "$ORA_HOME/bin/dbshut" >>/var/log/oracleecho "Done."echo ""echo "-------------------------------------------------" >> /var/log/oracledate +" %T %a %D : Finished." >> /var/log/oracleecho "-------------------------------------------------" >> /var/log/oracle 17;;'restart') 18$0 stop 19$0 start 20;;esac

3. 改变文件权限
# chmod 755 /etc/init.d/oracle
4. 添加服务
# chkconfig --level 35 oracle on
5. 需要在关机或重启机器之前停止数据库,做一下操作
# ln -s /etc/init.d/oracle /etc/rc0.d/K01oracle //关机
# ln -s /etc/init.d/oracle /etc/rc6.d/K01oracle //重启
6. 使用方法
# service oracle start //启动oracle
# service oracle stop //关闭oracle
# service oracle restart //重启oracle
7. 测试
a. 开机自启动

1Last login: Mon Nov 26 19:57:06 2012 from 10.0.0.145 2[root@ORS ~]# su - oracle 3[oracle@ORS ~]$ sqlplus "/as sysdba" 4 5SQL*Plus: Release 10.2.0.1.0 - Production on Mon Nov 26 20:07:33 2012 6 7Copyright (c) 1982, 2005, Oracle. All rights reserved. 8 9 10Connected to: 11Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production 12With the Partitioning, OLAP and Data Mining options 13 14SQL> set linesize 300; 15SQL> set pagesize 30; 16SQL> select * from scott.emp; 17 18 EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO 19---------- ---------- --------- ---------- --------- ---------- ---------- ---------- 20 7369 SMITH CLERK 7902 17-DEC-80 800 20 21 7499 ALLEN SALESMAN 7698 20-FEB-81 1600 300 30 22 7521 WARD SALESMAN 7698 22-FEB-81 1250 500 30 23 7566 JONES MANAGER 7839 02-APR-81 2975 20 24 7654 MARTIN SALESMAN 7698 28-SEP-81 1250 1400 30 25 7698 BLAKE MANAGER 7839 01-MAY-81 2850 30 26 7782 CLARK MANAGER 7839 09-JUN-81 2450 10 27 7788 SCOTT ANALYST 7566 19-APR-87 3000 20 28 7839 KING PRESIDENT 17-NOV-81 5000 10 29 7844 TURNER SALESMAN 7698 08-SEP-81 1500 0 30 30 7876 ADAMS CLERK 7788 23-MAY-87 1100 20 31 7900 JAMES CLERK 7698 03-DEC-81 950 30 32 7902 FORD ANALYST 7566 03-DEC-81 3000 20 33 7934 MILLER CLERK 7782 23-JAN-82 1300 10 34 3514 rows selected. 36 37SQL>


b. service oracle stop

1SQL> Disconnected from Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production 2With the Partitioning, OLAP and Data Mining options 3[oracle@ORS ~]$ logout 4[root@ORS ~]# service oracle stop 5Stoping Oracle Listeners ... 6Done. 7Stoping Oracle Databases ... 8Done. 9 10[root@ORS ~]# su - oracle 11[oracle@ORS ~]$ sqlplus "/as sysdba" 12 13SQL*Plus: Release 10.2.0.1.0 - Production on Mon Nov 26 20:17:20 2012 14 15Copyright (c) 1982, 2005, Oracle. All rights reserved. 16 17Connected to an idle instance. 18 19SQL> set linesize 300; 20SQL> set pagesize 30; 21SQL> select * from scott.emp; 22select * from scott.emp 23* 24ERROR at line 1: 25ORA-01034: ORACLE not available 26 27 28SQL>


c. service oracle start

1SQL> Disconnected 2[oracle@ORS ~]$ logout 3[root@ORS ~]# service oracle start 4Starting Oracle Databases ... 5Done 6Starting Oracle Listeners ... 7Done. 8[root@ORS ~]#


d. service oracle restart

1[root@ORS ~]# service oracle restart 2Stoping Oracle Listeners ... 3Done. 4Stoping Oracle Databases ... 5Done. 6 7Starting Oracle Databases ... 8Done 9Starting Oracle Listeners ... 10Done. 11[root@ORS ~]#


至此,Oracle服务启动&停止脚本与开机自启动设置完毕。