fjptec-xm 发表于 2018-9-23 09:20:19

linux Oracle安装

,可以写一个启动脚本ora10g:  以root身份进入,编写以下脚本:
  #!/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 "
  exit 1
  esac
  exit 0
  存为ora10g后,然后
  chmod a+x ora10g
  ln -s /opt/oracle/product/10.2.0/bin/ora10g /etc/rc.d/init.d/
  即可在以后以root身份运行/etc/rc.d/init.d/ora10g start |stop 来管oracle的启动和停止了。
  如果要将这个脚本加入到系统中使其可开机运行,那么要运行以下命令:
  chkconfig --level 345 ora10g on
  或者可在/etc/rc.d/rc.local中加入如下:
  su - oracle -c "lsnrctl start"
  su - oracle -c "dbstart"
  6, 关于数据库删除重新安装的问题:
  把ORACLE安装目录删除及/etc/ora*.*删除就行了
  #rm –f /etc/ora*.*
  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备份
  (1)vi bachupDb.sh
  #!/bin/sh
  #oracle用户下
  #crontab -e 增加 "35 4 * * * /home/oracle/dbbackup/backupDb.sh",保存后自动安装
  #或echo "35 4 * * * /home/oracle/dbbackup/backupDb.sh" > backupDb.cron
  #crontab backupDb.cron
  #############
  #@tip 修改为本机数据库home目录
  export ORACLE_HOME=/opt/oracle/product/10g
  export PATH=$ORACLE_HOME/bin:$PATH:$HOME/bin
  # 注意字符集必须和数据库的字符集一致,以避免字符集转化失败
  export NLS_LANG=AMERICAN_AMERICA.zhs16gbk
  #@tip 125修改为要备份的oracle的ip地址的最后一段
  dmpfile="`echo ~/`dbbackup/gedb_`date +%w`.dmp"
  logfile="`echo ~/`dbbackup/gedb_`date +%w`.log"
  if [ -w $dmpfile ]
  then
  echo "rm -f $dmpfile"
  rm -f "$dmpfile"
  fi
  #@tip ip地址修改为要备份的oracle的主机地址
  exp USERID=gedb/gedb@10.248.1.5/ge01 file=$dmpfile log=$logfile owner=gedb grants=y
  (2)copy bachupDb.sh 到slave oracle srever 相应目录,
  chown oracle.oinstall bachupDb.sh
  chmod 744 bachupDb.sh
  vi bachupDb.sh 以符合安装情况
  (3)以oracle user role
  crontab -e
  35 4 * * * /home/oracle/dbbackup/backupDb.sh
  9. restore oracle backup
  su - oracle
  imp USERID=gedb/gedb file=gedb_6.dmp log=implogfile commit=y grants=y full=y

页: [1]
查看完整版本: linux Oracle安装