在 Oracle 数据库 11g 中操作分区

合集下载

数据库读写分离解决方案--DG实施方案

数据库读写分离解决方案--DG实施方案

数据库读写分离解决方案----oracle 11G ADG实施方案1.项目背景介绍1.1目的通过DG实现主库与备库同步,主库作为业务应用库,备库作为查询库,应用根据不同需求配置对应数据库;1.2测试环境在2台RedHat5.4上使用ORACLE 的DataGuard组件实现容灾。

设备配置(VMWare虚拟机环境)清单如下:2.Oracle DataGuard 介绍备用数据库(standby database)是ORACLE 推出的一种高可用性(HIGH AVAILABLE)数据库方案,在主节点与备用节点间通过日志同步来保证数据的同步,备用节点作为主节点的备份,可以实现快速切换与灾难性恢复。

●STANDBY DATABASE的类型:有两种类型的STANDBY:物理STANDBY和逻辑STANDBY两种类型的工作原理可通过如下图来说明:physical standby提供与主数据库完全一样的拷贝(块到块),数据库SCHEMA,包括索引都是一样的。

它是可以直接应用REDO实现同步的。

l ogical standby则不是这样,在logical standby中,逻辑信息是相同的,但物理组织和数据结构可以不同,它和主库保持同步的方法是将接收的REDO转换成SQL语句,然后在STANDBY上执行SQL语句。

逻辑STANDBY除灾难恢复外还有其它用途,比如用于用户进行查询和报表,但其数据库用户相关对象均需要有主键。

✧本次实施将选择物理STANDBY(physical standby)方式●对主库的保护模式可以有以下三种模式:–Maximum protection (最高保护)–Maximum availability (最高可用性)–Maximum performance (最高性能)✧基于项目应用的特征及需求,本项目比较适合采用Maximum availability (最高可用性)模式实施。

3.Dataguard 实施前提条件和注意事项:●灾备环境中的所有节点必须安装相同的操作系统,尽可能令详细补丁也保持相同。

oracle分区的interval字符

oracle分区的interval字符

oracle分区的interval字符在Oracle数据库中,分区是一种将表数据分成逻辑部分的方法,可以提高查询性能和管理数据的灵活性。

Oracle 11g引入了分区表的自动管理特性,其中一个重要的概念是分区的间隔(interval)字符。

分区的间隔字符是指在分区表中定义分区的方式,它决定了分区之间的边界。

使用间隔字符可以自动创建新的分区,并将新的数据插入到正确的分区中。

这样一来,用户不需要手动创建每个分区和插入数据,大大简化了分区表的管理。

在Oracle中,可以使用不同的间隔字符来定义分区。

其中一种常见的间隔字符是基于日期的间隔字符,比如按照月份进行分区。

这种情况下,可以使用以下语句来创建一个按照月份分区的表:CREATE TABLE sales (sales_id NUMBER,sales_date DATE,sales_amount NUMBER)PARTITION BY RANGE (sales_date)INTERVAL (INTERVAL '1' MONTH)(PARTITION sales_q1 VALUES LESS THAN (TO_DATE('01-APR-2022', 'DD-MON-YYYY')));在上述例子中,sales表按照sales_date列的日期范围进行分区。

INTERVAL '1' MONTH表示每个分区的间隔为一个月。

系统将自动创建新的分区,并将新的数据插入到正确的分区中。

另一个例子是使用数字的间隔字符。

假设需要根据订单金额将表进行分区,可以使用以下语句创建一个按照金额范围分区的表:CREATE TABLE orders (order_id NUMBER,order_date DATE,order_amount NUMBER)PARTITION BY RANGE (order_amount)INTERVAL (1000)(PARTITION orders_below_1000 VALUES LESS THAN (1000),PARTITION orders_1000_2000 VALUES LESS THAN (2000),PARTITION orders_2000_3000 VALUES LESS THAN (3000),PARTITION orders_above_3000 VALUES LESS THAN (MAXVALUE));在上述例子中,orders表按照order_amount列的值范围进行分区。

CentOS6.5下Oracle11G完整安装步骤

CentOS6.5下Oracle11G完整安装步骤

