oracle中字符串(摘抄)
关于Oracle中字符串的说明
字符串
Oracle中有四种基本的字符串类型,分别是char、varchar2、nchar和nvarchar2。在Oracle中,所有串都以同样的格式存储。在数据块有一个1~3字节的长度字段,其后才是数据,如果数据位NULL,长度字段则表示为一个单字节值0xFF.
如果串的长度小于或等于250(0x01~0xFA),Oracle会使用1个字节来表示长度。对于所有长度超过250的串,都会在一个标志字节0xFE后跟有两个字节来表示长度。因此,如果有个包含“Hello Word”的varchar2(80),则在块中可能是:[11][H][e][l][l][o][][W][o][r][l][d]
如果在一个char(80)中存储同样的数据,则可能是:[80][H][e][l][l][o][][W][o][r][l][d][68][].....[][0]
例子:
ops$tkyte@ORA10G>create table t
2 (car_column char(20))
3 varchar2_column varchar2(20)
4 )
5 /
Table created.
ops$tkyte@ORA10G>insert into t values('Hello World','Hello World');
1 row created.
ops$tkyte@ORA10G> select * from t;
CHAR_COLUMN VARHCAR2_COLUMN
--------------------------------------------
Hello World Hello World
ops$tkyte@ORA10G> select * from t where char_column='Hello World';
CHAR_COLUMN VARHCAR2_COLUMN
--------------------------------------------
Hello World Hello World
ops$tkyte@ORA10G>select * from t where varchar2_column='Hello World';
CHAR_COLUMN VARHCAR2_COLUMN
--------------------------------------------
Hello World Hello World
以上的操作看不出什么效果对吧,继续看下面的内容:
ops$tkyte@ORA10G>select * from t where cahr_column=varchar2_column;
no rows selected
原因是在char列比较时,char(11)直接量('Hello World')已经提升为一个char(
相关文档:
crsctl stop crs
killall init.crsd
cd /etc/init.d
rm -rf init.crs init.crsd init.cssd init.evmd
rm -rf /tmp/.oracle/
rm -rf /var/tmp/
rm -rf /var/tmp/.oracle/
cd /etc
rm -rf oraInst.loc oracle/ oratab
rm -rf $ORACLE_BASE
dd if=/dev/zero of=/dev/raw/raw_voting_disks bs=1024k
dd if=/dev/zero ......
--取得当天0时0分0秒
select TRUNC(SYSDATE) from dual;
--取得当天23时59分59秒(在当天0时0分0秒的基础上加1天后再减1秒)
SELECT TRUNC(SYSDATE)+1-1/86400 from dual;
--取得当前日期是一个星期中的第几天,注意:星期日是第一天
select to_char(sysdate,'D'),to_char(sysdate,'DAY') from dual;
--在oracle中如何得 ......
oracle数据库同步
在两台oracle数据库之间测试成功,下面就总结一下吧:
需求:
现有两台oracle数据库服务器A和B(A,B可以是在同一内网,也可以是在互联网上的两台独立机器)。A和B里有都有testable表,结构一样,现需要当A库中的testable表变化时,B库里的testable也相应变化数据
我的解决方案:
在A中建立到B库的 ......
实践第一讲:
名词解释:
dataguard:呵呵 ORACLE高可用体系中三架马车之一(RAC、STREAM)。干嘛用???就是异地备份、容灾什么的。什么原理??==聊哈。
primary:数据母体
standby:数据母体的拷贝或备份或克隆(只能克9个 为什么 要问ORACLE 为什么 log_archive_dest_n 这个你N的上限是10喽)
实践第二件:
实践检 ......
第一课:客户端
1. Sql Plus(客户端),命令行直接输入:sqlplus,然后按提示输入用户名,密码。
2. 从开始程序运行:sqlplus,是图形版的sqlplus.
3. http://localhost:5560/isqlplus
Toad:管理, PlSql Developer:
第二课:更改用户
1. sqlplus sys/bjsxt as sysdba
2. alter user scott account unlock;(解锁)
......