开始在自己的网站上发布自己的东西了,可以好好的总结下学习的东西,也好与大家一起分享和讨论,欢迎大家提出宝贵意见
在Excel里把字母转换为大写或小写
作者:admin 日期:2008-08-12
在Excel里把字母转换为大写或小写
在同一个工作簿中新建一个空白的工作表,假设原来的工作表是 Sheet1,新的工作表示 Sheet2,在Sheet2的A1单元格输入=upper(Sheet1!A1),也就是在Sheet1的A1单元格的内容转换为大写,(同样,要是进行小写转换就是=lower(Sheet1!A1)。)并在Sheet2的A1的单元格中,这就达到了我们想要的效果,可是如果都是这么一个一个的来做的话是太累了啊。并且Excel也没有这么傻吧,在Sheet2里的A1单元格的右下角拖放就可以把所有的内容都进行转换过来了,是不是很好啊。
在这还有个小的办法来进行转换,当然是要借助Word了,我们知道在Word里有Shift+F3可以进行字母大写、小写及首字母大写的转换的功能。我们可以把Excel里的要转换的内容Copy到Word里,选择上要转换的内容,Shift+F3就可以实现我们想要的效果了。最后Copy回Excel就OK了。
Tags: 在Excel里把字母转换为大写或小写
ORA-31600: invalid input value table for parameter
作者:admin 日期:2008-07-16
我们想要查看某个表或者是表空间的DDL的时候,我们就可以利用dbms_metadata.get_ddl这个包来查看。
可是很容易出现ORA-31600: invalid input value table for parameter OBJECT_TYPE in function GET_DDL的错误
在这给大家用实例的方法来解答。
首先我们先做个实验
SQL> select dbms_metadata.get_ddl('table','table_dbms') from dual;
ERROR:
ORA-31600: invalid input value table for parameter OBJECT_TYPE in function GET_DDL
ORA-06512: at "SYS.DBMS_METADATA", line 2682
ORA-06512: at "SYS.DBMS_METADATA", line 2733
ORA-06512: at "SYS.DBMS_METADATA", line 4333
ORA-06512: at line 1
no rows selected
Elapsed: 00:00:00.07
SQL>
这里我们发现我们重现了这个错误,究竟是为什么呢?根据提示我们知道是由于参数的问题导致的。
我们知道我们要查的东西是没有写错的,就是改个大小写吧,我们改了我们要查的表名。结果呢?
SQL> select dbms_metadata.get_ddl('table','TABLE_DBMS') FROM DUAL;
ERROR:
ORA-31600: invalid input value table for parameter OBJECT_TYPE in function GET_DDL
ORA-06512: at "SYS.DBMS_METADATA", line 2682
ORA-06512: at "SYS.DBMS_METADATA", line 2733
ORA-06512: at "SYS.DBMS_METADATA", line 4333
ORA-06512: at line 1
no rows selected
Elapsed: 00:00:00.04
SQL>
结果还是不对。我们继续做实验,把TABLE改了。
SQL> select dbms_metadata.get_ddl('TABLE','table_dbms') from dual;
ERROR:
ORA-31603: object "table_dbms" of type TABLE not found in schema "ORACTL"
ORA-06512: at "SYS.DBMS_METADATA", line 1548
ORA-06512: at "SYS.DBMS_METADATA", line 1585
ORA-06512: at "SYS.DBMS_METADATA", line 1902
ORA-06512: at "SYS.DBMS_METADATA", line 2793
ORA-06512: at "SYS.DBMS_METADATA", line 4333
ORA-06512: at line 1
no rows selected
Elapsed: 00:00:00.02
SQL>
问题依旧,我们最后把所有的参数都改成了大写,现在是什么结果呢,让我们都很高兴的,我们看到了我们想要的东西了^_^
SQL> select dbms_metadata.get_ddl('TABLE','TABLE_DBMS') FROM DUAL;
DBMS_METADATA.GET_DDL('TABLE','TABLE_DBMS')
--------------------------------------------------------------------------------
Create TABLE "ORACTL"."TABLE_DBMS"
( "ID" NUMBER(*,0),
"NAME" CHAR(10)
) PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 NOCOMPRESS LOGGING
STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT)
TABLESPACE "ORACTL_DB"
Elapsed: 00:00:00.33
SQL>
DBMS_METADATA.GET_DDL默认的是查看当前用户的信息,如果你以用户A来查看用户B的表要在dbms_metadata.get_ddl的第三个参数里加上表/表空间的属主,否则就会报ORA-31603: object "TABLE_DBMS" of type TABLE not found in schema "ORACTL"的错误。
下面的例子就是我们在SYSDBA下看用户ORACTL表TABLE_DBMS的DDL结果
SQL> conn /as sysdba
Connected.
SQL> select dbms_metadata.get_ddl('TABLE','TABLE_DBMS','ORACTL') from dual;
DBMS_METADATA.GET_DDL('TABLE','TABLE_DBMS','ORACTL')
--------------------------------------------------------------------------------
Create TABLE "ORACTL"."TABLE_DBMS"
( "ID" NUMBER(*,0),
"NAME" CHAR(10)
) PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 NOCOMPRESS LOGGING
STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT)
TABLESPACE "ORACTL_DB"
SQL>
有的时候你会发现得到的结果明显是有问题,少了很多想要的信息,这时候就改动下你的显示长度,因为SQL * PLUS 默认的long是80。所以你要用set long 9999来设置你要显示的长度,上面的例子是set long 10000的结果,下面是set long 100 的例子。
SQL> set long 100
SQL> select dbms_metadata.get_ddl('TABLE','TABLE_DBMS','ORACTL') from dual;
DBMS_METADATA.GET_DDL('TABLE','TABLE_DBMS','ORACTL')
--------------------------------------------------------------------------------
Create TABLE "ORACTL"."TABLE_DBMS"
( "ID" NUMBER(*,0),
"NAME" CHAR(10)
) PCTFREE 10 PCTUSE
SQL>
在这总结下
1)dbms_metadata.get_ddl()包()内的参数都要大写
2)是否查的当前用户的DDL,不是要加上对象的属主信息。
3)看得到的信息是否都显示出来了?看看你的终端设置是否正确,set long 9999(随便设置他的大小,就是为了完全显示查找的结果)
TNS-12541: TNS:no listener
作者:admin 日期:2008-07-15
TNS-12541: TNS:no listener
Envoriment: Linux AS4 oracle 10.2.0.1 (rac1, standby1)
Today I want to through my test program to link rac1 on standby1 by oracle client, it prompt
ORA-12541: TNS no listener
The offical explanation is:
ORA-12541: TNS:no listener
Cause: The connection request could not be completed because the listener is not running.
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.
I think there are four possibilities for this case
Tags: TNS-12541 TNS:no listener
Linux Unix 屏幕记录
作者:admin 日期:2008-07-11
Linux Unix 屏幕记录
在Linux或者Unix终端下,尤其是在我们测试的时候,总是想把操作日志记录下来。
在这给大家介绍几种方法。常用的命令有screen、script、tee等等。
我实验的平台是Linux AS4、OpenBSD和Solaris,命令后的系统是说明在这个系统上是好用的。就测试了这3个系统。我想这也能够很有代表性了吧。
No.1
screen:Linux AS4
screen:screen manager with VT100/ANSI terminal emulation
Tags: Linux Unix 屏幕记录