CentOS6.5下Oracle11g安装完整步骤一、硬件要求本部分内容命令,均以root用户执行。

1、内存建议内存应大于2G以上,1G可以运行,但比较吃力。

内存查看命令:[root@tsp-rls-dbserver /]# cat /proc/meminfo或[root@tsp-rls-dbserver /]# free -mtotal used free shared buffers cachedMem: 32062 1301 30760 0 40 552-/+ buffers/cache: 708 31354Swap: 16095 0 160952、交换分区交换分区大小,通常设为内存的1.5倍以上,也可以根据实际情况进行调整。

交换分区查看命令:[root@tsp-rls-dbserver /]# grep SwapTotal /proc/meminfoSwapTotal: 67682296 kB3、硬盘空间建议数据使用独立的挂载分区,本文中采用/data作为数据分区。

要求/tmp目录空间不小于400M。

磁盘空间查看命令:[root@tsp-rls-dbserver /]# df -hFilesystem Size Used Avail Use% Mounted on/dev/mapper/vg_tsprlsdbserver-lv_root 50G 4.3G 43G 10% /tmpfs 16G 348K 16G 1% /dev/shm/dev/sda1 485M 39M 421M 9% /boot/dev/mapper/vg_tsprlsdbserver-lv_home 210G 190M 199G 1% /home/dev/sdb1 1.1T 4.5G 1.1T 1% /data目录空间大小查看命令:[root@tsp-rls-dbserver tmp]# du -ch /tmp二、软件要求1、安装依赖包建议安装系统时,选择开发库。

Oracle 11g数据库基础教程第01章

Oracle 11g数据库基础教程第01章
Oracle 11g数据库基础教程 (第2版)
授课教师: 职务:
第1章 Oracle 11g1g是当前最 流行的大型关系数据 库之一,支持包括32 位Windows、64位 Windows、HP-UX、AIX、 Solaris和Linux等多 种操作系统,拥有广 泛的用户和大量的应 用案例。本章介绍 Oracle 11g数据库的 版本信息、产品组成 以及体系结构等,为 管理Oracle 11g奠定 基础。
本章知识点
1.1 Oracle 11g产品系列 1.2 Oracle 11g数据库系统的体系结构
1.1 Oracle 11g产品系列
版本 企业版(Enterprise Edition) 支持硬件情况 该版本能够支持操作系统所支持的最大 CPU数和内存容量,不限制数据库规模 该版本支持4个插槽的CPU和操作系统支 持的最大内存容量,不限制数据库规模。 支持Windows、Linux和Unix操作系统, 并且支持64位平台操作系统 该版本支持两个插槽的CPU和操作系统支 持的最大内存容量,不限制数据库规模。 支持Windows、Linux和Unix操作系统, 并且支持64位平台操作系统
Oracle 数据库的体系结构
多用户网络环境 用户 1 用户 2 用户 3 用户 4 用户„„ 用户 n
逻辑结构 逻辑单元 1 逻辑单元 2 逻辑单元„„ 逻辑单元 n
物理结构 文件 1 文件 2 文件 3 文件 4 文件„„ 文件 n
1.2.2 网格结构
可以通过以下两个关键点来区分网格计算和其他计算方式 (例如主机或客户/服务器模式)。 虚拟(Virtualization):相互独立的资源(例如计算机、 磁盘、应用程序组件和信息资源等)按照类型组织在一个 池中,供用户使用。这种方式打破了资源提供者和用户之 间的硬编码联系,系统可以根据特定的需要自动准备资源, 而用户不需要了解整个过程。 提供(Provisioning):用户通过虚拟层申请资源,由 系统来决定如何满足用户的特定需求,从而对系统进行整 体的优化。

Oracle-11gR2-deferred-segment-creation-与-exp_imp-说明

