<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
<channel>
<title><![CDATA[DBA Clan]]></title>
<link>http://www.dbaclan.com/</link>
<description><![CDATA[冲向DBA 永远的super winner]]></description>
<language>zh-cn</language>
<copyright><![CDATA[Copyright 2005 PBlog2 v2.4]]></copyright>
<webMaster><![CDATA[ambious@sina.com(敖日格勒)]]></webMaster>
<generator>PBlog2 v2.4</generator> 
<image>
	<title>DBA Clan</title> 
	<url>http://www.dbaclan.com/images/logos.gif</url> 
	<link>http://www.dbaclan.com/</link> 
	<description>DBA Clan</description> 
</image>

			<item>
			<link>http://www.dbaclan.com/default.asp?id=60</link>
			<title><![CDATA[在Excel里把字母转换为大写或小写]]></title>
			<author>ambious@sina.com(admin)</author>
			<category><![CDATA[Application]]></category>
			<pubDate>Tue,12 Aug 2008 16:28:01 +0800</pubDate>
			<guid>http://www.dbaclan.com/default.asp?id=60</guid>	
		<description><![CDATA[<p><font size="2"><font size="3"><strong>在Excel里把字母转换为大写或小写</strong></font><br /><br />在同一个工作簿中新建一个空白的工作表，假设原来的工作表是 Sheet1，新的工作表示 Sheet2，在Sheet2的A1单元格输入=upper(Sheet1!A1)，也就是在Sheet1的A1单元格的内容转换为大写，(同样，要是进行小写转换就是=lower(Sheet1!A1)。)并在Sheet2的A1的单元格中，这就达到了我们想要的效果，可是如果都是这么一个一个的来做的话是太累了啊。并且Excel也没有这么傻吧，在Sheet2里的A1单元格的右下角拖放就可以把所有的内容都进行转换过来了，是不是很好啊。<br />在这还有个小的办法来进行转换，当然是要借助Word了，我们知道在Word里有Shift+F3可以进行字母大写、小写及首字母大写的转换的功能。我们可以把Excel里的要转换的内容Copy到Word里，选择上要转换的内容，Shift+F3就可以实现我们想要的效果了。最后Copy回Excel就OK了。</font></p>]]></description>
		</item>
		
			<item>
			<link>http://www.dbaclan.com/default.asp?id=59</link>
			<title><![CDATA[ORA-31600: invalid input value table for parameter]]></title>
			<author>ambious@sina.com(admin)</author>
			<category><![CDATA[Oracle]]></category>
			<pubDate>Wed,16 Jul 2008 14:43:46 +0800</pubDate>
			<guid>http://www.dbaclan.com/default.asp?id=59</guid>	
		<description><![CDATA[<font size="2"><font size="3" style="font-weight: bold;">ORA-31600: invalid input value table for parameter OBJECT_TYPE in function GET_DDL</font><br /><br />我们想要查看某个表或者是表空间的DDL的时候，我们就可以利用dbms_metadata.get_ddl这个包来查看。<br />可是很容易出现ORA-31600: invalid input value table for parameter OBJECT_TYPE in function GET_DDL的错误<br />在这给大家用实例的方法来解答。<br /><br />首先我们先做个实验<br />SQL&gt; <span style="color: rgb(255, 0, 0);">select dbms_metadata.get_ddl('table','</span></font><font size="2" style="color: rgb(255, 0, 0);">table_dbms</font><font size="2"><span style="color: rgb(255, 0, 0);">') from dual;</span><br />ERROR:<br />ORA-31600: invalid input value table for parameter OBJECT_TYPE in function GET_DDL<br />ORA-06512: at &quot;SYS.DBMS_METADATA&quot;, line 2682<br />ORA-06512: at &quot;SYS.DBMS_METADATA&quot;, line 2733<br />ORA-06512: at &quot;SYS.DBMS_METADATA&quot;, line 4333<br />ORA-06512: at line 1<br /><br />no rows selected<br /><br />Elapsed: 00:00:00.07<br /><br />SQL&gt;<br />这里我们发现我们重现了这个错误，究竟是为什么呢？根据提示我们知道是由于参数的问题导致的。<br />我们知道我们要查的东西是没有写错的，就是改个大小写吧，我们改了我们要查的表名。结果呢？<br /><br />SQL&gt; <span style="color: rgb(255, 0, 0);">select dbms_metadata.get_ddl('table','TABLE_DBMS') FROM DUAL;</span><br />ERROR:<br />ORA-31600: invalid input value table for parameter OBJECT_TYPE in function GET_DDL<br />ORA-06512: at &quot;SYS.DBMS_METADATA&quot;, line 2682<br />ORA-06512: at &quot;SYS.DBMS_METADATA&quot;, line 2733<br />ORA-06512: at &quot;SYS.DBMS_METADATA&quot;, line 4333<br />ORA-06512: at line 1<br /><br />no rows selected<br /><br />Elapsed: 00:00:00.04<br /><br />SQL&gt;<br />结果还是不对。我们继续做实验，把TABLE改了。<br />SQL&gt;<span style="color: rgb(255, 0, 0);"> select dbms_metadata.get_ddl('TABLE','table_dbms') from dual;</span><br />ERROR:<br />ORA-31603: object &quot;</font><font size="2">table_dbms</font><font size="2">&quot; of type TABLE not found in schema &quot;ORACTL&quot;<br />ORA-06512: at &quot;SYS.DBMS_METADATA&quot;, line 1548<br />ORA-06512: at &quot;SYS.DBMS_METADATA&quot;, line 1585<br />ORA-06512: at &quot;SYS.DBMS_METADATA&quot;, line 1902<br />ORA-06512: at &quot;SYS.DBMS_METADATA&quot;, line 2793<br />ORA-06512: at &quot;SYS.DBMS_METADATA&quot;, line 4333<br />ORA-06512: at line 1<br /><br />no rows selected<br /><br />Elapsed: 00:00:00.02<br /><br />SQL&gt;<br />问题依旧，我们最后把所有的参数都改成了大写，现在是什么结果呢，让我们都很高兴的，我们看到了我们想要的东西了^_^<br />SQL&gt;<span style="color: rgb(255, 0, 0);"> select dbms_metadata.get_ddl('TABLE','TABLE_DBMS') FROM DUAL;</span><br /><br />DBMS_METADATA.GET_DDL('TABLE','TABLE_DBMS')<br />--------------------------------------------------------------------------------<br /><br />&nbsp; Create TABLE &quot;ORACTL&quot;.&quot;TABLE_DBMS&quot;<br />&nbsp;&nbsp; (&nbsp;&nbsp;&nbsp; &quot;ID&quot; NUMBER(*,0),<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &quot;NAME&quot; CHAR(10)<br />&nbsp;&nbsp; ) PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 NOCOMPRESS LOGGING<br />&nbsp; STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645<br />&nbsp; PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT)<br />&nbsp; TABLESPACE &quot;ORACTL_DB&quot;<br /><br />Elapsed: 00:00:00.33<br /><br />SQL&gt; <br />DBMS_METADATA.GET_DDL默认的是查看当前用户的信息，如果你以用户A来查看用户B的表要在dbms_metadata.get_ddl的第三个参数里加上表/表空间的属主，否则就会报ORA-31603: object &quot;TABLE_DBMS&quot; of type TABLE not found in schema &quot;ORACTL&quot;的错误。<br />下面的例子就是我们在SYSDBA下看用户ORACTL表TABLE_DBMS的DDL结果<br />SQL&gt; conn /as sysdba<br />Connected.<br />SQL&gt; <span style="color: rgb(255, 0, 0);">select dbms_metadata.get_ddl('TABLE','TABLE_DBMS','ORACTL') from dual;</span><br /><br />DBMS_METADATA.GET_DDL('TABLE','TABLE_DBMS','ORACTL')<br />--------------------------------------------------------------------------------<br /><br />&nbsp; Create TABLE &quot;ORACTL&quot;.&quot;TABLE_DBMS&quot;<br />&nbsp;&nbsp; (&nbsp;&nbsp;&nbsp; &quot;ID&quot; NUMBER(*,0),<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &quot;NAME&quot; CHAR(10)<br />&nbsp;&nbsp; ) PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 NOCOMPRESS LOGGING<br />&nbsp; STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645<br />&nbsp; PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT)<br />&nbsp; TABLESPACE &quot;ORACTL_DB&quot;<br /><br />SQL&gt; <br /><br />有的时候你会发现得到的结果明显是有问题,少了很多想要的信息，这时候就改动下你的显示长度，<span style="color: rgb(255, 0, 0);">因为SQL * PLUS 默认的long是80。</span>所以你要用set long 9999来设置你要显示的长度，上面的例子是set long 10000的结果，下面是set long 100 的例子。<br />SQL&gt; <span style="color: rgb(255, 0, 0);">set long 100</span><br />SQL&gt; select dbms_metadata.get_ddl('TABLE','TABLE_DBMS','ORACTL') from dual;<br /><br />DBMS_METADATA.GET_DDL('TABLE','TABLE_DBMS','ORACTL')<br />--------------------------------------------------------------------------------<br /><br />&nbsp; Create TABLE &quot;ORACTL&quot;.&quot;TABLE_DBMS&quot;<br />&nbsp;&nbsp; (&nbsp;&nbsp;&nbsp; &quot;ID&quot; NUMBER(*,0),<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &quot;NAME&quot; CHAR(10)<br />&nbsp;&nbsp; ) PCTFREE 10 PCTUSE<br /><br />SQL&gt; <br /><br /><span style="color: rgb(255, 0, 0); background-color: rgb(255, 255, 255);">在这总结下</span><br style="color: rgb(255, 0, 0); background-color: rgb(255, 255, 255);" /><span style="color: rgb(255, 0, 0); background-color: rgb(255, 255, 255);">1)dbms_metadata.get_ddl()包()内的参数都要大写</span><br style="color: rgb(255, 0, 0); background-color: rgb(255, 255, 255);" /><span style="color: rgb(255, 0, 0); background-color: rgb(255, 255, 255);">2)是否查的当前用户的DDL，不是要加上对象的属主信息。</span><br style="color: rgb(255, 0, 0); background-color: rgb(255, 255, 255);" /><span style="color: rgb(255, 0, 0); background-color: rgb(255, 255, 255);">3)看得到的信息是否都显示出来了？看看你的终端设置是否正确，set long 9999(随便设置他的大小，就是为了完全显示查找的结果)</span></font>]]></description>
		</item>
		
			<item>
			<link>http://www.dbaclan.com/default.asp?id=58</link>
			<title><![CDATA[TNS-12541: TNS:no listener]]></title>
			<author>ambious@sina.com(admin)</author>
			<category><![CDATA[Oracle]]></category>
			<pubDate>Tue,15 Jul 2008 22:06:03 +0800</pubDate>
			<guid>http://www.dbaclan.com/default.asp?id=58</guid>	
		<description><![CDATA[<p><font size="3"><strong>TNS-12541: TNS:no listener<br /></strong></font><br /><font size="2">Envoriment: Linux AS4 oracle 10.2.0.1 (rac1, standby1)<br />Today I want to through my test program to link rac1 on standby1 by oracle client, it prompt <br />ORA-12541: TNS no listener</font></p>
<p><font size="2">The offical explanation is:</font></p>
<p><font size="2">ORA-12541: TNS:no listener <br />Cause: The connection request could not be completed because the listener is not running. <br />Action: Ensure that the supplied destination address matches one of the addresses used by the listener - compare the TNSNAMES.ORA entry with the appropriate LISTENER.ORA file (or TNSNAV.ORA if the connection is to go by way of an Interchange). Start the listener on the remote machine. </font></p>
<p><font size="2">I think there are&nbsp;four possibilities for this case</font></p>
<p><font style="BACKGROUND-COLOR: #c0c0c0" color="#0000ff" size="2">1)Listener for the source repository(rac1) has not been started<br />2)The network between rac1 and standby1 is not connected <br />3)The configuration file tnsnames.ora is not correct or other file was broken(e.g the file in the folder $ORACLE_HOME/rdbms/mesg/)<br />4)Rebuild the listener</font></p>
<p><font size="2">In order to solve the above possibilities, I have many experiments as follows.</font></p>
<p><font size="2">Firstly, I check the listener's status on rac1, the status as follows.</font></p>
<p><br /><font size="2">[oracle@rac1 ~]$ lsnrctl status</font></p>
<p><font size="2">LSNRCTL for Linux: Version 10.2.0.4.0 - Production on 15-7月 -2008 13:19:10</font></p>
<p><font size="2">Copyright (c) 1991, 2007, oracle.&nbsp; All rights reserved.</font></p>
<p><font size="2">Connecting to (ADDRESS=(PROTOCOL=tcp)(HOST=)(PORT=1521))<br />STATUS of the LISTENER<br />------------------------<br />Alias&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; LISTENER_RAC1<br />Version&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; TNSLSNR for Linux: Version 10.2.0.4.0 - Production<br />Start Date&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 30-6月 -2008 02:47:53<br />Uptime&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 15 days 10 hr. 31 min. 16 sec<br />Trace Level&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; off<br />Security&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ON: Local OS Authentication<br />SNMP&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; OFF<br />Listener Parameter File&nbsp;&nbsp; /u01/app/oracle/product/10.2.0/db_1/network/admin/listener.ora<br />Listener Log File&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; /u01/app/oracle/product/10.2.0/db_1/network/log/listener_rac1.log<br />Listening Endpoints Summary...<br />&nbsp; (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=172.16.13.20)(PORT=1521)))<br />&nbsp; (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=172.16.13.21)(PORT=1521)))<br />Services Summary...<br />Service &quot;+ASM&quot; has 1 instance(s).<br />&nbsp; Instance &quot;+ASM1&quot;, status BLOCKED, has 1 handler(s) for this service...<br />Service &quot;+ASM_XPT&quot; has 1 instance(s).<br />&nbsp; Instance &quot;+ASM1&quot;, status BLOCKED, has 1 handler(s) for this service...<br />Service &quot;PLSExtProc&quot; has 1 instance(s).<br />&nbsp; Instance &quot;PLSExtProc&quot;, status UNKNOWN, has 1 handler(s) for this service...<br />Service &quot;oractl&quot; has 1 instance(s).<br />&nbsp; Instance &quot;oractl1&quot;, status READY, has 2 handler(s) for this service...<br />Service &quot;oractlXDB&quot; has 1 instance(s).<br />&nbsp; Instance &quot;oractl1&quot;, status READY, has 1 handler(s) for this service...<br />Service &quot;oractl_XPT&quot; has 1 instance(s).<br />&nbsp; Instance &quot;oractl1&quot;, status READY, has 2 handler(s) for this service...<br />The command completed successfully<br />[oracle@rac1 ~]$ </font></p>
<p><font size="2">It's OK, Puzzled! Go to next step.</font></p>
<p><font size="2">Secondly, I use the tnsping to check the connection of two servers.</font></p>
<p><font size="2">[oracle@standby1 bin]$ cd $ORACLE_HOME/bin<br />[oracle@standby1 bin]$ pwd<br />[oracle@standby1 bin]$ /u01/app/oracle/product/10.2.0/db/bin<br />[oracle@standby1 bin]$ ./tnsping oractl</font></p>
<p><font size="2">TNS Ping Utility for Linux: Version 10.2.0.4.0 - Production on 15-JUL-2008 12:09:37</font></p>
<p><font size="2">Copyright (c) 1997,&nbsp; 2007, oracle.&nbsp; All rights reserved.</font></p>
<p><font size="2">Used parameter files:<br />/u01/app/oracle/product/10.2.0/db/network/admin/sqlnet.ora</font></p>
<p><br /><font size="2">Used TNSNAMES adapter to resolve the alias<br />Attempting to contact (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = rac1-vip)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = oractl)))<br /><font style="BACKGROUND-COLOR: #c0c0c0">ORA-12541: TNS:no listener</font></font></p>
<p><font size="2">God, I cant connect to the rac1 with tnsping.</font></p>
<p><font size="2">Then I check the configure file of tnsnames.ora<br />There is nothing wrong with the parameter, and someone said&nbsp; there are something wrong with the files in the folder $ORACLE_HOME/rdbms/mesg, we don't know it is right or wrong<br />I deside to rebuild the listener with the netca(Network Configuration Assistant) on rac1.</font></p>
<p><font size="2">Now I use tnsping to test the connection between these two servers</font></p>
<p><font size="2">[oracle@standby1 bin]$ cd $ORACLE_HOME/bin<br />[oracle@standby1 bin]$ pwd<br />[oracle@standby1 bin]$ /u01/app/oracle/product/10.2.0/db/bin<br />[oracle@standby1 bin]$ ./tnsping oractl</font></p>
<p><font size="2">TNS Ping Utility for Linux: Version 10.2.0.4.0 - Production on 15-JUL-2008 12:09:37</font></p>
<p><font size="2">Copyright (c) 1997,&nbsp; 2007, oracle.&nbsp; All rights reserved.</font></p>
<p><font size="2">Used parameter files:<br />/u01/app/oracle/product/10.2.0/db/network/admin/sqlnet.ora</font></p>
<p><br /><font size="2">Used TNSNAMES adapter to resolve the alias<br />Attempting to contact (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = rac1-vip)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = oractl)))<br /><font style="BACKGROUND-COLOR: #c0c0c0">OK (0 msec)</font><br />[oracle@standby1 bin]$ </font></p>
<p><font size="2">After the rebuilded it the tnsping's test is OK and the test program is OK</font></p>]]></description>
		</item>
		
			<item>
			<link>http://www.dbaclan.com/default.asp?id=57</link>
			<title><![CDATA[Linux Unix 屏幕记录]]></title>
			<author>ambious@sina.com(admin)</author>
			<category><![CDATA[Liunx/Unix]]></category>
			<pubDate>Fri,11 Jul 2008 17:18:04 +0800</pubDate>
			<guid>http://www.dbaclan.com/default.asp?id=57</guid>	
		<description><![CDATA[<p><font size="3"><strong>Linux Unix 屏幕记录</strong></font></p>
<p><font size="2">在Linux或者Unix终端下,尤其是在我们测试的时候，总是想把操作日志记录下来。<br />在这给大家介绍几种方法。常用的命令有screen、script、tee等等。</font></p>
<p><font size="2">我实验的平台是Linux AS4、OpenBSD和Solaris，命令后的系统是说明在这个系统上是好用的。就测试了这3个系统。我想这也能够很有代表性了吧。</font></p>
<p><font size="2">No.1<br />screen：Linux AS4<br />screen：screen manager with VT100/ANSI terminal emulation</font></p>
<p><font size="2">[root@rac1 oracle]# screen -L<br />会打开一个窗口，我们就可以进行我们的操作了，当我们进行完操作后我们就exit可以了。<br />[root@rac1 oracle]# exit<br />在我们退出后会发现在当前的目录下生成了: screenlog.0、screenlog.1、screenlog.2等一系列的文件。这就是我们的每次操作记录了<br />在这给个建议，不建议用screen这个命令，这个命令输出的screenlog.0等文件内都容易出现乱码，就是出现了控制字符我们可以用col这个命令来处理，不过处理的结果也不是很理想。<br />col -b 过滤控制字符<br />在输出过程中有可能会出现控制字符，如^M等，到了文件后容易出现乱码。在输出的时候就给过滤掉是不是省去了后来再处理的麻烦了。</font></p>
<p><font size="2">下面这是我截取了一段的输出文件，带控制字符的screenlog.0文件<br />[root@rac1 oracle]# cat screenlog.0<br />[00mscreenlog.0[00m&nbsp;&nbsp; [00mscreenlog.1[00m&nbsp;&nbsp; [00mscreenlog.2[00m&nbsp; </font></p>
<p><font size="2">我们用col -b去除了控制字符后的结果<br />[root@rac1 oracle]# cat screenlog.0 | col -b<br />00mscreenlog.000m&nbsp; 00mscreenlog.100m&nbsp; 00mscreenlog.200m <br />效果还不是很理想，我想这也不是你想要的。</font></p>
<p><font size="2">No.2<br />script：Linux AS4、OpenBSD和Solaris<br />script：make typescript of terminal session</font></p>
<p><font size="2">[root@rac1 oracle]# script<br />Script started, file is typescript<br />[root@rac1 oracle]# ls<br />&nbsp;screenlog.0&nbsp;&nbsp;&nbsp;&nbsp; sqlnet.log<br />&nbsp;screenlog.1&nbsp;&nbsp;&nbsp;&nbsp; stage<br />&nbsp;screenlog.2&nbsp;&nbsp;&nbsp;&nbsp; typescript<br />[root@rac1 oracle]# exit<br />exit<br />Script done, file is typescript<br />[root@rac1 oracle]#</font></p>
<p><font size="2">我们查看下刚才我们的记录<br />[root@rac1 oracle]# more typescript <br /><font style="BACKGROUND-COLOR: #c0c0c0">Script started on Fri 11 Jul 2008 08:35:17 AM CST<br />[root@rac1 oracle]# ls<br />&nbsp;screenlog.000m&nbsp;&nbsp;&nbsp;&nbsp; sqlnet.log00m<br />&nbsp;screenlog.100m&nbsp;&nbsp;&nbsp;&nbsp; stage00m<br />&nbsp;screenlog.200m&nbsp;&nbsp;&nbsp;&nbsp; typescript00m<br />[root@rac1 oracle]# exit<br />exit</font></font></p>
<p><font size="2"><font style="BACKGROUND-COLOR: #c0c0c0">Script done on Fri 11 Jul 2008 08:35:21 AM CST<br /></font>[root@rac1 oracle]# </font></p>
<p><font size="2">No.3<br />tee：Linux AS4、OpenBSD和Solaris<br />tee：read from standard input and write to standard output and files</font></p>
<p><font size="2">这个命令是可以同时在标准输出和文件都同时进行输出的。并且有一定的缓存过程，要是有大数据库量的话中间会出现停顿的过程出现。<br />这样我们就实现了同时输出到屏幕同时也被记录，是不是很方便啊。本人推荐用这个方法<br />[root@rac1 oracle]# ./test | tee test.log<br />这样我们就把test的执行结果他哦那是输出到了test.log和屏幕上了。</font></p>
<p><font size="2">No.4<br />&gt;：Linux AS4、OpenBSD和Solaris<br />最原始的方法，就是直接输出，就是不能输出到屏幕上，最后只能再去看log了，这样不好的地方在，比如说你在中间卡住了，但是不知道是什么结果，你等log完成，可是就怎么也完成不了，是不是就有点傻了啊。<br />[root@rac1 oracle]# ./test &gt; test.log</font></p>]]></description>
		</item>
		
			<item>
			<link>http://www.dbaclan.com/default.asp?id=56</link>
			<title><![CDATA[今天收到了UC的ipod nano好激动啊]]></title>
			<author>ambious@sina.com(admin)</author>
			<category><![CDATA[Life]]></category>
			<pubDate>Tue,01 Jul 2008 17:03:10 +0800</pubDate>
			<guid>http://www.dbaclan.com/default.asp?id=56</guid>	
		<description><![CDATA[<p>今天收到了5月份在UC网站的中奖奖品，呵呵，是个ipod nano ，开始说是个shuffle来，后来换成nano了，还是个4G的，开心，呵呵</p>]]></description>
		</item>
		
			<item>
			<link>http://www.dbaclan.com/default.asp?id=55</link>
			<title><![CDATA[ORA-12547:TNS:lost contact]]></title>
			<author>ambious@sina.com(admin)</author>
			<category><![CDATA[Oracle]]></category>
			<pubDate>Tue,24 Jun 2008 22:07:17 +0800</pubDate>
			<guid>http://www.dbaclan.com/default.asp?id=55</guid>	
		<description><![CDATA[<p><font size="3"><strong>ORA-12547: TNS:lost contact</strong></font></p>
<p><font size="2">我的环境是：<br />OS:RHEL4<br />Oralce:10.2.0.1</font></p>
<p><font size="2">这个系统是使用了一段时间后停下来了，现在要用下。当我sqlplus /as sysdba 来连接数据库的时候就是出现了</font></p>
<p><font size="2">ORA-12547:TNS:lost contact<br />可是我的lsnrctl status 还是正常的,需要的服务也都起来了。</font></p>
<p><font size="2">官方的解释是：<br />ORA-12547: TNS:lost contact <br />Cause: Partner has unexpectedly gone away, usually during process startup. <br />Action: Investigate partner application for abnormal termination. On an Interchange, this can happen if the machine is overloaded. </font></p>
<p><font size="2">(1)看到网上有很多的朋友遇到这个问题，我就是使用了一种方法，安装libaio-0.3.105-2.i386.rpm包重新启动系统就ok，这也可能是系统的一个小问题，系统原有的是libaio-0.3.103-2版本。</font></p>
<p><font size="2">(2)还有的朋友说是把本地net服务名配置重新配置一边就好了<br />具体：Net configration Assistant-----&gt;本地Net服务名配置-----&gt;下一步-----&gt;重新配置,后边的就根据自己的情况配置了，这个方法我没有实验。再也没有重现这个错误，要是有机会可以试验下。</font></p>]]></description>
		</item>
		
			<item>
			<link>http://www.dbaclan.com/default.asp?id=54</link>
			<title><![CDATA[ORA-12541:TNS:no listener]]></title>
			<author>ambious@sina.com(admin)</author>
			<category><![CDATA[Oracle]]></category>
			<pubDate>Tue,24 Jun 2008 22:00:03 +0800</pubDate>
			<guid>http://www.dbaclan.com/default.asp?id=54</guid>	
		<description><![CDATA[<p><font size="2"><font size="3"><strong>ORA-12541:TNS:no listener</strong></font><br /><br />我的实验环境是<br />OS:RHEL AS4 <br />ORACLE:10.2.0.4 <br />2个节点的RAC和一个Dataguard<br /><br />所有的参数我都配置好了，但我启动一个刚装好Dataguard的时候，发现不能登录主数据库，出现的错误是：<br />ORA-12541: TNS:no listener<br /><br />官方的解释如下：<br />ORA-12541: TNS:no listener <br />Cause: The connection request could not be completed because the listener is not running. <br />Action: Ensure that the supplied destination address matches one of the addresses used by the listener - compare the TNSNAMES.ORA entry with the appropriate LISTENER.ORA file (or TNSNAV.ORA if the connection is to go by way of an Interchange). Start the listener on the remote machine. <br /><br />可是我也没配置错内部的参数啊，tnsname.ora也对啊。后来恍然大悟啊，赶紧看/etc/hosts，发现这里的vip设置的ip地址有问题了。改正后顺利登录主库。</font></p>]]></description>
		</item>
		
			<item>
			<link>http://www.dbaclan.com/default.asp?id=53</link>
			<title><![CDATA[Windows 下的ping和ftp的不能登录解决方案]]></title>
			<author>ambious@sina.com(admin)</author>
			<category><![CDATA[Security]]></category>
			<pubDate>Wed,04 Jun 2008 17:16:19 +0800</pubDate>
			<guid>http://www.dbaclan.com/default.asp?id=53</guid>	
		<description><![CDATA[<p><strong><font size="3">Windows 下的ping和ftp的不能登录解决方案</font></strong></p>
<p><font size="2">当我们在本机安装了Windows的ftp的时候(就是IIS下的，不是其他的FTP软件)，我们在没有进行任何配置的时候就是不能登录，只有关闭了防火墙才可以登录，实在是很烦人的一件事</font></p>
<p><font size="2">我现在来帮大家解决下，由于上传问题，就不给大家贴图，直接用文字描述。</font></p>
<p><font size="2">我们在控制面板中找到Windows的防火墙，打开后看到了Windows防火墙的控制页面，我们选择高级选项卡，在网络连接设置的里面找到你正在用的网卡，就是那里的本地连接的那块网卡。要是你机器安装有虚拟机等就会出现其他的网络设备，选择本地连接。点击右边的配置按钮，会出现一个高级设置的控制页面，在服务中我们在FTP服务器前面打上勾确定即可，这时候即使是在windows防火墙开启的情况下依然可以随心所欲的访问你的ftp了。</font></p>
<p><font style="BACKGROUND-COLOR: #c0c0c0" size="2"><strong>FTP:控制面板-&gt;高级-&gt;网络连接设置-&gt;本地连接-&gt;设置-&gt;服务-&gt;FTP服务器-&gt;勾上FTP服务器-&gt;OK</strong></font></p>
<p><font size="2">下面我们再来实现下不可以ping通其他的机器的情况<br /></font><font size="2">因为ping命令是属于ICMP的，所以就不存在所谓的端口问题，这个要注意的。当我们要开启或禁止它的时候，那就必须从ICMP来开始着手。<br />前面的还是和修改ftp的步骤一样。我们在控制面板中找到Windows的防火墙，打开后看到了Windows防火墙的控制页面，我们选择高级选项卡，在网络连接设置的里面找到你正在用的网卡，就是那里的本地连接的那块网卡。要是你机器安装有虚拟机等就会出现其他的网络设备，选择本地连接。点击右边的配置按钮，会出现一个高级设置的控制页面，在ICPM选项卡设置中把允许传入回显示请求前面打勾选择上即可打开ping的返回显示功能。</font></p>
<p><font style="BACKGROUND-COLOR: #c0c0c0" size="2"><strong>PING:控制面板-&gt;高级-&gt;网络连接设置-&gt;本地连接-&gt;设置-&gt;ICMP-&gt;勾上允许传入回显示请求-&gt;OK</strong></font></p>]]></description>
		</item>
		
			<item>
			<link>http://www.dbaclan.com/default.asp?id=52</link>
			<title><![CDATA[LRM-00101: unknown parameter name &#39;string&#39;]]></title>
			<author>ambious@sina.com(admin)</author>
			<category><![CDATA[Oracle]]></category>
			<pubDate>Mon,02 Jun 2008 21:30:54 +0800</pubDate>
			<guid>http://www.dbaclan.com/default.asp?id=52</guid>	
		<description><![CDATA[<p><strong><font size="3">LRM-00101: unknown parameter name 'string'</font></strong><br /><br /><font size="2">今天在装Oracle的 standby 上的ASM的时候，出现了这个问题，实验过程如下。<br />[oracle@standby1 dbs]$ sqlplus '/as sysdba'&nbsp;<br />SQL*Plus: Release 10.2.0.1.0 - Production on 星期一 6月 2 20:05:36 2008<br />Copyright (c) 1982, 2005, oracle.&nbsp; All rights reserved.<br />已连接到空闲例程。<br />&nbsp;<br />SQL&gt; startup<br />ORA-01078: failure in processing system parameters<br />LRM-00101: unknown parameter name 'asm_diskstring'<br />SQL&gt; <br /><br />我的参数文件是：<br />[oracle@rac1 dbs]$ vi init+ASM.ora<br />*.asm_diskstring='ORCL:VOL*'<br />*.background_dump_dest='/u01/app/oracle/admin/+ASM/bdump'<br />*.core_dump_dest='/u01/app/oracle/admin/+ASM/cdump'<br />*.instance_type='ASM'<br />*.large_pool_size=12M<br />*.remote_login_passwordfile='SHARED'<br />*.user_dump_dest='/u01/app/oracle/admin/+ASM/udump'<br /><br />官方的解释是：<br /><strong>LRM-00101: unknown parameter name 'string'</strong><br />Cause: The parameter name was misspelled.<br />Action: Spell the parameter name correctly.<br />Please add more information about this Error<br /><br />我们发现在创建时，每个参数前面都有一个星号（*.）删除就行了，在读取的时候其实读取的是参数不带*.的那部分。删除后我们就可以正常的startup了。</font></p>
<p><font size="2">在这提到的一点是，星号(*)是RAC中使用的，多个实例共用1参数文件的时候，就是通过前缀来区分的。比如两个实例名分别是oractl1, oractl2。那么可以这样在参数中设置各自的undo表空间：<br />oractl1.undo_tablespace=undo1<br />oractl2.undo_tablesapce=undo2<br />而*.pga_target=10000代表：两个实例的pga_target都是10000</font></p>]]></description>
		</item>
		
			<item>
			<link>http://www.dbaclan.com/default.asp?id=51</link>
			<title><![CDATA[流媒体视频截获-网页flash下载]]></title>
			<author>ambious@sina.com(admin)</author>
			<category><![CDATA[Network]]></category>
			<pubDate>Wed,28 May 2008 09:53:42 +0800</pubDate>
			<guid>http://www.dbaclan.com/default.asp?id=51</guid>	
		<description><![CDATA[<p><font size="2"><font size="3"><strong>流媒体视频截获-网页flash下载<br /></strong></font><br />当我们看到网上喜欢的flash或者是一个流媒体文件的时候，你是否想过要把它保存到本地呢？<br />当我们看到ouou或者是56上的视频的时候我们用流媒体捕捉软件有时候是不能实现本地捕获的，我也用过维堂捕获流媒体，或者是迅雷里的捕获流媒体的功能。<br />可是当我们遇到了使用CamtasiaStudio制作过的就不能顺利的捕获，其实我们在能看的同时就已经下载到了本地了，还用什么软件啊，用软件就是说让你知道了你要存放的地址罢了，还有就是说也是使工具来下载，不是Windows默认的下载，本来也就是那么一个源，都是一个东西。</font></p>
<p><font size="2">下面我就说两种方法来帮你找到你正在看的东西<br /><font size="3"><strong>方法一<br /></strong></font>我们浏览的东西都到IE缓存了，地址是C:\Documents and Settings\administrator\Local Settings\Temporary Internet Files，如果你不知道那个是你想要的，你可以看类型或者是看他的大小可以初步判断下了，是吧。是flv、png、gif、xml、js还是swf(Shockwave Flash Object)的啊就可以一目了然了。</font></p>
<p><font size="2"><font size="3"><strong>方法二<br /></strong></font>在我们正在浏览的流媒体的页面上打开工具的Internet选项-&gt;常规-&gt;浏览历史记录的设置-&gt;查看文件，这里面就是本页面存放的缓存文件。这样就可以更好的来定位你想要的流媒体文件了。根本不需要用工具软件来下载，如果Windows下载不了，软件基本上也是不可以的了。</font></p>
<p><font size="2">在这给大家提起注意的是<br />有的流媒体做了有效日期的限制，就是存活期的限制。有可能是随着浏览器的进程的，也就是说浏览器关了就把这些随带的cookies都给清除了。在你想截获的流媒体的页面没有关闭前去按照上面的两种方法来找到你所要的流媒体了。</font></p>
<p><font size="2">其实只要是在网上你看的东西都是可以用这种方法来保存到其他的地方的。</font></p>]]></description>
		</item>
		
</channel>
</rss>