热点推荐
ZOL首页 > 服务器 > 知识学堂 > Oracle > RedHatLinux AS3 U2 安装 oracle9204

RedHatLinux AS3 U2 安装 oracle9204


中国it实验室 【转载】 2009年03月25日 18:05

  双CPU1.6GHZ 内存2G
  
  Red Hat Linux AS3 下安装 ORACLE9.2.0.4
  
  首先,准备安装需要的软件包和补丁包:
  
  从网上下载升级补丁包,用于将Oracle9.2.0升级到9.2.0.4:
  
  p3006854_9204_LINUX.zip
  
  所有的补丁说明如下:
  
  p3095277_9204_LINUX.zip 9.2.0.4.0的升级补丁包.
  
  p3006854_9204_LINUX.zip 在运行 runInstaller 之前打.
  
  p3119415_9204_LINUX.zip 在升级到9.2.0.4.0之后打.
  
  p2617419_210_GENERIC.zip 打3119415补丁所需要的补丁.
  
  1.用rpm -qa│grep compat 查看系统中是否安有以下几个软件包:
  
  加载文件命令:#rpm –ivh /mnt/cdrom/RedHat/RPMB/file.rpm
  compat-libstdc++-7.3-2.96.122
  compat-gcc-c++-7.3-2.96.122
  compat-libstdc++-devel-7.3-2.96.122
  compat-db-4.0.14-5
  compat-gcc-7.3-2.96.122
  tcl-devel-8.3.5-92.i386.ipm
  
  其他相关软件包(安装上述软件包时可能需要):
  glibc-kemheadsers-2.4-8.34.i386.rpm
  glib-headers-2.3.2-95.20.i386.rpm
  glib-derel-2.3.2-95.20.i386.rpm
  
  2. rpm -qa │ grep openmotif查看下列软件包
  openmotif21-2.1.30-8
  
  3. rpm -qa │ grep setarch查看:
  setarch-1.3-1
  
  第二,准备安装过程中需要的用户和用户组
  
  在安装的过程中我们使用两个用户同时进行,其中一个是root用户,另外一个是你新建立的oracle用户。
  
  1、打开一个终端,以root用户登录或者是:su - root
  
  2、建立oracle 用户和密码
  # groupadd oinstall (在安装oracle时UNIX Group name:oinstall)
  # groupadd dba
  # useradd -g oinstall -G dba oracle
  # passwd oracle
  
  第三,安装准备步骤.
  
  1、准备文件目录:
  # mkdir -p /opt/ora9/product/9.2
  # mkdir /var/opt/oracle
  # chown oracle.dba /var/opt/oracle
  # chown -R oracle.dba /opt/ora9
  注:如果提示参数太少,可以在目录属性-权限 直接设置成 oracle 权限 dba
  
  2、设置内核参数,调节信号灯及共享内存:
  
  修改 /etc/sysctl.conf 这个文件,加入以下的语句:
  kernel.shmmax = 2147483648 (机器内存2G,如果你的没这么大可相应设置小些)
  kernel.shmmni = 4096
  kernel.shmall = 2097152
  kernel.sem = 250 32000 100 128
  fs.file-max = 65536
  net.ipv4.ip_local_port_range = 1024 65000
  
  sem 4个参数依次为SEMMSL(每个用户拥有信号量最大数);SEMMNS(系统信号量最大数);SEMOPM(每次semopm系统调用操作数);SEMMNI(系统辛苦量集数最大数).
  
  Shmmax 最大共享内存2GB 物理内存如果小的话可以设置成 536870912.
  Shmmni 最小共享内存 4096KB.
  Shmall 所有内存大小.
  
  设置完成后用命令 more /etc/sysctl.conf |grep kernel.s 检查.
  
  3、设置oracle对文件的要求:
  编辑文件:/etc/security/limits.conf 加入以下语句:
  oracle    soft    nofile    65536
  oracle    hard    nofile   65536
  oracle    soft    nproc    16384
  oracle    hard    nproc    16384
  
  4、设置系统环境:
  首先设置root用户这个终端的。
  export ORACLE_BASE=/opt/ora9
  export ORACLE_HOME=/opt/ora9/product/9.2
  (Oracle被安装在这些位置)
  
  5.设置oracle用户的环境, 新开一个终端,
  su - oracle
  ***注意一定要新开一个 ***
  
  打开.bash_profile文件,将如下内容加入:
  (命令vi \$HOME/.bash_profile 编辑用VI使用可查手册 I 进入edit ;w 存盘 ;q退出)
  #oracle 9i
  export DISPLAY=”192.9.200.24:0.0” (127.0.0.1:0.0)
  export ORACLE_BASE=/opt/ora9
  export ORACLE_HOME=/opt/ora9/product/9.2
  export PATH=\$ORACLE_HOME/bin:\$ORACLE_HOME/Apache/Apache/bin:\$PATH
  export ORACLE_OWNER=oracle
  export ORACLE_SID=ora9i (数据库全局变量名)
  export ORACLE_TERM=xterm (xterm窗口模式 vt100 终端调试模式)
  export LD_ASSUME_KERNEL=2.4.1
  export THREADS_FLAG=native
  export LD_LIBRARY_PATH=/opt/ora9/product/9.2/lib:\$LD_LIBRARY_PATH
  export PATH=/opt/ora9/product/9.2/bin:\$PATH
  export NLS_LANG=AMERICAN (设置语言AMERICAN英文)
  export ORA_NLS33=\$ORACLE_HOME/ocommon/nls/admin/data
  保存后退出. 执行: source .bash_profile 查看 set | more
  
  然后。退出登录,再次进入,这时候oracle的环境就已经生效了.
  
  6、解压文件,安装前打补丁,切换到root用户的控制台:(注:打补丁前执行以下语句)
  #su – root
  #mv /usr/bin/gcc /usr/bin/gcc323
  #ln –s /usr/bin/gcc296 /usr/bin/gcc
  #mv /usr/bin/g++296 /usr/bin/g++
  #ln –s /usr/bin/g++ /usr/bin/g++296
  
  第四,开始正式安装
  
  1、建立oracle安装临时目录 su - root
  #cd /home
  #mkdir ora9i
  #cd ora9i
  这些目录你可以自己定义,用来存放安装文件。
  
  2.解gz文件 (窗口模式解压不会把原档案删除,终端模式解压后自动删除原档案)
  #gunzip gunzip lnx_920_disk1.cpio.gz
  #gunzip lnx_920_disk2.cpio.gz
  #gunzip lnx_920_disk3.cpio.gz
  
  3.释放cpio文件
  #cpio -idmv < lnx_920_disk1.cpio
  #cpio -idmv < lnx_920_disk2.cpio
  #cpio -idmv < lnx_920_disk3.cpio
  //这个步骤将生成三个文件夹:DISK1, DISK2, DISK3
  root身份运行,在/home/ora9i
  p3006854_9204_LINUX.zip 补丁安装:(已经将补丁解压到光盘)
  #unzip p3006854_9204_LINUX.zip
  #cd /home/ora9i /3006854
  #sh rhe13_pre_install.sh
  Applying patch...
  Patch successfully applied
  
  4.完成Oracle的安装:
  
  新开一个控制终端(用root用户开)
  #xhost +192.168.0.2 (本地IP地址)
  (xhost disable访问控制,客户端可以从任何主机进行连接)
  这个命令用来保证oracle用户调用X11,否则无法安装
  #su - oracle
  在登录终端中切换到oracle用户:
  在oracle主目录里运行:# /home/ora9i/Disk1/runInstaller
  
  **********************************************
  安装过程中的注意事项:
  
  1.在安装中让你输入 UNIX group name:oinstall (#groupadd oinstall)
  
  如果提示orainstRoot.sh权限问题,在root终端下执行:
  #sh /tmp/orainstRoot.sh 然后继续
  
  2.在安装中选择 software only 不要建数据库
  
  3. 安装过程中提示/opt/ora9/product/9.2 权限问题,可另开窗口修改权限为oracle-dba
  
  在结束的时候还会提示权限问题,另开窗口修改权限为root-root
  
  注意的是以下几点:
  Relink阶段,会出两个错误:ins_oemagent.mk 和 ins_ctx.mk. 点 Ignore 忽略.
  
  在部分文档里,要求oracle用户的bash_profile文件中降LD_ASSUME_KERNEL设置为2.4.19,千万不要这样设置,否则会在Rlink时会有一大堆报错
  
  再安装过程中,系统会提醒你用root身份去执行两个sh文件,再root的登录终端中按提示操作就可以了
  
  如果有NLS的错误提示,可以#unset LANG命令,把语言默认成英文.
  
  ************************************************
  5.开始升级oracle su - oracle
  
  安装结束后,HTTPD会自动运行.在升级之前,需要将它停下来.
  \$ cd \$ORACLE_HOME/Apache/Apache/bin
  \$ apachectl stop
  ./apachectl stop: httpd stopped
  
  LISTENER也需要停下来.
  
  \$ lsnrctl stop
  LSNRCTL for Linux: Version 9.2.0.1.0 - Production on 07-NOV-2003 16:25:41
  Copyright (c) 1991, 2002, Oracle Corporation. All rights reserved.
  Connecting to (ADDRESS=(PROTOCOL=tcp)(PORT=1521))
  The command completed successfully
  
  注意: 如果不停的话,oracle会提示不能覆盖文件.这个时候再去将服务停下来也可以,点Retry就可以了.
  
  开始打补丁升级.
  
  注意打补丁时使用root用户,切换到root用户控制台:
  
  解包:
  # unzip /home/ora9i/p3095277_9204_LINUX.zip
  Archive: p3095277_9204_LINUX.zip
  inflating: 9204_lnx32_release.cpio
  inflating: README.html
  inflating: patchnote.css
  (会在/home/ora9/Disk1下自动生成9204_lnx32_release.cpio)
  # cpio –idmv < /home/ora9/Disk1/9204_lnx32_release.cpio
  
  做完这个后,再切换到oracle用户控制台, 再次运行/home/ora9i/Disk1/runInstaller升级,注意必须先选择最下面的安装选项,安装OUI
  
  要不然没有办法打那个最上面的升级补丁。
  
  升级完OUI后,要退出,再次运行/home/ora9i/Disk1/runInstaller
  
  选择第一个选项,将Oracle升级到9.2.0.4。
  
  这时候还是会有一个错误出现。再次选择忽略它。
  
  安装过程中如果出现/opt/ora9/product/9.2 没有权限,直接找到文件夹更改权限.
  
  6.打其他的补丁:
  
  切换到root的终端。
  
  首先安装 opatch.
  # unzip p2617419_210_GENERIC.zip
  Archive: p2617419_210_GENERIC.zip
  creating: OPatch/
  creating: OPatch/docs/
  inflating: Opatch/docs/FAQ
  ......
  inflating: README.txt
  #pwd (查看执行权限)
  #export PATH=\$PATH:/home/ora9i/Opatch:/sbin
  (修改PATH时要要包括解压缩出来的Opatch 和 sbin目录)
  # unzip p3119415_9204_LINUX.zip
  Archive: p3119415_9204_LINUX.zip
  creating: 3119415/
  inflating: 3119415/README.txt
  
  # cd 3119415
  # opatch apply
  
  ****如果提示HOME变量错误可执行语句:****
  #export ORACLE_BASE=/opt/ora9
  #export ORACLE_HOME=/opt/ora9/product/9.2
  
  出现success的提示就全部安装成功.
  
  (出现选择ORACLE_HOME=/opt/ora9/product/9.2选择N)
  
  最后切换到oracle终端
  
  #dbca (如果有乱码执行:#unset LANG)
  
  建oracle数据库
  
  (查看安装完成后的检查和测试内容)
  ***************************************
  可能会出现错误提示: /etc/oratab file doesn’t exist
  可执行下面语句:
  #cd /opt/ora9/product/9.2/install/utl
  #sh root.sh
  ****************************************
  
  数据库建立完成后挂起oracle
  启动oracle监听
  \$lsnrctl
  lsnrctl>status (查状态)
  lsnrctl>start
  
  检查oracle服务是否挂起
  \$ps –ef |grep ora
  
  连接数据库
  \$sqlplus /nolog
  SQL>connect / as sysdba
  SQL>startup mount
  检查是否连接oracle
  SQL>select sysdate from dual;
  Sp2-0640:Not connected
  挂起
  SQL>startup
  **************************************************
  如果出现错误信息:
  ORA-01078:failucr in processing system parameters
  LRM-00109:could not open parametet file/opt/ora9/product/9.2/dbs/initora9i.or
  执行:
  #cp /opt/ora9/admin/orcl/pfile/init.ora.613200412101
  /opt/ora9/product/9.2/dbs/initora9.ora  vnc server配置
1。使用root用户启动系统的vncserver服务;
#service vncserver start
2。然后切换到登陆用户下面,我这里假设要使用oracle系统帐户进行远程登陆
#su - oracle
3。使用oracle用户输入以下命令:
\$vncserver
如果是第一次运行,则系统会出现提示信息,提示你输入密码,这是通过终端进行登陆时需要输入的;
另外,还有一个数字信息,这个也是需要在终端登陆时输入的,即冒号后面跟着的一个数字,如:1  ,:2等等,需要记住;
4。在windows客户端使用vncviewer,输入如下:xxx.xxx.xxx.xxx:1 或者xxx.xxx.xxx.xxx:2等,后面的数字需要和服务器端的对应才行;xxx是你服务器的ip地址了;
[linux as 5]
 软件要求
其他所需程序包的版本(或更高版本):
        gcc-2.96-124
        make-3.79
        binutils-2.11
        openmotif-2.1.30-11
        glibc-2.2.4-31
要查看系统上安装了这些程序包的哪些版本,运行以下命令:
rpm -q gcc make binutils openmotif glibc setarch
p4198954_21_linux.zip 在运行 runInstaller 之前打.
rpm -ivh compat-oracle-rhel4-1.0-5.i386.rpm     (p4198954_21_linux.zip)
 (不打PATH也可以)
安装 libaio-0.3.102-1.i386.rpm 和libaio-devel0.3.102-1.i386.rpm
  在Red Hat Enterprise Linux 介质的第三张 CD
  以 root 用户身份运行以下命令:
rpm -ivh /mnt/cdrom/RedHat/RPMS/ libaio-0.3.102-1.i386.rpm

创建数据库安装的准备工作:
1,创建user/group;
groupadd dba
groupadd oinstall
useradd oracle -g oinstall -G dba
passwd oracle
如果nobody用户不存在(id nobody命令查看),则创建:
useradd nobody
2,建立oracle安装文件夹(sample);
mkdir -p /opt/oracle/10.2.0.1 /opt/oracle/oradata /opt/oracle/archivelog
chown -R oracle.oinstall  /opt/oracle
chmod 755 -R /opt/oracle
2, 配置环境变量;
要使用 Oracle 产品,应该或必须设置几个环境变量。
如果您在同一服务器上安装了多个 Oracle 产品或数据库,则 ORACLE_HOME、ORACLE_SID 和 PATH 变量可能会更改。
ORACLE_BASE 变量不应更改,并可以在需要时在您的登录配置文件中设置它。Oracle 提供了一个称作 oraenv 的实用程序来设置其他变量。
对于数据库服务器,建议设置以下环境变量:
使用root用户:
 
vi /home/oracle/.bash_profile
以下是配置文件的内容
ORACLE_BASE=/opt/oracle
ORACLE_HOME=/opt/oracle/10.2.0.1
ORACLE_SID=ge01
PATH=\$ORACLE_HOME/bin:\$ORACLE_HOME/OPatch:\$PATH     
TNS_ADMIN=\$ORACLE_HOME/network/admin
NLS_LANG=AMERICAN_AMERICA.ZHS16GBK
LANG=AMERICAN_AMERICA.ZHS16GBK
export PATH ORACLE_BASE ORACLE_HOME ORACLE_SID  TNS_ADMIN NLS_LANG LANG
   
4, 设置系统参数;
 Oracle 数据库 10g 需要以下所示的内核参数设置。
 一般情况下可以设置最大共享内存为物理内存的一半,如果物理内存是 2G,则可以设置最大共享内存为 1073741824,
如上;如物理内存是 1G,则可以设置最大共享内存为 512 * 1024 * 1024 = 536870912;以此类推。在redhat上最大共享内存不建议超过
  4*1024*1024*1024-1=4294967295
切换到root用户:
su root
 修改vi /etc/sysctl.conf, 添加:
kernel.shmmax = 2147483648
kernel.shmmni = 4096
kernel.shmall = 2097152
kernel.sem = 250 32000 100 128
fs.file-max = 65536
net.ipv4.ip_local_port_range = 1024 65000
net.core.rmem_default=262144
net.core.rmem_max=262144
net.core.wmem_default=262144
net.core.wmem_max=262144
修改后运行"/sbin/sysctl -p"命令使得内核改变立即生效;
B) 设置oracle对文件的要求:
编辑文件:vi /etc/security/limits.conf 加入以下语句:
oracle           soft    nproc           2047
oracle           hard    nproc           16384
oracle           soft    nofile          1024
oracle           hard    nofile          65536
编辑文件:vi /etc/pam.d/login 加入以下语句(可能应该加在最后一条规则之前):session    required     /lib/security/pam_limits.so设置oraInst.loc文件:
[root@enterprice64 ~]#vi /etc/oraInst.loc 
inventory_loc=/opt/oracle/oraInventory
inst_group=oinstall
[root@enterprice64 ~]#chown oracle.oinstall /etc/oraInst.loc
确保/etc/oraInst.loc中包含上面的信息,且Oracle包含访问权限。
5.解压缩Oracle10G的安装文件 :
 使用Oracle用户登陆:
su - oracle
在/home/oracle 上传和解压缩10201_database_linux32.zip:
unzip 10201_database_linux32

6.开始安装oracle
L i n u x 命令行环境下安装(也可以在图形界面下安装)
使用Oracle用户登陆:
su - oracle
根据希望安装的数据库版本类型选择Silent安装模式的response_file文件的类似,比如:enterprise.rsp、standard.rsp还是custom.rsp。
这里选择enterpise.rsp类型,安装盘中的database/response目录下对应的response文件拷贝出来,根据文件里面的提示对输入值进行修改。
比如这个例子中对如下的参数进行设置:
UNIX_GROUP_NAME="oinstall"
FROM_LOCATION="/home/oracle/database/stage/products.xml"
ORACLE_BASE="/opt/oracle"
ORACLE_HOME="/opt/oracle/10.2.0.1"
ORACLE_HOME_NAME="OraDbHome1"
SHOW_INSTALL_PROGRESS_PAGE= true
SHOW_END_OF_INSTALL_MSGS= true
COMPONENT_LANGUAGES={"zh_CN"}
s_nameForDBAGrp= "dba"
s_nameForOPERGrp="dba"
INSTALL_TYPE="EE"
n_configurationOption=3
RESTART_SYSTEM=false
RESTART_REMOTE_SYSTEM=false
注意,所有的字符串需要放在双引号中,注意大小写。数字和布尔变量直接写就可以。
由于这里没有选择建立数据库而只安装软件,因此没有设置数据库相关的配置参数。
[oracle@enterprice64 data]\$ chmod 700 enterprise.rsp
面可以开始SILENT安装了:
注意,响应文件需要使用绝对路径。
cd /home/oracle/database
[oracle@enterprice64 database]\$ ./runInstaller -silent -responseFile /home/oracle/enterprise.rsp
用root执行如下脚本:
/opt/oracle/10.2.0.1/oraInventory/orainstRoot.sh
/opt/oracle/10.2.0.1/root.sh
不过这里Oracle存在一个bug,在root.sh脚本中,自动将OUI_SILENT参数设置为TRUE,而后的检查中,
如果发现这个值为TRUE,那么这个脚本运行会自动退出了。这里需要手工将其修改为false,
最后使用root执行一下\$ORACLE_HOME/root.sh脚本就可以了。
根据提示按 Enter 就可以了。
这样就在字符下成功安装了。
通过SILENT模式安装数据库之后,下面继续使用SILENT模式进行数据库的建立,
仍然是拷贝安装目录下的/home/oracle/database/response/dbca.rsp到安装目录,并进行编译,
根据数据库建立方式的不同编辑不同的数据库库选项。
比如在本次安装过程中设置了下列参数:
RESPONSEFILE_VERSION = "10.0.0"
OPERATION_TYPE = "createDatabase"
GDBNAME = "ge01"
SID = "ge01"
TEMPLATENAME = "New_Database.dbt"
SYSPASSWORD = "georacle"
SYSTEMPASSWORD = "georacle"
DATAFILEDESTINATION ="/opt/oracle/oradata/"
RECOVERYAREADESTINATION="/opt/oracle/flash_recovery_area"
STORAGETYPE=FS
CHARACTERSET = "ZHS16GBK"
MEMORYPERCENTAGE = "40"
SCRIPTDESTINATION ="/opt/oracle/admin/ora10g/scripts"
EMCONFIGURATION=”LOCAL”
SYSMANPASSWORD = "georacle"
DBSNMPPASSWORD = "georacle"
其中最后1项不是必须的,这个的目的是在建立数据库的同时生成脚本。
下面就可以开始SILENT模式的数据库创建了:
[oracle@enterprice64 database]\$ dbca -silent -responseFile /home/oracle/dbca.rsp
用root执行如下脚本:
/opt/oracle/10.2.0.1/oraInventory/orainstRoot.sh
最后可以利用netca来SILENT方式设置网络部分,同样的方法设置netca.rsp:
RESPONSEFILE_VERSION="11.1"
CREATE_TYPE= "CUSTOM"
SHOW_GUI=false
LOG_FILE=""/opt/oracle/10.2.0.1/network/tools/log/netca.log""
INSTALLED_COMPONENTS={"server","net8","javavm"}
INSTALL_TYPE=""typical""
LISTENER_NUMBER=1
LISTENER_NAMES={"LISTENER"}
LISTENER_PROTOCOLS={"TCP;1521"}
LISTENER_START=""LISTENER""
NAMING_METHODS={"TNSNAMES","ONAMES","HOSTNAME"}
设置的参数包括上面的部分,然后就可以使用netca启动silent配置:
[oracle@enterprice64 database]\$ netca /silent /responsefile  /home/oracle/netca.rsp
----------------------------------------------------------------静默卸载Oracle数据库ge01
dbca -silent -deleteDatabase -sourceDB    <source database sid> [-sysDBAUserName     <user name  with SYSDBA privileges> -sysDBAPassword <password for sysDBAUserName user name>]
例如:dbca -silent -deleteDatabase -sourceDB ge01 -sysDBAUserName sys -sysDBAPassword georacle
静默卸载Oracle数据库软件
 
执行以下命令静默卸载Oracle数据库软件
\$./runInstaller -silent -deinstall -removeallfiles -removeAllPatches "REMOVE_HOMES={\$ORACLE_HOME}" -responseFile ~/enterprise.rsp
---------------------------------------------------------------------------------------(一)图形界面开始安装:
1.以oracle用户登录X-WINDOWS系统,进行Oracle的安装(远程安装需打开XDM):
[ linux 5}
export DISPLAY=
cd /opt/database (或者你解压缩安装程序包的目录)
./runInstaller 或者./runInstaller   -ignoreSysPrereqs
过一会儿就会出现Oracle的X安装界面
注意:
1、选择advance install
2、数据库home设置为/opt/oracle/10.2.0.1
3、数据库全局名称设置为ge01
4、数据库字符集选Simplified Chinese ZHS16GBK
2.其他用默认设置!
注意:安装过程中会提示以root用户登陆执行一些脚本 ,执行后再按“ok”按钮继续安装。


3、登陆并启动数据库的操作。
su - oracle
[oracle@oracle oracle]\$ lsnrctl start
[oracle@oracle oracle]\$ sqlplus /nolog
SQL*Plus: Release 9.2.0.0 - Production on Sat Mar 12 22:58:53 2005
Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved.
SQL> connect / as sysdba
Connected.
SQL> startup; 启动数据库
ORACLE instance started.
Total System Global Area 236000356 bytes
Fixed Size 451684 bytes
Variable Size 201326592 bytes
Database Buffers 33554432 bytes
Redo Buffers 667648 bytes
Database mounted.
Database opened.
SQL> shutdown immediate ;关闭数据库 (OR "dbshut" command)
Database closed.
Database dismounted.
ORACLE instance shut down.
4, dbstart脚本修改
数据库创建完成后,修改vi /etc/oratab,把ge01:/opt/oracle/10.2.0.1:N那一行最后的N改成Y,
修改vi /opt/oracle/10.2.0.1/bin/dbstart中ORACLE_HOME_LISTNER=/opt/oracle/10.2.0.1
然后执行dbstart启动数据库数据库可能无法启动,报告Can’t find init file …的错误,需要复制一个初始化文件:
cp /opt/oracle/admin/ge01/pfile/init.ora.* /opt/oracle/10.2.0.1/dbs/initge01.ora
重新执行dbstart就可以了。
可以执行dbshut 停止ORACLEvi /etc/rc.local 加入下面一行 起动ORACLE ON system boot
su - oracle -c "lsnrctl start"
su - oracle -c "dbstart"
5. 为了root方便管理,可以写一个启动脚本
vi /etc/init.d/ora10g
 
#!/bin/bash
#
# chkconfig: 2345 91 19
# description: starts the oracle listener and instance
status() {
    pid=`ps -ef | grep ora_pmon | grep -v grep | awk '{print \$8}'`
    if [ "X\$pid" = "X" ]
    then
        echo "oracle10g is not running."
        exit 1
    else
        echo "oracle10g is running."
        exit 0
    fi
}
case "\$1" in
    start)
        #startup the listener and instance
        echo -n "oracle begin to startup: "
        su - oracle -c "lsnrctl start"
        su - oracle -c dbstart
        echo "oracle10g started"
        ;;
    stop)
        # stop listener, apache and database
        echo -n "oracle begin to shutdown:"
        su - oracle -c "lsnrctl stop"
        su - oracle -c dbshut
        echo "oracle10g shutdowned"
        ;;
    reload|restart)
        \$0 stop
        \$0 start
        ;;
    'status')
        status
        ;;
     *)
        echo "Usage: ora10g [start|stop|reload|restart]"
        exit 1
esac
exit 0
存为ora10g后,然后
chmod a+x /etc/init.d/ora10g
即可在以后以root身份运行/etc/rc.d/init.d/ora10g start |stop 来管oracle的启动和停止了。
如果要将这个脚本加入到系统中使其可开机运行,那么要运行以下命令:
chkconfig --level 35 ora10g on
 
