红旗Linux+Oracle10g


红旗Linux+Oracle10g


一、Oracle10g安装过程采用默认方式,安装后数据库的字符集是 WE8MSWIN1252。

  这样会导致存入Oracle 10g 中的数据出现乱码。

  解决的方法:在安装完Oracle 10g后,可以在sqlplus(即Oracle XE的run SQL command line)中修改字符集。

  Oracle10g安装后,修改字符集操作如下:

   1. connect system/jxdag as sysdba; 
  
   2. shutdown immediate; 
     
   3. startup mount; 
     
   4. alter system enable restricted session;  
     
   5. alter system set JOB_QUEUE_PROCESSES=0;  
    
   6. alter system set AQ_TM_PROCESSES=0;  
     
   7. alter database open;  
    
   8. alter database character set internal_use ZHS16GBK;  
    
   9. shutdown immediate; 
    
   10. startup; 


  备注:最好以自定义高级方式安装数据库。在安装过程中设置字符集。

        红旗Linux自带一个Oracle的安装向导,省略了很多麻烦事情。

 

二、通过dbstart脚本设置Linux下oracle数据库是否自动启动。

   1. 修改$ORACLE_HOME/bin下的dbstart文件如下所示,设置监听的路径:

      ORACLE_HOME_LISTNER=$ORACLE_HOME

   2. 修改/etc/oratab文件,设置Oracle的实例名。

      格式为:$ORACLE_SID:$ORACLE_HOME:Y/N

      例如:ORCL:/home/oracle/product/10.2.0/db_1:Y
  
      如果设置为数据库不自启动,则是: ORCL:/home/oracle/product/10.2.0/db_1:N


   这样就可以运行dbstart启动数据库和监听了。运行dbshut可以关闭数据库。


三、使用Oracle Enterprise Manager 10g Database Control。

    切换到oracle用户下。

    查看em状态:#emctl status dbconsole

    启动em命令:#emctl start dbconsole
 
    访问em: http://127.0.0.1:1158/em


四、用Oracle DBCA工具创新建数据库实例。

    在root下su - oracle后,运行dbca后,会报一个错误:
    ---------------
    Xlib: connection to ":0.0" refused by server
    Xlib: No protocol specified
    Exception in thread "main"

    ---------------
 
    就是当前用户无法运行XServer程序。

    解决办法:运行命令 #xhost local:oracle

    会出现提示:
    non-network local connections being added to access control list
   
    这样用oracle身份就可以运行X程序了。
    (local参数就是解决同一台机器的不同用户访问X的问题。)

    使所有的用户能访问XServer,运行命令:#xhost +
    出现提示:access control disabled, clients can connect from any host。


    其实可以在图形界面中以oracle身份登录,然后在shell中运行dbca。

    运行命令: #dbca,出现Oracle数据库的Database Configuration Assistant的欢迎界面。

    接下来按照提示操作完成数据库实例创建即可。

    在操作过程中注意数据库字符集的选择:ZHS16GBK。


五、设置Linux下的Web服务开机自启动。

    Linux启动时,会自动执行/etc/rc.d目录下的程序。

    设置自启动服务有两种方式可供参考:


    1)以自启动服务脚本方式启动服务

      以root身份,在/etc/rc.d/init.d/中编辑文件tongweb格式和内容如下:

      ------------------------------
      #!/bin/bash
      # chkconfig: 2345 98 5
      # description: script to start/stop tongweb
      case $1 in
      start)
      cd /home/tongweb/TW4.7/bin/
      nohup /home/tongweb/TW4.7/bin/tongserver &
      ;;
      stop)
      cd /home/tongweb/TW4.7/bin/
      /home/tongweb/TW4.7/bin/tongserver stop
      ;;
      *)
      echo "Usage: $0 (start|stop)"
      exit 1
      ;;
      esac
      exit 0
      ------------------------------

      然后更改权限:#chmod 775 tongweb

      加入自动启动列表:#chkconfig –add tongweb

      查看自动启动设置:#chkconfig –list tongweb

      可以用如下命令启动和停止服务:

      启动:#service tongweb start
      或:#/etc/rc.d/init.d/tongweb start

      停止:#service tongweb stop
      或:#/etc/rc.d/init.d/tongweb stop

      此时在红旗Linux的控制面板--服务中可以查看设置的服务状态。
      或通过ntsysv来查看设置服务。

      注意:文件格式,文件开头的注释部分不能省略。
      #!/bin/bash
      # chkconfig: 2345 98 5                        --此行的2345参数表示在什么运行级别启动,启动序号(S98);关闭序号(K5)
      # description: script to start/stop tongweb   --此行为必需,服务描述信息

      如果丢失文件开头描述信息,则在执行#chkconfig命令时会出现错误提示:服务不支持chkconfig。


      2)初始化脚本启动服务方式
 
       /etc/rc.d/rc.local是在完成初始化之后执行的,可以把启动服务的脚本写到里面,服务器启动时执行。

       详细信息可参考rc.local文件开头的注释部分。

       以root身份编辑rc.local文件,在最后加入如下命令:

       #tongweb
       export JAVA_HOME=/usr/java/jdk1.5.0_04/          --此处设置JAVA_HOME
       cd /home/tongweb/TW4.7/bin/                      --切换到服务目录
       nohup /home/tongweb/TW4.7/bin/tongserver &       --以后台方式执行服务

       或者如下写法:

       #tongweb
       export JAVA_HOME=/usr/java/jdk1.5.0_04/                      --此处设置JAVA_HOME
       cd /home/tongweb/TW4.7/bin/                                  --切换到服务目录
       su tongweb -c "nohup /home/tongweb/TW4.7/bin/tongserver &"   --把要执行的命令作为一个参数传递级su

 

 

                                                         by JRQ

 

                                                        2008/09/11 于南昌

 

 

 

你可能感兴趣的:(oracle,linux,数据库,脚本,database,oracle10g)