﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>BlogJava-Knight of the round table-文章分类-DB-oracle</title><link>http://www.blogjava.net/wansong/category/48736.html</link><description>wansong</description><language>zh-cn</language><lastBuildDate>Sun, 26 Feb 2012 20:14:04 GMT</lastBuildDate><pubDate>Sun, 26 Feb 2012 20:14:04 GMT</pubDate><ttl>60</ttl><item><title>oracle 命令</title><link>http://www.blogjava.net/wansong/articles/369744.html</link><dc:creator>w@ns0ng</dc:creator><author>w@ns0ng</author><pubDate>Fri, 10 Feb 2012 07:33:00 GMT</pubDate><guid>http://www.blogjava.net/wansong/articles/369744.html</guid><wfw:comment>http://www.blogjava.net/wansong/comments/369744.html</wfw:comment><comments>http://www.blogjava.net/wansong/articles/369744.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/wansong/comments/commentRss/369744.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/wansong/services/trackbacks/369744.html</trackback:ping><description><![CDATA[oracle 不同用户的导入、导出：<br />imp username/password@ip file=*.dmp fromuser=* touser=* commit=y ignore=y buffer=10240000 rows=y/n indexes=n/y<img src ="http://www.blogjava.net/wansong/aggbug/369744.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/wansong/" target="_blank">w@ns0ng</a> 2012-02-10 15:33 <a href="http://www.blogjava.net/wansong/articles/369744.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>oracle 安装2</title><link>http://www.blogjava.net/wansong/articles/368460.html</link><dc:creator>w@ns0ng</dc:creator><author>w@ns0ng</author><pubDate>Fri, 13 Jan 2012 07:57:00 GMT</pubDate><guid>http://www.blogjava.net/wansong/articles/368460.html</guid><wfw:comment>http://www.blogjava.net/wansong/comments/368460.html</wfw:comment><comments>http://www.blogjava.net/wansong/articles/368460.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/wansong/comments/commentRss/368460.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/wansong/services/trackbacks/368460.html</trackback:ping><description><![CDATA[<div><div><div>查看字符节 ： select name, value$ from props$ where name like '%NLS%';<br /><br /><a id="ctl03_TitleUrl" href="http://www.cnblogs.com/babyblue/archive/2006/02/17/519176.html">[导 入]在RedHat Enterprise Linux AS4 下启用Oracle 9i企业管理器</a></div> <p>1. su root</p> <p>2. xhost +</p> <p>3.切换到Oracle 的DBA的身份</p> <p>4.$cd $ORACLE_HOME/bin</p> <p>5.$./oemapp console 或 dbca</p></div><br /><div><p>oemapp 就是Enterprise Manager Console (9i)</p> <p>dbca 就是 Database Configuration Assistant (9i)</p></div><br /><br /> <div>http://www.akadia.com/services/ora_linux_install_10g.html</div> </div><br /><div>http://serverfault.com/questions/12229/how-can-i-start-oracle-enterprise-manager-after-restarting-the-red-hat-server</div><br /><br /><div><p>Create Server Parameter File</p>               <blockquote>                 <p><span>Server parameter files let you  make persistent changes to                 individual parameters. When you use a server parameter  file, you can specify in an                 ALTER SYSTEM SET parameter statement that the new  parameter value should be                 persistent. This means that the new value applies not  only in the current instance,                 but also to any instances that are started up  subsequently. Traditional client-side                 parameter files do not let you make persistent changes  to parameter                 values.</span></p>                 <p><span><strong>cd  $ORACLE_HOME/dbs<br />                 rm initGENTIC.ora<br />                 <br />                 sqlplus / as sysdba<br /></strong> SQL&gt; <strong>create spfile =                  '/export/home/oracle/admin/GENTIC/pfile/spfileGENTIC.ora'</strong><br /></span>                 <strong>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</strong> <span><strong>from pfile                 =  '/export/home/oracle/admin/GENTIC/pfile/initGENTIC.ora';</strong><br /></span>                 <span><span>File                 created.<br /> SQL&gt;</span></span> <strong><span>exit;<br />                 <br />                 ln -s</span></strong> <strong>/export/home/oracle/admin/GENTIC/pfile/spfileGENTIC<span>.ora  spfileGENTIC.ora<br />                 sqlplus / as sysdba<br /></span></strong> SQL&gt;  <strong>shutdown immediate;<br /></strong> SQL&gt;                 <strong>startup;<br /></strong> <span>SQL&gt;                 <strong>exit;</strong></span></p>               </blockquote></div><br /><br /><div><p>Create additional Products in the Database (optional)</p>               <blockquote>                 <p><span>If you do not want  all additional products to                 be installed, uncomment them in</span> install-addons.bash.</p>                 <p><span><strong>cd                 $ORACLE_BASE/admin/GENTIC/scripts/addons<br />                 ./install-addons.bash</strong></span></p>               </blockquote>               <p><span>Create Server Parameter  File</span></p>               <blockquote>                 <p><span>Server parameter files let you  make persistent changes to                 individual parameters. When you use a server parameter  file, you can specify in an                 ALTER SYSTEM SET parameter statement that the new  parameter value should be                 persistent. This means that the new value applies not  only in the current instance,                 but also to any instances that are started up  subsequently. Traditional client-side                 parameter files do not let you make persistent changes  to parameter                 values.</span></p>                 <p><span><strong>cd  $ORACLE_HOME/dbs<br />                 rm initGENTIC.ora<br />                 <br />                 sqlplus / as sysdba<br /></strong> SQL&gt; <strong>create spfile =                  '/export/home/oracle/admin/GENTIC/pfile/spfileGENTIC.ora'</strong><br /></span>                 <strong>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</strong> <span><strong>from pfile                 =  '/export/home/oracle/admin/GENTIC/pfile/initGENTIC.ora';</strong><br /></span>                 <span><span>File                 created.<br /> SQL&gt;</span></span> <strong><span>exit;<br />                 <br />                 ln -s</span></strong> <strong>/export/home/oracle/admin/GENTIC/pfile/spfileGENTIC<span>.ora  spfileGENTIC.ora<br />                 sqlplus / as sysdba<br /></span></strong> <span style="color: red;">SQL&gt;  </span><strong style="color: red;">shutdown immediate;<br /></strong><span style="color: red;"> SQL&gt;                 </span><strong style="color: red;">startup;<br /></strong><span style="color: red;"> </span><span style="color: red;">SQL&gt;                 <strong>exit;</strong></span></p>               </blockquote>               <p><span>Automatically Start /  Stop the Database and               Listener</span></p>               <blockquote>                 <p>If you want to start the d<span>atabase                 automatically on</span> boot-t<span>ime                 perform the following steps:</span></p>                 <ol><li><span>Copy standard oracle scripts dbstart and dbshut  to                   $ORACLE_BASE/admin</span></li><li>Create start/stop script in /etc/init.d</li><li><span>Activate this start/stop script  with chkconfig</span></li><li><span>Edit /etc/oratab  to                   start/stop the desired Databases</span></li></ol>               </blockquote>               <p><span>Copy standard oracle scripts dbstart and dbshut to               $ORACLE_BASE/admin</span></p>               <blockquote>                 <p><span><strong>cd $ORACLE_HOME/bin<br />                 cp dbstart dbshut $ORACLE_BASE/admin</strong></span></p>               </blockquote>               <p>Create start/stop script in /etc/init.d as user root.</p>               <blockquote>                 <pre>#!/bin/bash<br />#<br /># chkconfig: 12345 99 10<br /># description: Oracle auto start-stop script<br /># --------------------------------------------------------------------------<br /># File:        oracle<br />#<br /># Purpose:     Oracle auto start-stop script<br />#<br /># Location:    /etc/init.d<br />#<br /># Certified:   Oracle 10.2.0.3 on Enterprise Linux 5<br /># --------------------------------------------------------------------------<br /># Variables<br />ORACLE_OWNER=oracle; export ORACLE_OWNER<br />ORACLE_BASE=/export/home/oracle; export ORACLE_BASE<br />ORACLE_SCRIPTS_DIR=$ORACLE_BASE/admin; export ORACLE_SCRIPTS_DIR<br />ORACLE_HOME=$ORACLE_BASE/product/10.2.0; export ORACLE_HOME<br /># Source function library.<br />. /etc/rc.d/init.d/functions<br /># Source networking configuration.<br />[ -f /etc/sysconfig/network ] &amp;&amp; . /etc/sysconfig/network<br />RETVAL=0<br />prog="oracle"<br />start() {<br />   echo -n $"Starting $prog: "<br />   if [ ! -f $ORACLE_SCRIPTS_DIR/dbstart ]<br />   then<br />        echo "Oracle not started (no dbstart script)"<br />   else<br />        # Start RDBMS<br />        su - $ORACLE_OWNER -c $ORACLE_SCRIPTS_DIR/dbstart<br />        # Start Enterprise Manager Console<br />        # su - $ORACLE_OWNER $ORACLE_HOME/bin/emctl start dbconsole<br />        # Start iSQL*Plus<br />        # su - $ORACLE_OWNER $ORACLE_HOME/bin/isqlplusctl start<br />   fi<br />   RETVAL=$?<br />   [ $RETVAL -eq 0 ] &amp;&amp; touch /var/lock/subsys/oracle<br />   return $RETVAL<br />}<br />stop() {<br />   echo -n $"Shutting down $prog: "<br />   if [ ! -f $ORACLE_SCRIPTS_DIR/dbshut ]<br />   then<br />        echo "Oracle not stopped (no dbshut script)"<br />   else<br />        # Stop iSQL*Plus<br />        # su - $ORACLE_OWNER $ORACLE_HOME/bin/isqlplusctl stop<br />        # Stop Enterprise Manager Console<br />        # su - $ORACLE_OWNER $ORACLE_HOME/bin/emctl stop dbconsole<br />        # Stop RDBMS<br />        su - $ORACLE_OWNER -c $ORACLE_SCRIPTS_DIR/dbshut<br />   fi<br />   RETVAL=$?<br />   [ $RETVAL -eq 0 ] &amp;&amp; rm -f /var/lock/subsys/oracle<br />   return $RETVAL<br />}<br /># See how we were called.<br />case "$1" in<br />  start)<br />        start<br />        ;;<br />  stop)<br />        stop<br />        ;;<br />  *)<br />        echo $"Usage: $0 {start|stop}"<br />        exit 1<br />esac<br />exit $RETVAL<br /></pre>               </blockquote>               <p><span>Activate this start/stop script with  chkconfig as root as follows</span></p>               <blockquote>                 <p><strong><span>su - root<br />                 chkconfig --add oracle<br />                 chkconfig --list oracle</span></strong></p>               </blockquote>               <p><span>Edit /etc/oratab  to start/stop               the desired</span> databases</p>               <blockquote>                 <p><strong><span>su - root<br />                 cat /etc/oratab</span></strong></p>                 <p><span># Entries are of the                 form:<br />                 # $ORACLE_SID:$ORACLE_HOME:&lt;N|Y&gt;:<br />                 <br />                 GENTIC:/export/home/oracle/product/10.2.0:Y</span></p>               </blockquote>               <p><span>Activate Enterprise  Manager Console</span></p>               <blockquote>                 <p>Create the r<span>epository for                 the</span> enterprise manager                 console as follows:</p>                 <p><span><strong>emca -repos  create<br />                 </strong></span><span style="color: red;"><strong>emca -config dbcontrol db</strong></span></p>                 <p>Try to connect to the database  control as follows:</p>                 <p><strong>http://&lt;db-host&gt;:1158/em</strong></p>                 <p><span>Automatically start and stop the  DB-</span>console</p>                 <p><strong><span style="color: red;">emctl start  dbconsole<br /></span><span style="color: red;">                 emctl stop dbconsole<br /></span><span style="color: red;">                 emctl status dbconsole</span></strong></p>               </blockquote></div><img src ="http://www.blogjava.net/wansong/aggbug/368460.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/wansong/" target="_blank">w@ns0ng</a> 2012-01-13 15:57 <a href="http://www.blogjava.net/wansong/articles/368460.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>oracle 安装 </title><link>http://www.blogjava.net/wansong/articles/368439.html</link><dc:creator>w@ns0ng</dc:creator><author>w@ns0ng</author><pubDate>Fri, 13 Jan 2012 02:00:00 GMT</pubDate><guid>http://www.blogjava.net/wansong/articles/368439.html</guid><wfw:comment>http://www.blogjava.net/wansong/comments/368439.html</wfw:comment><comments>http://www.blogjava.net/wansong/articles/368439.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/wansong/comments/commentRss/368439.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/wansong/services/trackbacks/368439.html</trackback:ping><description><![CDATA[<div>http://hi.baidu.com/lovederh/blog/item/3377fd252f1d1932d40742e6.html</div><br /><div>http://my.oschina.net/yunbaobao/blog/28832</div><br /><br /><div><div>linux redhat 5 安装 oracle 数据库总结</div><div>2011-06-29 11:59</div><p>总结了无数先人的经验：下面简短节说。</p> <p>1、首先是安装环境的检查：</p> <p>#free -m</p> <p>查看swap 分区大小 应该大于1024M</p> <p>增加swap的大小 重设交换分区可以使用如下操作: </p> <p>dd if=/dev/zero of=tmp_swap bs=1k count=900000 </p> <p>chmod 600 tmp_swap</p> <p>mkswap tmp_swap</p> <p>swapon tmp_swap </p> <p>完成安装以后,可以释放这个空间: </p> <p>swapoff tmp_swap</p> <p>rm tmp_swap</p> <p>2.安装Oracle10G需要的包，缺少哪个包就安装哪个包。</p> <p>用如下命令检查</p> <p>rpm -q binutils compat-db control-center gcc gcc-c++ glibc glibc-common \<br />gnome-libs libstdc++ libstdc++-devel make pdksh sysstat xscreensaver libaio openmotif21</p> <p>安装命令</p> <p>rpm -ivh 包名</p> <p>3.</p> <p>&nbsp;设置内核参数(在/etc/sysctl.conf文件中加入下列行) </p> <p>命令 vi&nbsp; /etc/sysctl.conf 回车，然后按字母&#8220;o&#8221; 进入  编辑状态。直接在后面加就可以了，这个文件中有些参数是存在的，不用管，直接加最后。我装的时候发现存在参数没有加，后来出现out of memery  错误就是因为 kernel.shmmax这个参数没加的原因。总之，把下面的都加在后面没错的。<br />kernel.shmall = 2097152 <br />kernel.shmmax = 2147483648 <br />kernel.shmmni = 4096 <br /># semaphores: semmsl, semmns, semopm, semmni <br />kernel.sem = 250 32000 100 128 <br />fs.file-max = 65536 <br />net.core.rmem_default = 262144<br />net.core.rmem_max = 4194304<br />net.core.wmem_default = 262144<br />net.core.wmem_max = 1048586</p> <p>net.ipv4.ip_local_port_range = 1024 65000</p> <p>按"esc" 退出编辑&nbsp; 输入:wq&nbsp; (保存并退出 ）如果只退出 不保存输入:q!</p> <p>然后输入命令</p> <p># /sbin/systcl -p 使参数生效。</p> <p>4.</p> <p>其他资源设置<br />&nbsp;4.1 修改/etc/security/limits.conf 文件<br />vi /etc/security/limits.conf</p> <p>*&nbsp;&nbsp; &nbsp;soft&nbsp;&nbsp;&nbsp; nproc&nbsp;&nbsp; 2047<br />*&nbsp; &nbsp; hard&nbsp;&nbsp;&nbsp; nproc&nbsp;&nbsp; 16384<br />*&nbsp; &nbsp;&nbsp;soft&nbsp;&nbsp;&nbsp; nofile&nbsp; 1024<br />*&nbsp;&nbsp;&nbsp; hard&nbsp;&nbsp;&nbsp; nofile&nbsp; 65536</p> <p>5.将下面一行添加到/etc/pam.d/login文件中最后一行: </p> <p>vi /etc/pam.d/login </p> <p>session&nbsp;&nbsp;&nbsp; required&nbsp;&nbsp;&nbsp;&nbsp; pam_limits.so</p> <p>6.添加用户和组，如果你想新建一个新用户可以建一个oracle用户。或者直接装在你的常用用户下面。</p> <p># useradd oracle</p> <p>#groupadd dba</p> <p>#groupadd oinstall</p> <p>#groupadd nobody 这个组有可能是存在的，如果存在就不用管了</p> <p>#gpasswd -a oracle dba 将oracle加入到dba组中</p> <p>#gpasswd -a oracle oinstall 将oracle 加入到oinstall组中</p> <p>#gpasswd -a oracle nobody</p> <p>删除用户和组的命令是</p> <p>userdel oracle</p> <p>groupdel dba</p> <p>7.建文件夹命令</p> <p>mkdir -p /opt/oracle</p> <p>chown -R oracle:root /opt</p> <p>chmod -R 777 /opt</p> <p>8.修改编辑内核</p> <p>vi /etc/redhat-release</p> <p>将内核参数5.4 这行前加个#</p> <p>然后再下面加一行将上面的复制下来把5.4改成 3 </p> <p>#Red Hat Enterprise Linux Server release 5 (Tikanga)&nbsp;<br />Red Hat Enterprise Linux&nbsp;Server release 3</p> <p>9.配置环境变量,这一步是重点中的重点，如果配置不好，问题多多。</p> <p>vi ~/.bash_profile 加入下面的环境变量</p> <p>export ORACLE_BASE=/opt/oracle</p> <p>export ORACLE_HOME=/opt/oracle/product/10.2.0/db_1&nbsp; 这个目录是没有的，装完oracle就有了</p> <p>export ORACLE_SID=orcl&nbsp; 名字随便起这个就是服务名</p> <p>export PATH=/opt/oracle/product/10.2.0/db_1/bin:$PATH</p> <p>export NLS_LANG="SIMPLIFIED CHINESE_CHINA.ZHS16GBK"&nbsp; 引号不能少</p> <p>export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/lib:/lib</p> <p>然后保存退出编辑，输入命令</p> <p>source ~/.bash_profile</p> <p>然后输入命令</p> <p>env 查看上面的环境变量是否都生效了。</p> <p>最好在是将bashrc 这个文件也加入上面的环境变量 vi ~/.bashrc</p> <p>10.切换到oracle用户到安装文件目录下,首先要有oracle10G的安装文件 然后用unzip 文件名 解压到一个目录下，我是将10201_database_linux32.zip放到opt目录下，解压出来一个database文件夹</p> <p>执行</p> <p>#export LANG=en_US</p> <p>./runInstaller</p> <p>开始安装，安装可以选择完全安装，语言选择english 还有简体中文 （SIMPLIFIED CHINESE）和windows上安装是一样的，就不多说了。</p> <p>但是有一个非常非常重要的，就是在数据库安装完之后会弹出一个框，里面有二个命令要执行切换到root用户下，</p> <p>su root 输入密码</p> <p>然后将二个命令执行一下，有一个让输入fullpath ，回车就好。</p> <p>oracle就装好了。</p> <p>在窗口中执行sqlplus可以登陆，Ok。</p> <p>11.设置实例自启动<br />修改/etc/oratab将所需启动的实例修改为Y <br />oracle:/opt/oracle/product/10.2.0/db_1:Y <br />12.编写启动脚本（OPTION）<br />为了方便管理，可以写一个启动脚本ora10g： <br />以root身份进入，编写以下脚本： <br />#!/bin/bash <br /># <br /># chkconfig: 2345 91 19 <br /># description: starts the oracle listener and instance <br />status() {<br />pid=`ps -ef | grep ora_pmon | grep -v grep | awk '{print $8}'`<br />if [ "X$pid" = "X" ]<br />then<br />echo "oracle10g is not running."<br />exit 1<br />else<br />echo "oracle10g is running."<br />exit 0<br />fi<br />}<br />case "$1" in <br />start) <br />#startup the listener and instance <br />echo -n "oracle begin to startup: " <br />su - oracle -c "lsnrctl start" <br />su - oracle -c dbstart <br />echo "oracle10g started" <br />;; <br />stop) <br /># stop listener, apache and database <br />echo -n "oracle begin to shutdown:" <br />su - oracle -c "lsnrctl stop" <br />su - oracle -c dbshut <br />echo "oracle10g shutdowned" <br />;; <br />reload|restart) <br />$0 stop <br />$0 start <br />;; <br />'status')<br />status<br />;;<br />*) <br />echo "Usage: ora10g [start|stop|reload|restart]" <br />exit 1 <br />esac <br />exit 0 <br />存为ora10g后，然后<br />chmod a+x ora10g<br />ln -s /opt/oracle/product/10.2.0/bin/ora10g /etc/rc.d/init.d/<br />即可在以后以root身份运行/etc/rc.d/init.d/ora10g start |stop 来管oracle的启动和停止了。<br />如果要将这个脚本加入到系统中使其可开机运行，那么要运行以下命令：<br />chkconfig --level 345 ora10g on</p> <p>或者可在/etc/rc.d/rc.local中加入如下： <br />su - oracle -c "lsnrctl start" <br />su - oracle -c "dbstart" </p> <p>安装后还有一些配置。网上有好多，下面的仅供参考 </p> <p>过一会儿就会出现Oracle的安装界面<br />注意：<br />1、选择advance install<br />2、数据库home设置为/opt/oracle/product/10g<br />3、数据库全局名称设置为ge01<br />4、数据库字符集选Simplified Chinese ZHS16GBK</p> <p>2.其他用默认设置！<br />注意：安装过程中会提示以root用户登陆执行一些脚本 ，执行后再按&#8220;ok&#8221;按钮继续安装。</p> <p>3、登陆并启动数据库的操作。 <br />[oracle@oracle oracle]$ lsnrctl start <br />[oracle@oracle oracle]$ sqlplus /nolog <br />SQL*Plus: Release 9.2.0.0 - Production on Sat Mar 12 22:58:53 2005 <br />Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved. <br />SQL&gt; connect / as sysdba <br />Connected. <br />SQL&gt; shutdown immediate 关闭数据库 （OR "dbshut" command)<br />Database closed. <br />Database dismounted. <br />ORACLE instance shut down. <br />SQL&gt; startup; 启动数据库 <br />ORACLE instance started. <br />Total System Global Area 236000356 bytes <br />Fixed Size 451684 bytes <br />Variable Size 201326592 bytes <br />Database Buffers 33554432 bytes <br />Redo Buffers 667648 bytes <br />Database mounted. <br />Database opened. </p> <p>4, dbstart脚本修改<br />数据库创建完成后，修改vi /etc/oratab，把orcl:/opt/oracle/oracle/product/10g:N那一行最后的N改成Y，<br />然后执行dbstart启动数据库数据库可能无法启动，报告Can&#8217;t find init file &#8230;的错误，需要复制一个初始化文件: <br />cp /opt/oracle/admin/ge01/pfile/init.ora.* /opt/oracle/product/10.2.0/dbs/initge01.ora <br />重新执行dbstart就可以了。<br />修改vi /opt/oracle/product/10g/bin/dbstart中ORACLE_HOME_LISTNER=/opt/oracle/oracle/product/10g/<br />vi /etc/rc.local 加入下面一行 起动ORACLE ON system boot<br />/opt/oracel/product/10g/bin/dbstart</p> <p>5. 编写启动脚本（OPTION）<br />为了方便管理，可以写一个启动脚本ora10g： <br />以root身份进入，编写以下脚本： <br />#!/bin/bash <br /># <br /># chkconfig: 2345 91 19 <br /># description: starts the oracle listener and instance <br />status() {<br />pid=`ps -ef | grep ora_pmon | grep -v grep | awk '{print $8}'`<br />if [ "X$pid" = "X" ]<br />then<br />echo "oracle10g is not running."<br />exit 1<br />else<br />echo "oracle10g is running."<br />exit 0<br />fi<br />}<br />case "$1" in <br />start) <br />#startup the listener and instance <br />echo -n "oracle begin to startup: " <br />su - oracle -c "lsnrctl start" <br />su - oracle -c dbstart <br />echo "oracle10g started" <br />;; <br />stop) <br /># stop listener, apache and database <br />echo -n "oracle begin to shutdown:" <br />su - oracle -c "lsnrctl stop" <br />su - oracle -c dbshut <br />echo "oracle10g shutdowned" <br />;; <br />reload|restart) <br />$0 stop <br />$0 start <br />;; <br />'status')<br />status<br />;;<br />*) <br />echo "Usage: ora10g [start|stop|reload|restart]" <br />exit 1 <br />esac <br />exit 0 <br />存为ora10g后，然后<br />chmod a+x ora10g<br />ln -s /opt/oracle/product/10.2.0/bin/ora10g /etc/rc.d/init.d/<br />即可在以后以root身份运行/etc/rc.d/init.d/ora10g start |stop 来管oracle的启动和停止了。<br />如果要将这个脚本加入到系统中使其可开机运行，那么要运行以下命令：<br />chkconfig --level 345 ora10g on</p> <p>或者可在/etc/rc.d/rc.local中加入如下： <br />su - oracle -c "lsnrctl start" <br />su - oracle -c "dbstart" </p> <p>6, 关于数据库删除重新安装的问题: <br />把ORACLE安装目录删除及/etc/ora*.*删除就行了 <br />#rm &#8211;f /etc/ora*.*</p> <p>7.修改Oracle10g数据库字符集<br />SQL&gt; connect sys/oracle as sysdba<br />SQL&gt; startup mount<br />SQL&gt; alter session set sql_trace=true;<br />Session altered.<br />SQL&gt; alter system enable restricted session;<br />System altered.<br />SQL&gt; alter system set job_queue_processes=0;<br />System altered.<br />SQL&gt; alter system set aq_tm_processes=0;<br />System altered.<br />SQL&gt; alter database open;<br />Database altered.<br />SQL&gt; set linesize 120;<br />SQL&gt; alter database character set zhs16gbk;<br />alter database character set zhs16gbk<br />*<br />ERROR at line 1:<br />ORA-12712: new character set must be a superset of old character set<br />SQL&gt; ALTER DATABASE character set INTERNAL_USE zhs16gbk; # 使用INTERNAL_USE可以跳过超集的检查,ALTER DATABASE character set INTERNAL_USE <br />Database altered.<br />SQL&gt; shutdown immediate;<br />Database closed.<br />Database dismounted.<br />ORACLE instance shut down.<br />SQL&gt; STARTUP<br />SQL&gt; select name,value$ from props$ where name like '%NLS%';<br />NLS_CHARACTERSET<br />ZHS16GBK</p> <p>8. oracle database备份<br />(1)vi bachupDb.sh<br />#!/bin/sh<br />#oracle用户下<br />#crontab -e 增加 "35 4 * * * /home/oracle/dbbackup/backupDb.sh",保存后自动安装<br />#或echo "35 4 * * * /home/oracle/dbbackup/backupDb.sh" &gt; backupDb.cron<br />#crontab backupDb.cron<br />#############<br /><a href="&#109;&#97;&#105;&#108;&#116;&#111;&#58;&#35;&#64;&#116;&#105;&#112;">#@tip</a> 修改为本机数据库home目录<br />export ORACLE_HOME=/opt/oracle/product/10g<br />export PATH=$ORACLE_HOME/bin:$PATH:$HOME/bin<br /># 注意字符集必须和数据库的字符集一致，以避免字符集转化失败 <br />export NLS_LANG=AMERICAN_AMERICA.zhs16gbk<br /><a href="&#109;&#97;&#105;&#108;&#116;&#111;&#58;&#35;&#64;&#116;&#105;&#112;">#@tip</a> 125修改为要备份的oracle的ip地址的最后一段<br />dmpfile="`echo ~/`dbbackup/gedb_`date +%w`.dmp"<br />logfile="`echo ~/`dbbackup/gedb_`date +%w`.log"</p> <p>if [ -w $dmpfile ]<br />then<br />echo "rm -f $dmpfile"<br />rm -f "$dmpfile"<br />fi</p> <p><a href="&#109;&#97;&#105;&#108;&#116;&#111;&#58;&#35;&#64;&#116;&#105;&#112;">#@tip</a> ip地址修改为要备份的oracle的主机地址<br />exp <a href="&#109;&#97;&#105;&#108;&#116;&#111;&#58;&#85;&#83;&#69;&#82;&#73;&#68;&#61;&#103;&#101;&#100;&#98;&#47;&#103;&#101;&#100;&#98;&#64;&#49;&#48;&#46;&#50;&#52;&#56;&#46;&#49;&#46;&#53;&#47;&#103;&#101;&#48;&#49;">USERID=gedb/gedb@10.248.1.5/ge01</a> file=$dmpfile log=$logfile owner=gedb grants=y<br />(2)copy bachupDb.sh 到slave oracle srever 相应目录,<br />chown oracle.oinstall bachupDb.sh<br />chmod 744 bachupDb.sh <br />vi bachupDb.sh 以符合安装情况<br />(3)以oracle user role<br />crontab -e<br />35 4 * * * /home/oracle/dbbackup/backupDb.sh </p> 9. restore oracle backup<br />su - oracle<br />imp USERID=gedb/gedb file=gedb_6.dmp log=implogfile commit=y grants=y full=y </div><img src ="http://www.blogjava.net/wansong/aggbug/368439.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/wansong/" target="_blank">w@ns0ng</a> 2012-01-13 10:00 <a href="http://www.blogjava.net/wansong/articles/368439.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>orcal case when 的写法</title><link>http://www.blogjava.net/wansong/articles/364429.html</link><dc:creator>w@ns0ng</dc:creator><author>w@ns0ng</author><pubDate>Mon, 21 Nov 2011 06:08:00 GMT</pubDate><guid>http://www.blogjava.net/wansong/articles/364429.html</guid><wfw:comment>http://www.blogjava.net/wansong/comments/364429.html</wfw:comment><comments>http://www.blogjava.net/wansong/articles/364429.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/wansong/comments/commentRss/364429.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/wansong/services/trackbacks/364429.html</trackback:ping><description><![CDATA[case when c.claim_status='FIN' and c.CHECK_OUT_FLAG=0 then '1' else '0' end as isFinished,<br />上面这种相当于if else的语义<br /><br />case c.claim_status when 'FIN' then '1' else '0' end as isFinished,<br />下面这种相当于 swith 的语义<img src ="http://www.blogjava.net/wansong/aggbug/364429.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/wansong/" target="_blank">w@ns0ng</a> 2011-11-21 14:08 <a href="http://www.blogjava.net/wansong/articles/364429.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>sql server 排序函数 row_number，rank，dense_rank，ntile  和mysql中的写法</title><link>http://www.blogjava.net/wansong/articles/354576.html</link><dc:creator>w@ns0ng</dc:creator><author>w@ns0ng</author><pubDate>Tue, 19 Jul 2011 00:03:00 GMT</pubDate><guid>http://www.blogjava.net/wansong/articles/354576.html</guid><wfw:comment>http://www.blogjava.net/wansong/comments/354576.html</wfw:comment><comments>http://www.blogjava.net/wansong/articles/354576.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/wansong/comments/commentRss/354576.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/wansong/services/trackbacks/354576.html</trackback:ping><description><![CDATA[<h5><a href="http://blog.csdn.net/halfcup/article/details/5488517">http://blog.csdn.net/halfcup/article/details/5488517</a></h5>
<p>&nbsp;</p>
<h4>五大数据库常用SQL比较(五)<br /><a href="http://www.aheiwang.com/article.asp?id=14">http://www.aheiwang.com/article.asp?id=14</a></h4><img src ="http://www.blogjava.net/wansong/aggbug/354576.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/wansong/" target="_blank">w@ns0ng</a> 2011-07-19 08:03 <a href="http://www.blogjava.net/wansong/articles/354576.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>