使用root用户登陆主机,修改/etc/system文件,添加如下字段:
set noexec_user_stack=1
set semsys:seminfo_semmni = 100
set semsys:seminfo_semmns = 1024
set semsys:seminfo_semmsl = 256
set semsys:seminfo_semvmx = 32767
set shmsys:shminfo_shmmax = 4294967295
set shmsys:shminfo_shmmin = 1
set shmsys:shminfo_shmmni = 100
set shmsys:shminfo_shmseg = 10
保存退出后重启主机。
然后检查当前的参数:
#sysdef -I
如果系统参数仍旧没有改变得话,使用以下命令:
#modload /kernel/sys/shmsys。
//附注说明:
----------------------------------------------
ORACLE安装时缺省的设置: 建议修改的设置:
set shmsys:shminfo_shmmax=4294967295 (给oracle最大内存设为2G)
set shmsys:shminfo_shmmin=1
set shmsys:shminfo_shmmni=100
set shmsys:shminfo_shmseg=15
set semsys:seminfo_semmns=200
set semsys:seminfo_semmni=70
set ulimit=3000000
set semsys:seminfo_semmni=315
set semsys:seminfo_semmsl=300
set semsys:seminfo_semmns=630
set semsys:seminfo_semopm=315
set semsys:seminfo_semvmx=32767
set shmsys:shminfo_shmmax=4294967295
set shmsys:shminfo_shmmni=315
set shmsys:shminfo_shmseg=10
set shmsys:shminfo_shmmin=1
其中这些参数的含义
shmmax - 共享内存段的最大字节数,建议设大点,甚至可以大过物理内存的字节数
shmmin - 共享内存段的最小尺寸.
shmmni - 共享内存段的最大数目.
shmseg - 每个进程可分配的最大共享内存段数目.
shmall - 最大的并发共享内存段数目,比SGA还要大.
semmns - 信号灯的最大数量,跟ORACLE的PROCESS数有关.
semmsl - 每个信号灯集合中最多的信号灯数目.
使用root用户登陆主机,使用以下命令添加:
并把oracle目录附给Oracle用户权限
# mkdir –p /u01/oracle/product/10.2.0
#groupadd dba
#useradd -g dba -d /u01/oracle -m oracle
#passwd oracle
#chown -R oracle:dba u01
oracle环境变量文件位于/u01/oracle/.profile是个隐藏文件(如果没有则新增) 。
# su - oracle
$ vi .profile
ORACLE_BASE=/u01/oracle
ORACLE_HOME=$ORACLE_BASE/product/10.2.0
ORACLE_SID=orcl
NLS_LANG=AMERICAN_AMERICA.ZHS16GBK
PATH=$ORACLE_HOME/bin:/bin:/sbin:/usr/ccs/bin:/usr/local/bin
LD_LIBRARY_PATH=$ORACLE_HOME/lib:$ORACLE_HOME/
network/lib:/usr/local/lib:/usr/lib
DISPLAY=127.0.0.1:0.0
TMPDIR=/var/tmp
export ORALCE_BASE ORACLE_HOME ORACLE_SID NLS_LANG PATH LD_LIBRARY_PATH DISPLAY TMPDIR
以oracle 用户身份登陆到solaris的图形界面,(oracle用户需要设置密码),进入oralce 10g的安装文件目录,运行runInstaller 程序。开始启动oracle的图形安装界面,按照提示一路 下一步 就可以,在安装过程中会有2次提示以root身份运行脚本,按照提示进入相应的目录并运行相应的脚本,然后确定下一步即可。
$cd /orainst
$./runInstaller
此项的安装和win下面类似,注意“选择数据库字符集”
在此不在叙述。
使用$dbca命令开始创建数据库
使用$netca配置监听程序
和win xp一样,不在叙说。
完成之后查看进程 ps -ef | grep /fantlam 可以看到监听程序已经运行起来了
$ ps -ef | grep /fantlam
oracle 751 632 0 19:39:33 pts/1 0:00 grep /fantlam
oracle 749 1 0 19:36:46 ? 0:00 /fantlam/oracle/bin/tnslsnr LISTENER-inherit
脚本 /etc/init.d/oracle_init.sh内容如下:
#!/bin/sh
case "$1" in
'start')
# start tsnlisnter
echo "start tsnlisnter"
su - oracle -c "lsnrctl start"
# start database
echo "Start Oracle database instance"
su - oracle -c "sqlplus /nolog <<!
conn sys/orcl as sysdba
startup
exit
!"
# start enterprise manager
echo " Start Emterprise Manager"
su - oracle -c "emctl start dbconsole"
# start isqlplus
echo "Start isqlplus"
su - oracle -c "isqlplusctl start"
;;
'stop')
# shutdown database
echo "Shutdown Oracle database instance"
su - oracle -c "sqlplus /nolog <<!
conn sys/orcl as sysdba
shutdown immediate
exit
!"
# stop tsnlisnter
echo "Stop tsnlisnter"
su - oracle -c "lsnrctl stop"
# stop enterprise manager
echo " Stop Emterprise Manager"
su - oracle -c "emctl stop dbconsole"
# stop isqlplus
echo "Stop isqlplus"
su - oracle -c "isqlplusctl stop"
;;
*)
echo "Usage: $0 { start | stop }"
exit 1
;;
esac
exit 0
保存后建立软连接:
#ln -s /etc/init.d/oracle_init.sh /etc/rc2.d/S99oracle10g
#ln -s /etc/init.d/oracle_init.sh /etc/rc0.d/K00oracle10g
现在使用reboot重启主机,看看oracle的服务是不是已经启动起来了!
以 oracle 账号登陆 Linux/soloris 10,或者从 root 下输入 su - oracle 变成 oracle 帐号执行启动关闭命令
1. 启动和关闭监听
启动监听:lsnrctl start
关闭监听:lsnrctl stop
2. 启动和停止数据库
启动数据库:在终端输入 sqlplus '/ as sysdba' 进入 sqlplus,在 sqlplus 输入 startup
停止数据库:在 sqlplus 输入 shutdown 或者 shutdown immediate
3. 启动和停止 dbconsole 服务
启动 dbconsole 服务: emctl start dbconsole
停止 dbconsole 服务: emctl stop dbconsole
4. 启动和停止 iSQL*Plus isqlplusctl start | stop
5. 列出Oracle进程
ps -fu oracle
如果你在安装过程中出现了问题,需要卸载,重新安装,那么需要参考这一小节的文字。ORACLE的卸载在Linux下有点问题,正常情况我们启动安装的那个界面,点击卸载按钮,
可以去选择卸载项,确定即可,windows下很正常,但在linux下不是这样的,应该属于bug。
因此我们可以手工卸载:
停掉oracle的listener:
lsnrctl stop
或是kill掉对应的服务如果不这么做,会导致再次安装后的端口不是默认的1521
以oracle用户执行如下脚本:
1.$ORACLE_HOME/bin/localconfig delete
2. rm -rf $ ORACLE_BASE/*
3.创建空的存放oracle文件的目录mkdir -p /usr/oracle10/product/10.2.0
以root用户执行如下脚本:
1. rm -f /etc/oraInst.loc /etc/oratab
2. rm -rf /etc/oracle
3. rm -f /usr/local/bin/coraenv /usr/local/bin/dbhome /usr/local/bin/oraenv