首页 | 资讯动态 | linux基础 | 系统管理 | 网络管理 | 编程开发 | linux数据库 | 服务器技术 | linux相关 | linux认证 | 嵌入式 | 下载中心 | 专题 | linux招聘 | HR | 镜像
OKLinux中文技术站
·设为首页
·加入收藏
·联系我们
系统管理: 中文环境 系统管理 桌面应用 内核技术 | Linux基础: 基础入门 安装配置 常用命令 经验技巧 软件应用 | Linux数据库: Mysql Postgre Oracle DB2 Sybase other
网络管理: 网络安全 网络应用 Linux服务器 环境配置 黑客安全 | 编程开发: PHP CC++ Python Perl Shell 嵌入式开发 java jsp | PHP技术: PHP基础 PHP技巧 PHP应用 PHP文摘
搜索中心 Linux招聘 Linux专题 Apache | Linux相关: 硬件相关 Linux解决方案 Linux认证 企业应用 其它Unix | 相关下载: 资料下载 参考手册 开发工具 服务器类 软路由 其它
 技术搜索:
会员中心 注册会员 高级搜索  
  → 当前位置:首页>linux数据库>oracle>正文

在 Oracle Enterprise Linux 上升级到 Oracle RAC 11g

http://www.oklinux.cn  2007-12-01  oracle   会员收藏  游客收藏  【 】 
您查看的文章来源于http://www.oklinux.cn
NAME COMPATIBILITY DATABASE_COMPATIBILI --------------- ------------- -------------------- DG1 11.1.0.0.0 11.1.0.0.0 RECOVERYDEST 11.1.0.0.0 11.1.0.0.0

6. 探索 Oracle 数据库 11g

此部分将简要描述 Oracle 数据库 11g 的几个新特性。新特性的详细描述不在本指南的讨论范围之内。

自动内存管理 — 在 Oracle 数据库 11g 中,已经使用动态参数 memory_target 进一步自动化了内存管理。您只需指定总的实例内存大小,数据库将自动管理 SGA 与 PGA 之间的内存分配。视图 v$memory_target_advice 将提供内存调整建议。

间隔分区通过在插入行超出分区范围时自动创建新表分区,提高了分区表的可管理性。

按整数值分区

SQL> create table patients (
2  patientid number not null,name varchar2(10),address varchar2(15)
  3  )
4  partition by range (patientid)
5  interval (100)
6  (partition p1 values less than (100))
  7  /

Table created.

SQL> select partition_name,high_value
2  from user_tab_partitions
3  where table_name='PATIENTS';

PARTITION_NAME  HIGH_VALUE
--------------- ---------------
P1              100

SQL> insert into patients values (100,'ROBERT','4 BORNE AVE');

1 row created.

SQL> select partition_name,high_value
2  from user_tab_partitions
3  where table_name='PATIENTS';

PARTITION_NAME  HIGH_VALUE
--------------- ---------------
P1              100
SYS_P81         200

SQL> select count(*) from patients partition (SYS_P81);

COUNT(*)
----------
         1

按日期分区

SQL> create table userlogs (
2  transid number,
3  transdt date,
4  terminal varchar2(10)
  5  )
6  partition by range (transdt)
7  interval (numtoyminterval(1,'YEAR'))
  8  (
9     partition p1 values less than (to_date('01-01-2007','mm-dd-yyyy'))
 10  );

Table created.

SQL> select partition_name,high_value
2  from user_tab_partitions
3  where table_name='USERLOGS';

