Oracle笔记 一

发布 2021-05-11 22:44:28 阅读 1571

表空间。用于在硬盘上指定的一个区域去存表数据的一个文件。

创建语法:create tablespace tablespacename

datafile ‘文件路径’

size 10m autoextend on;(自动增长)

创建的用户必须有创建的权限。

当你需要将表空间划分为几个文件时候,就需要:

附加题。1.创建一个表空间tabspace01,并指定添加二个数据文件,一个大小为10m,一个大小为20m,并允许数据文件自动扩展。

2.在tablespace01上面修改表空间上第一个数据文件的大小为20m

附加题参***。

create tablespace tt

datafile 'c:\'size 10m,c:\'size 30m

autoextend on;

alter database datafile 'c:\'resize 30m;

表分区。将一个有大型数据的表分割成几个部件。这些表区分不会影响查询,这是oracle的性能优化中的一部分。

好处是利于管理数据,可以根据部件进行单独的日志和备份。

一般使用分区的情况:

表大于2g,表中包含历史数据,要把新数据和历史数据分开。

常用的几种有:

范围分区。对一个表的列某一列进行范围分区。

范围分区的原则是将这一列进行默认索引去排序,然后将数据的值根据分区顺序挨个分类的。

语法:create table "demo01"

( "accc" number(5,2),

"accc2" varchar2(200 ),

"accc3" number(3,0)

partition by range ("accc3")

partition "p1" values less than (100) ,

partition "p2" values less than (200) ,

partition "p3" values less than (maxvalue)

**解释:创建demo01表。

对”accc3”进行范围分区。

p1区域存储100以下的。

p2区域存储不包括p1的200以下的。

之外的在p3区域中。

注意:在分区时候是按照顺序从上到下的分区的,p2的分区值不能低于p1。

间隔分区。-间隔分区,-是按照一个时间或者某个数据段进行分区,。

-以下**:根据月份进行每月分区。

-语法:create table demo02

dr1 number(4),dr2 date

partition by range (d2)

-间隔分区。

interval( numtoyminterval(1,"month"))

partition p1 values less than (to_date('2013-04-1','yyyy/mm/dd' )

其中:numtoyminterval是用来表示区分段的。(1,’year’)表示一年。

散列分区:一种均匀分区的手段。

create table demo02

dr1 number(4),dr2 date

partition by hash (d2)

-间隔分区。

partition p1

复合分区。列表分区。

分区常用操作。

分区查询:select * from demo01 partition(p1);好--显示第一区域的数据,。

1、增加一个分区。

添加分区时,会根据表结构中的分区模式去添加,所以无需填写列名。

只需填写条件。

alter table sales

add partition jan96 values less than ( 01-feb-1999' )

tablespace tsx;

增加一个列表分区。

alter table q1_sales_by_region

add partition q1_nonmainland values ('hi', pr')

storage (initial 20k next 20k) tablespace tbs_3

nologging;

2、合并分区。

alter table dept coalesce partition

3、删除分区。

alter table sales drop partition dec98;

alter index sales_area_ix rebuild(如果含有全局索引);

4、合并分区。

alter table four_seasons

merge partitions quarter_one, quarter_two into partition quarter_two;

alter table four_seasons modify partition

quarter_two rebuild unusable local indexes;

5、移动一个分区。

alter table parts move partition depot2

tablespace ts094 nologging;

6、重建一个local索引。

alter index i_four_seasons_l rebuild partition i_quarter_four

7、重命名一个分区。

alter table scubagear rename partition sys_p636 to tanks

8、一个分区拆分为两个分区。

alter table range_example split partition

part_1 at

(to_date(' 1994-05-01 00:00:00', syyyy-mm-dd hh24:mi:ss'))

into ( partition part_1 tablespace st1,partition part_3 tablespace users)

9、truncate一个分区。

alter table sales truncate partition dec98;

alter index sales_area_ix rebuild;

10、如果存在约束的情况,先disable约束。

alter table sales

disable constraint dname_sales1;

alter table sales truncate partittion dec94;

alter table sales

enable constraint dname_sales1;

为了方便大家学习,上课内容整理成txt文件。

授课内容:

sql支持语言。

默认的三个用户。

创建用户。授予、撤销权限。

系统权限和对象权限。

权限传递。角色。

通过角色对权限进行管理。

sql支持语言。

数据定义语言(ddl)

create 创建。

drop 移除。

alter 更改。

数据操纵语言(dml)

select 查询。

update 修改。

delete 删除。

insert 新增。

事务控制语言(tcl)

s**epoint 保存事务回滚点。

rollback 回滚。

commit 提交。

数据控制语言(dcl)

grant 授予。

revoke 撤销。

oracle数据安装的时候系统默认用户。

sys 数据库拥有者用户。

system 数据库管理员。

scott 数据库模拟实例用户。

主要区别 sys是oracle数据库中权限最高的帐号,具有create database的权限,而system没有这个权限,sys的角色是sysdba,system的角色是sysoper。

基础:连接数据库服务器的方式。

1、自带工具(dos命令或图形界面)

使用dos命令行登录 oracle

sqlplus 用户名/密码启动sqlplus并且连数据库

sqlplus 用户名/密码@实例名 sqlplus scott/tiger@myoracle

disconn 断开连接。

connect或conn 用户名/密码连接。

2、第三方工具(plsql developer)

数据库锁。

用于控制数据库访问的机制,防止并发访问。用于保护正在被修改的数据。

其他用户直到提交之后才可以修改数据。

一致性,一次只能有一个用户修改数据。

完整性,如果一个用户对数据进行了修改。那么修改后的数据将反映给所有用户。

并行性,允许多个用户访问同一个数据。

例子:当张三更新了t1的r1时候未提交,李四删除t1的r1则会等到张三更新完成后李四才能删除。

锁的类型:行级锁:是排他锁,防止其他事物修改,在下列语句中自动应用行级锁:

insert

update

delete

select *from for update//锁定更新语句。

表级锁。当一个对话在更新这个表所有的语句时候,其他对话将无法对其进行操作。

行级锁。当一个对话在更新这个表某行数据的时候,其他对话将无法对其进行操作。

锁等候:select * from emp for update wait 10.等候10秒,如果资源被调用则提示。

程序包。五、程序包。

1、程序包:包是一组相关过程、函数、变量、游标、常量等pl/sql程序设计元素的组合。它具有面向对象程序设计语言的特点,是对这些pl/sql程序设计元素的封装。

oracle笔记

1 查看表的结构 desc tabledescription 2 set timing on 打开操作表的时间记录。3 消除重复行 distinct 4 大小写不区分的是列名,而不是里面的数据。1 可以对某一列直接进行加减乘除。两列相加。2 如果有一列为null,所得结果也为空。使用nvl函数处理n...

Oracle笔记

第1页1.oracle 的使用 1.1.sqlplus 的命令 初始化表的位置 set nls lang american 设置编码才可以使用下面脚本 cd oracle home rdbms cd demo 我们目前使用的是oralce 9i 9201 版本 select from v versi...

oracle笔记

clear 清屏。col title for a20 设置title的字符最多有20个。oracle介绍。rdbsrdb 基本的存储结构是,二维表。表头。行。列。字段。sql的分类 dsl 关键字 select dml 操作 insert delete update ddl 定义 create dr...