Oracle-11gR2-deferred-segment-creation-与-exp_imp-说明
注意: Thisnew feature in not applicable to SYS and the SYSTEM users as the segment to thetable is created along with the table creation.
--该特性不适用SYS 和 SYSTEM 用户
--手工分配segment。 这里方法很多,insert一条数据,或者使用alter 命令来操作。
--方法1 使用allocateextent,这里我们只对t2 操作
SQL> select 'alter table'||table_name||' allocate extent(size 64k);'
. . exporting table T1 35 rows exported
EXP-00011: ICD.T2 doesnot exist
EXP-00011: ICD.T3 doesnot exist
Export terminated successfully withwarnings.
--提示我们t2 和 t3表不存在
deferred_segment_creation boolean TRUE
SQL> create table t1 as select * fromdba_users;
Table created.
SQL> create table t2 as select * from dba_userswhere 1=2;
Table created.
SQL> create table t3 as select * fromdba_users where 1=2;

Oracle11g安装及验证图文攻略.

Oracle11g安装及验证图文攻略.

服务器磁盘分配一般C盘100G装系统、D盘80G放ORACLE基目录和软件位置、E盘剩余空间(最大)放数据库目录。

Oracle 11g安装图文攻略注意用administrator用户登录一、Oracle 下载注意Oracle分成两个文件,下载完后,将两个文件解压到同一目录下即可。

路径名称中,最好不要出现中文,也不要出现空格等不规则字符。

二、Oracle安装1. 解压缩文件,将两个压缩包一起选择,鼠标右击- 解压文件如图2.两者解压到相同的一、Oracle 下载注意Oracle分成两个文件,下载完后,将两个文件解压到同一目录下即可。

路径名称中,最好不要出现中文,也不要出现空格等不规则字符。

二、Oracle安装1. 解压缩文件,将两个压缩包一起选择,鼠标右击-> 解压文件如图2.两者解压到相同的路径中,如图:3. 到相应的解压路径上面,找到可执行安装文件【setup.exe 】双击安装。

如图:4. 安装第一步:配置安全更新,这步可将自己的电子邮件地址填写进去(也可以不填写,只是收到一些没什么用的邮件而已)。

取消下面的“我希望通过My Oracle Support接受安全更新(W)”。

如图:5. 安全选项,直接选择默认创建和配置一个数据库(安装完数据库管理软件后,系统会自动创建一个数据库实例)。

如图:6. 系统类,直接选择默认的桌面类就可以了。

(若安装到的电脑是,个人笔记本或个人使用的电脑使用此选项) 服务器类直接点击这里跳转如图:7. 典型安装。

重要步骤。

建议只需要将Oracle基目录更新下,目录路径不要含有中文或其它的特殊字符。

全局数据库名可以默认,且口令密码,必须要牢记。

密码输入时,有提示警告,不符合Oracel建议时不用管。

(因Oracel建议的密码规则比较麻烦,必须是大写字母加小写字母加数字,而且必须是8位以上。

麻烦,可以输入平常自己习惯的短小密码即可) 如图:8. 若输入的口令短小简单,安装时会提示如下。

Oracle11g数据库管理与开发基础教程课后习题及答案

Oracle11g数据库管理与开发基础教程课后习题及答案

Oracle11g数据库管理与开发基础教程课后习题及答案第⼀章选择题1、Oracle数据库服务器包含的两个主要组件是(AB)A、Oracle实例B、oracle数据库C、内存结构D、后台进程2、create database 创建Oracle数据库时创建的⽂件包括(AC)A、数据⽂件B、控制⽂件C、⽇志⽂件D、初始化参数⽂件3、创建Oracle数据库时,createdatabase语句中指出了需要创建的数据⽂件、⽇志⽂件存储路径和名称,但没有指出需要创建的控制⽂件,因此创建数据库之前需要创建(D)个控制⽂件。

A、0B、1C、2D、任意数量4、调⽤shutdown命令关闭Oracle数据库后,以下(D)命令关闭的数据库处于不⼀致状态。

A、shutdown normalB、shutdown transactionalC、shutdown immediateD、shutdown abort5、作为普通⽤户,只有当数据库处于以下(C)状态下才可连接访问。

A、NUMOUNTB、MOUNTC、OPEND、CLOSE填空题1、SGA可分为以下⼏种主要区域:(SGA固定)、(数据库缓冲区缓存)、(重做⽇志缓冲区)、(共享池)等。