PARTITION_NAME HIGH_VALUE
-------------- --------------------------------------------------------------------------------
P1             TO_DATE(' 2007-01-01 00:00:00', 'SYYYY-MM-DD HH24:MI:SS', 'NLS_CALENDAR=GREGORIA


SQL> insert into userlogs values (1,'11-AUG-07','XAV0004');

1 row created.

SQL> select partition_name,high_value
2  from user_tab_partitions
3  where table_name='USERLOGS';

PARTITION_NAME HIGH_VALUE
-------------- --------------------------------------------------------------------------------
P1             TO_DATE(' 2007-01-01 00:00:00', 'SYYYY-MM-DD HH24:MI:SS', 'NLS_CALENDAR=GREGORIA
SYS_P42        TO_DATE(' 2008-01-01 00:00:00', 'SYYYY-MM-DD HH24:MI:SS', 'NLS_CALENDAR=GREGORIA


SQL> select count(*) from userlogs partition (sys_p42);

COUNT(*)
----------
         1
引用分区根据父表的分区模式对子表进行分区。

 

SQL> create table patients (
2  patientid number not null,name varchar2(10), address varchar2(15)
  3  )
4  partition by range (patientid)
5  (partition p1 values less than (100),
6   partition p2 values less than (200))
  7  /

Table created.
SQL> alter table patients
2  add constraint patients_pk primary key (patientid);

Table altered.

SQL> create table invoices (
2  invoiceno number,amount number, patientid number not null,
3  constraint invoices_fk
4  foreign key (patientid) references patients
  5  )
6  partition by reference (invoices_fk);

Table created.

SQL> select dbms_metadata.get_ddl('TABLE','INVOICES','VCHAN') from dual;

DBMS_METADATA.GET_DDL('TABLE','INVOICES','VCHAN')
-----------------------------------------------------------------------
CREATE TABLE "VCHAN"."INVOICES"
(    "INVOICENO" NUMBER,
"AMOUNT" NUMBER,
"PATIENTID" NUMBER NOT NULL ENABLE,
CONSTRAINT "INVOICES_FK" FOREIGN KEY ("PATIENTID")
REFERENCES "VCHAN"."PATIENTS" ("PATIENTID") ENABLE
) PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255
STORAGE(
BUFFER_POOL DEFAULT)
PARTITION BY REFERENCE ("INVOICES_FK")
(PARTITION "P1"
PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255
STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT)
TABLESPACE "USERS" NOCOMPRESS ,
PARTITION "P2"
PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255
STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT)
TABLESPACE "USERS" NOCOMPRESS )

SQL> insert into patients values (1,'TOBY','88 Palace Ave');

1 row created.

SQL> insert into invoices values (150,262.12,1);

1 row created.

SQL> select count(*) from invoices partition (p1);

COUNT(*)
----------
         1

SQL> select count(*) from invoices partition (p2);

COUNT(*)
----------
         0

SQL> insert into patients values (110,'GILY','512 HILE STREET');

1 row created.

SQL> insert into invoices values (151,500.01,110);

1 row created.

SQL> select count(*) from invoices partition (p1);

COUNT(*)
----------
         1

SQL> select count(*) from invoices partition (p2);

COUNT(*)
----------
         1
Oracle 数据库 11g 中的表压缩支持传统的 DML 和删除列操作。压缩数据在读取期间不需要解压缩,这样,因为读取的数据块较少,查询压缩数据的速度将明显加快。
SQL> create tablespace tbs1 datafile '/u01/app/oracle/oradata/db11g/tbs1_01.dbf' size 500M;

Tablespace created.

SQL> create tablespace tbs2 datafile '/u01/app/oracle/oradata/db11g/tbs2_01.dbf' size 500M;

Tablespace created.

SQL> create table mytable_compress (col1 varchar2(26),col2 varchar2(26)) tablespace tbs1 compress for all operations;

Table created.

SQL> create table mytable_nocompress (col1 varchar2(26),col2 varchar2(26)) tablespace tbs2;

Table created.

SQL> alter system flush buffer_Cache;

System altered.

SQL> alter system flush shared_pool;

System altered.

SQL> set timing on

SQL> insert into mytable_nocompress
2  select 'ABCDEFGHIJKLMNOPQRSTUVWXYZ','ABCDEFGHIJKLMNOPQRSTUVWXYZ'
3  from (select 1 from dual connect by level <= 2000000);

2000000 rows created.

Elapsed: 00:00:8.07

SQL> commit;

Commit complete.

Elapsed: 00:00:00.07

SQL> alter system flush buffer_Cache;

System altered.

SQL> alter system flush shared_pool;

System altered.

SQL> insert into mytable_compress
2  select 'ABCDEFGHIJKLMNOPQRSTUVWXYZ','ABCDEFGHIJKLMNOPQRSTUVWXYZ'
3  from (select 1 from dual connect by level <= 2000000);

2000000 rows created.

Elapsed: 00:00:41.79

SQL> commit;

Commit complete.

Elapsed: 00:00:00.04

SQL> select segment_name,extents from user_segments where segment_name like 'MYTABLE%';

SEGMENT_NAME                      EXTENTS
------------------------------ ----------
MYTABLE_COMPRESS                       53
MYTABLE_NOCOMPRESS                     88


SQL> select tablespace_name,bytes/1024/1024 from dba_free_space where tablespace_name like 'TBS%';

TABLESPACE_NAME                BYTES/1024/1024
------------------------------ ---------------
TBS1                                  461.9375
TBS2                                  363.9375


SQL> alter table mytable_compress drop column col2;

Table altered.

Elapsed: 00:00:21.04

结论:

正如本指南中所述,每个数据库版本的升级过程都变得更加简单高效。衷心希望本指南为您提供了一个升级 RAC 环境的简明方法。现在,您已经升级到 Oracle 数据库 11g,可以开始尽情使用新一代数据库的功能了。

共7页: 上一页 [1] [2] [3] [4] [5] [6] 7 下一页

上一篇:Linux:用户群体的地域分布   下一篇:RadeonHD开源驱动1.0版正式发布!

收藏于收藏夹】 【评论】 【推荐】 【打印】 【关闭
相关文档
·巧用sqlldr的WHEN判断加载数据到不同的表
·快速解决 Oracle数据库中 汉字长度的问题
·掌握Oracle数据库密码文件的使用和维护
·一个四用户信息同步更新的“存储过程”
·详细讲解优化Oracle停机时间及数据库恢复
·快速解决Oracle数据库中的ORA-604错误
·教你轻松掌握Oracle数据库控制文件的重建
·解决Oracle非法数据库对象引起的错误
·Oracle9i中如何监视索引并清除监视信息
·在Oracle中使用自治事务保存日志表条目
·巧用Flashback database功能恢复用户错误
·如何创建访问非"Oracle文件"的外部表格
·Oracle中pfile和spfile之间的联系与区别
·如何使用RMAN和dbv检查数据文件中的坏块
·Oracle数据库中的Instance和数据库的区别
·教你如何在数据字典中修改Oracle的表列名
发表评论
密码: 匿名评论
评论内容:

(不超过250字,需审核后才会公布,请自觉遵守互联网相关政策法规)
 
  最新文档
·关于Oracle将目标数据库设为归档模式应
·Linux下OCI基础:配置Instant Client连
·Oracle中被锁定的解决办法
·Oracle 11G 无法连接到数据库实例故障
·浅谈创建Oracle数据库连接的两种方法
·如何从Oracle技术支持获得更多
·Oracle数据库中安全知识介绍
·Oracle推出Linux服务并不成功
·Oracle专用服务器的内存结构分布原则
·如何在RAC环境下修改Oracle字符集
·Oracle过程中执行动态SQL或DDL语句
·2008年Oracle错误、备份、升级等最热门
  阅读排行
·详解远程SHELL下安装配置RedHat ES 5的
·Ubuntu上安装Oracle 10G及相关配置
·Oracle高级复制(同步复制)配置步骤详细
·如何修改遗失的MySQL的ROOT用户密码
·Redhat Linux AS4 安装Oracle 10g(包括
·Linux下OCI基础:配置Instant Client连
·解决启动数据库时发生的ORA-12528错误
·Oracle 10g表空间创建的完整步骤
·centos 5.0中成功安装Oracle10g (1020
·如何在RAC环境下修改Oracle字符集
·Oracle数据库导入导出方法的个人总结
·巧用Oracle执行计划机制提高查询性能
·Oracle 10g 在AIX 5.3上安装过程笔记
·Linux真机环境Oracle 10gR2 RAC 安装完
·教你如何将MySQL数据库的密码恢复
网摘收藏: