NLS_LANG参数由以下部分组成:
NLS_LANG= <Language>_ <Territory>. <Clients Characterset>
其中:
LANGUAGE指定:
-Oracle消息使用的语言
-日期中月份和日显示
TERRITORY指定
-货币和数字格式
-地区和计算星期及日期的习惯
CHARACTERSET:
-控制客户端应用程序使用的字符集 ......
一.表空间学习
个人觉得表空间相对于数据库来说是至关重要的,一般分为permanent(永久性表空间),undo(undo表空间),temporary(临时表空间),一般我们是通过以下sql进行查看表空间的类型的.
select distinct t.contents from dba_tablespaces t;
查看表空间所对应的数据文件。
select t.name,t1.name
from v$tablespace t,
v$datafile t1
where t.ts# = t1.ts#;
下面分别写出创建三种表空间的语句.
a.创建临时表空间
create temporary tablespace tbs_temp1
tempfile '/opt/oracle/oradata/orcl/tbs_temp1.dbf' size 10M;
b.创建undo表空间
create undo tablespace tbs_undo
datafile '/opt/oracle/oradata/orcl/tbs_undo.dbf' size 10M;
c.永久性表空间
create tablespace tbs_cb4
datafile '/opt/oracle/oradata/orcl/tbs_cb4.dbf' size 10M;
我以一个创建用户为例指定表空间和让用户用另一个表空间
create user hwdw identified by jctlinux
default tablespace tbs_cb4;
grant connect to hwdw;
grant resource to hwdw;
connect 和 resource权限分别为rolename
改变用户默认表空间
alter user hwdw default tablesp ......
Start with...Connect By子句递归查询一般用于一个表维护树形结构的应用。
创建示例表:
CREATE TABLE TBL_TEST
(
ID NUMBER,
NAME VARCHAR2(100 BYTE),
PID NUMBER DEFAULT 0
);
插入测试数据:
INSERT INTO TBL_TEST(ID,NAME,PID) VALUES('1','10','0');
INSERT INTO TBL_TEST(ID,NAME,PID) VALUES('2','11','1');
INSERT INTO TBL_TEST(ID,NAME,PID) VALUES('3','20','0');
INSERT INTO TBL_TEST(ID,NAME,PID) VALUES('4','12','1');
INSERT INTO TBL_TEST(ID,NAME,PID) VALUES('5','121','2');
从Root往树末梢递归
select * from TBL_TEST
start with id=1
connect by prior id = pid
从末梢往树ROOT递归
select * from TBL_TEST
start with id=5
connect by prior pid = id
......
Oracle 10.2.0.1的Patch档逐渐形成了家族体系了,现在让大家来认识一下这个体系吧!到目前所发布的主要的Patch有10.2.0.2,10.2.0.3,10.2.0.4,10.2.0.4.1,10.2.0.4.2,10.2.0.4.3,10.2.0.5.
之前在32位和64位Linux下安装了较为稳定的Oracle 10G for Linux x86和Oracle 10G for Linux x86_64,由于没有下载Patch档,让我一直都有一种想法,一定要在测试机器上打上Patch.
最近在学习RAC技术,在虚拟机上安装Oracle 10G for Linux x86 and Oracle 10G for Linux x84_64,因此Patch需要打到10.2.0.3.在此将一些安装步骤和心得与大家分享:
1).下载Oracle 10.2.0.3的Patch
2).解压并放到/home/oracle目录下,以便进行安装
3).reboot Linux,然后以Oracle User进入系统
4).shutdown Databse,Stop all Oracle Service.
5).Cool Backup Database
6).Congratulation,You could run program ......
语法:TRANSLATE(expr,from,to)
expr: 代表一串字符,from 与 to 是从左到右一一对应的关系,如果不能对应,则视为空值。
举例:
select translate('abcbbaadef','ba','#@') from dual (b将被#替代,a将被@替代)
select translate('abcbbaadef','bad','#@') from dual (b将被#替代,a将被@替代,d对应的值是空值,将被移走)
因此:结果依次为:@#c##@@def 和@#c##@@ef ......
首先感谢文章的作者,我转来大家共享
Oracle从8.1.6开始提供分析函数,分析函数用于计算基于组的某种聚合值,它和聚合函数的不同之处是对于每个组返回多行,而聚合函数对于每个组只返回一行。
下面例子中使用的表来自Oracle自带的HR用户下的表,如果没有安装该用户,可以在SYS用户下运行$ORACLE_HOME/demo/schema/human_resources/hr_main.sql来创建。
除本文内容外,你还可参考:
ROLLUP与CUBE http://xsb.itpub.net/post/419/29159
分析函数使用例子介绍:http://xsb.itpub.net/post/419/44634
本文如果未指明,缺省是在HR用户下运行例子。
开窗函数的的理解:
开窗函数指定了分析函数工作的数据窗口大小,这个数据窗口大小可能会随着行的变化而变化,举例如下:
over(order by salary) 按照salary排序进行累计,order by是个默认的开窗函数
over(partition by deptno)按照部门分区
over(order by salary range between 50 preceding and 150 following)
每行对应的数据窗口是之前行幅度值不超过50,之后行幅度值不超过150
over(order by salary rows between 50 preceding and 150 following)
每行对应的数据窗口是之前50行,之后150行
over(order ......