2、Oracle实例有多种后台进程,其中每个数据库实例上必须启动的后台进程包括(数据库写⼊进程)、(⽇志写⼊进程)、(检查点进程)、(进程监视进程)、(系统监视进程)等。

3、Oracle数据库的逻辑存储结构是(表空间)、(段)、(区)、(数据块)等。

4、Oracle数据库逻辑上的表空间结构与磁盘上的物理(数据)⽂件相关联。

5、下⾯连接字符串采⽤的是(简易连接)命名⽅式。

CONNECT Scott/tiger@dbs:1525@/doc/727db4ff03768e9951e79b89680203d8ce2f6aac.html编程题1.写出以下操作的SQL*PLUS命令语句:先启动Oracle实例到“已启动实例状态”,再修改Oracle实例到“数据库已装载状态”,最后修改Oracle实例到打开状态。

最新Oracle11G 体系结构

最新Oracle11G 体系结构

方案下看到方案名都为数据库用户名的原因。
如果SCOTT用户创建了表EMP,那么SCOTT
就是表EMP的属主,在SCOTT访问SCOTT用
户下的EMP表时不用在表名前面加上表的属主
:SELECT * FROM EMP; 如果其他用户要访问表EMP,要在表名前面加 上表的属主:SELECT * FROM scott.emp; 否则会显示“没有此表”。
设置内存大小; 设置要使用的数据库和控制文件; 设置检查点; 设置数据库的控制结构; 非强制性后台进程的初始化
其他Oracle 物理文件
跟踪文件(Trace file):存放着后台进程的警告和错 误信息,每个后台进程都有相应的跟踪文件。 警告文件( Alert file):由连续的消息和错误组成, 可以看到Oracle内部错误、块损坏错误等。 备份文件( Backup file):包含恢复数据库结构和数 据文件所需的副本。 口令文件( Password file):存放用户口令的加密文 件。

每个数据库至少包含两个重做日志组,这两个日志组是循环使用的。日
志写入进程(LGWR)会将数据库发生的变化写入到日志组一,当日志组 一写满后,即产生日志切换,LGWR会将数据库发生的变化写入到日志
组二,当日志组二也写满后,产生日志切换,LGWR会将数据库发生的变
化再写入日志组一,依次类推。 日志文件分为联机重做日志文件和归档日志文件。归档日志,是当前非
关键控制信息,如数据库名和创建时间,物理文件 名、大小及存放位置等信息。

控制文件在创建数据库时生成,以后当数据库发生 任何物理变化都将被自动更新。

每个数据库包含通常两个或多个控制文件。这几个
控制文件的内容上保持一致。
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

在 Oracle 数据库 11g中操作分区
目的
本教程演示了如何在 Oracle 数据库 11g中使用各种分区技术。

所需时间
大约 50 分钟
主题
本教程包括下列主题:
概述
前提条件
使用引用分区
使用基于虚拟列的分区
总结
概述
在Oracle 数据库11g中,可以使用多种新技术对表数据进行分区,以提高数据的检索性能、优化数据组织。

这些技术包括:
返回主题列表
前提条件
开始本教程之前,您应该:
1.安装 Oracle 数据库 11g。

2.
将partition.zip文件下载并解压缩到您的工作目录中。

3.打开一个终端窗口,执行以下命令:
sqlplus / as sysdba
@setup
返回主题列表
使用引用分区
引用分区通过从父表继承分区键(而非复制键列),使得具有父-子关系的表能
够在逻辑上均分。

分区键通过现有的父-子关系解析,由现行的主键或外键约束
实施。

逻辑相关性还可以自动级联分区维护操作,从而使应用程序开发更轻松且
更不易出错。

执行以下步骤,进一步了解引用分区的用法:
1.
打开一个终端窗口,以SH用户身份登录 SQL*Plus。

执行create_orders.sql脚本,
创建按范围分区的ORDERS表。

@create_orders
2.
执行create_order_items.sql脚本,创建按引用分区的ORDER_ITEMS表。

@create_order_items
3.
执行query_dict_1.sql脚本,查看按引用分区的ORDER_ITEMS表的相关信息。