6, 关于数据库删除重新安装的问题:
1 . 去除 /usr/local/bin 目录 下的 coraenv dbhome oraenv
2 . 去除 /etc/oratab , /etc/oracle
3 . 去掉安装 目录 /opt/oracle 目录下的 product admin oradata oralnventor 目录 。
# userdel -r oracle
# groupdel dba oinstall
rm -rf /tmp/ora*
rm -rf /opt/oracle/*
rm -rf /opt/ORCLfmap
rm -f /etc/ora*
rm -f /usr/local/bin/oraenv
rm -f /usr/local/bin/coraenv
rm -f /usr/local/bin/dbhome

7.修改Oracle10g数据库字符集
SQL> connect sys/oracle as sysdba
SQL> startup mount
SQL> alter session set sql_trace=true;
Session altered.SQL> alter system enable restricted session;System altered.SQL> alter system set job_queue_processes=0;System altered.SQL> alter system set aq_tm_processes=0;System altered.SQL> alter database open;Database altered.SQL> set linesize 120;
SQL> alter database character set zhs16gbk;
alter database character set zhs16gbk
*
ERROR at line 1:
ORA-12712: new character set must be a superset of old character set
SQL> ALTER DATABASE character set INTERNAL_USE zhs16gbk; # 使用INTERNAL_USE可以跳过超集的检查,ALTER DATABASE character set INTERNAL_USE Database altered.SQL> shutdown immediate;
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL> STARTUP
SQL> select name,value\$ from props\$ where name like '%NLS%';
NLS_CHARACTERSET
ZHS16GBK
8. oracle database异机备份脚本
su - oracle
mkdir /home/oracle/dbbackup
(1)vi /home/oracle/dbbackup/bachupdb.sh
#!/bin/bash
#As oracle user, chmod 744 /home/oracle/dbbackup/DBbackuprecover.sh
#crontab -e 35 1 * * * /home/oracle/dbbackup/DBbackuprecover.sh >/dev/null 2>&1
#@tip: modify local database's home directory
#@tip <ip> is remote database ip address
export ORACLE_HOME=/opt/oracle/10.2.0.1
export PATH=\$ORACLE_HOME/bin:\$PATH:
export NLS_LANG=AMERICAN_AMERICA.zhs16gbk
export LANG=AMERICAN_AMERICA.ZHS16GBK
export ORACLE_SID=ge01
dmpfile=gedb_`date +%F`.dmp
logfile=gedb_`date +%F`.log
restoredblog=restoredb_`date +%F`.log
WORK_DIR=~/dbbackup
cd \$WORK_DIR
exp USERID=gedb/gegedb@<ip>/ge01 file=\$dmpfile log=\$logfile  owner=gedb
if [ 0 -eq "\$?" ]
     then
         sqlplus / as sysdba @user.sql 
         imp USERID=gedb/gegedb file=\$dmpfile log=./\$restoredblog fromuser=gedb  touser=gedb
         find  ./*.dmp -type f -mtime +7 -exec rm {} ;
         find  ./*.log -type f -mtime +30 -exec rm {} ;
         exit 0
      else
         echo "backup error,quit!" > \$logfile
         exit 1
fi
 
#@tip ip地址修改为要备份的oracle的主机地址
exp USERID=gedb/gedb@10.248.1.5/ge01 file=\$dmpfile log=\$logfile  owner=gedb direct=y
  (2)更改脚本权限:
     chown oracle.oinstall backupdb.sh
     chmod 744 backupdb.sh   
    
 
 (3)以oracle user role
    crontab -e
    35 2 * * * /home/oracle/dbbackup/backupdb.sh
9. restore oracle backup
(1) 先创建gedb用户和授权:
  su - oracle
  sqlplus / as sysdba @createUser.sql 
(2)imp USERID=gedb/gegedb file=110.dmp fromuser=gedb touser=gedb
  如果要第二次IMP操作要先删除用户gedb,再新建用户gedb,这样imp才不会出错.
  DROP USER gedb CASCADE;
  CREATE USER gedb  IDENTIFIED BY gegedb;
  GRANT UNLIMITED TABLESPACE TO gedb;
  GRANT CONNECT TO gedb;
  GRANT RESOURCE TO gedb;
  GRANT DBA TO gedb;
 
10. oracle优化
SQL> alter system set "_kgl_large_heap_warning_threshold"=8388608 scope=spfile ; (ONLY FOR 10.2.0.1.0 )
SQL> shutdown immediate
SQL> startup

 
  
11.BUG FIX
(1)10g EM乱码之快速解决
[oracle@danaly ~]\$ cd \$ORACLE_HOME/jdk/jre/lib
[oracle@danaly lib]\$ ls font*zh_CN*
font.properties.zh_CN.Redhat font.properties.zh_CN.Redhat2.1
font.properties.zh_CN.Sun font.properties.zh_CN_UTF8.Sun
[oracle@danaly lib]\$ cd \$ORACLE_HOME/jre/1.4.2/lib/
[oracle@danaly lib]\$ ls font*zh_CN*
font.properties.zh_CN.Redhat font.properties.zh_CN.Redhat2.1
font.properties.zh_CN.Sun font.properties.zh_CN_UTF8.Sun
我们只要用合适的中文字符集文件替换缺省文件即可,我选择使用font.properties.zh_CN.Redhat来替换缺省字体定义文件: [oracle@danaly lib]\$ cp font.properties.zh_CN.Redhat font.properties 替换之后需要清理一下Cache,重启EM即可. Cache路径通常位于: \$ORACLE_HOME/oc4j/j2ee/oc4j_applications/applications/em/em/cabo/images/cache/zhs 清除所有gif文件即可.然后重新启动EM(2)10201上一个严重的BUG
环境 10201,AIX53
但据ORACLE解释,在任何操作系统版本都有此问题。
现象:监听器启动后,隔一段时间(长短不定),就会出现无法
连接: 若是用10201版本的SQLPLUS,则会出现 NO LISTENER。
9207 版本的SQLPLUS,则会出现:没反应,HANG住。
原因:10201 版本上的一个BUG:4518443。其会自动创建一个子
监听器,当出现此情况时,监听器将会挂起。
/opt/oracle/product/10g/network/log/listener.log有如下语句:
WARNING: Subscription for node down event still pending
检查是否真因为此BUG造成此现象:
\$ ps -ef | grep tnslsnr
ora10g 8909 1 0 Sep 15 ? 902:44 /u05/10GHOME/DBHOME/bin/tnslsnr sales -inherit
ora10g 22685 8909 0 14:19:23 ? 0:00 /u05/10GHOME/DBHOME/bin/tnslsnr sales –inherit
正常情况只有一个监听器,而此BUG则会出现两个监听器。
解决方法:
打补丁4518443
或者在listener.ora 文件里加入:
SUBSCRIBE_FOR_NODE_DOWN_EVENT_<listener_name>=OFF
其中,<listener_name> 是数据库的监听器的名称。如:
默认情况下,监听器名为:LISTENER 。则语句就是:
SUBSCRIBE_FOR_NODE_DOWN_EVENT_LISTENER=OFF
同时:
cd \$ORACLE_HOME/opmn/conf
mv ons.config ons.config.orig
重启监听程序:
lsnrctl stop
lncrctl start

给文章打分 5分为满分(共0人参与) 查看排行>>
频道热词:LED照明  工作站  云计算  
视觉焦点
服务器知识学堂热点
排行 文章标题
TOP10周热门服务器排行榜
  • 热门
  • 新品
  • 系列
查看完整榜单>>