@query_dict_1
4.
执行insert_orders.sql脚本,将数据插入ORDERS表。

@insert_orders
5.
执行show_data_placement.sql脚本,观察如何将数据置于分区中的同一位置。

@show_data_placement
6.
要显示智能化分区连接,请将 _parallel_broadcast_enabled 参数设为 FALSE 。

执行以下命令:
ALTER SESSION SET "_parallel_broadcast_enabled"=FALSE;
7.
执行show_plan.sql脚本,查看有关智能化分区连接的信息。

@show_plan
8.
执行drop_partition.sql脚本,从ORDERS表中删除p_before_jan_2006分区。

@drop_partition
9.
执行query_dict_2.sql脚本,查看有关表的信息。

@query_dict_2
10.
执行add_partition.sql脚本,添加p2007_01分区。

@add_partition
11.
执行cleanup_1.sql脚本,删除本例中创建的分区和表空间。

@cleanup_1
返回主题列表使用间隔分区
间隔分区可以完全自动化范围分区的创建。

管理新分区的创建是一项繁琐的高重复性任务。

对于可预测的小范围分区添加(例如,添加每日的新分区)尤其如此。

间隔分区可以通过按需创建分区来自动化该操作。

执行以下步骤,了解间隔分区的用法:
1.
执行create_newsales.sql脚本,创建按间隔分区的NEWSALES表。

@create_newsales
2.
执行query_dict_3.sql脚本,查询USER_TAB_PARTITIONSNEWSALES字典视图,以了解有关NEWSALES表的信息。

@query_dict_3
3.
执行insert_newsales.sql脚本,将新数据插入NEWSALES表,以创建新分区(段)。

@insert_newsales
4.
执行query_dict_4.sql脚本,查看有关新分区的信息。

@query_dict_4
5.
执行merge_partition.sql脚本,合并两个分区。

@merge_partition
@query_dict_5
7.
执行create_hist_newsales.sql脚本,创建一个按范围分区的表。

@create_hist_newsales
@query_dict_6
9.
执行insert_histnewsales_row_1.sql脚本,在HISTORICAL_NEWSALES表中插入一行。

插入操作将失败,因为分区表目前还不是一个按间隔分区的表。

@insert_histnewsales_row_1
10.
执行alter_hist_newsales.sql脚本,将分区表更改为按间隔分区的表。

@alter_hist_newsales
11.
执行insert_histnewsales_row_2.sql脚本,再次尝试在该表中插入一行。

@insert_histnewsales_row_2
12.
执行query_dict_7.sql脚本,查看有关分区的信息。

@query_dict_7
返回主题列表
返回主题列表
使用基于虚拟列的分区
您可以使用虚拟列分区对在表的虚拟列上定义的键列进行分区。

虚拟列通过求解表达式来定义。

虚拟列可以在创建或修改表时定义。

通常,从逻辑上对对象进行分区的业务需求并不是以一对一的方式与现有列匹配。

Oracle 分区功能已经得到增强,它允许在虚拟列上定义分区策略,因此可以实现更全面的业务需求匹配。

本例中的员工分类如下:
执行以下步骤,了解基于虚拟列的分区的用法:
1.
执行create_employees.sql脚本,创建包含虚拟列的EMPLOYEES表。

@create_employees
2.
执行insert_employees.sql脚本,在EMPLOYEES表中插入多个行。

@insert_employees
3.
执行select_employees.sql脚本,查询EMPLOYEES表。

@select_employees
4.
执行create_prod_ret.sql脚本,创建包含虚拟列的PRODUCT_RETURNS表,虚拟列用于对表进行分区。

@create_prod_return
5.
执行insert_prod_ret.sql脚本,在PRODUCT_RETURNS表中插入多个行。

@insert_prod_ret
执行select_prod_return.sql脚本,查询PRODUCT_RETURNS表。

@select_prod_return
7.
执行xplan_prod_ret.sql脚本,为使用定义虚拟列的表达式的查询显示分区修剪。

@xplan_prod_ret
返回主题列表总结
在本教程中,您学习了如何:
使用引用分区
使用间隔分区
使用虚拟列分区。

相关文档
最新文档