RAC实例 表空间 维护

先配置一下监听,这样我们就可以从客户端进行连接了。 我这里写了三种连接。 第一种是正常方式,一般都采用这种方式,后面的rac1和rac2 是方便测试。因为如果用第一种方式的话,客户端连哪个实例是随机的,不好进行控制,除非手动的关闭某个实例,让Oracle 漂过去,那样有点麻烦。 我就又多添加了2个监听,分别对应实例1和实例2.  配置这2个监听的时候,要注意Service_name 这个参数,也是orcl. 即全局名。 不是对应的实例名。

Oracle 实例监听:

RAC =

(DESCRIPTION =

(ADDRESS_LIST =

(ADDRESS = (PROTOCOL = TCP)(HOST = 10.85.10.1)(PORT = 1521))

(ADDRESS = (PROTOCOL = TCP)(HOST = 10.85.10.2)(PORT = 1521))

)

(CONNECT_DATA =

(SERVICE_NAME = orcl)

(FAILOVER_MODE =

(TYPE = session)

(METHOD = basic)

(RETRIES = 180)

(DELAY = 5)

)

)

)

Rac1 =

(DESCRIPTION =

(ADDRESS_LIST =

(ADDRESS = (PROTOCOL = TCP)(HOST = 10.85.10.1)(PORT = 1521))

)

(CONNECT_DATA =

(SERVICE_NAME = orcl)

)

)

Rac2 =

(DESCRIPTION =

(ADDRESS_LIST =

(ADDRESS = (PROTOCOL = TCP)(HOST = 10.85.10.2)(PORT = 1521))

)

(CONNECT_DATA =

(SERVICE_NAME = orcl)

)

)

ASM 实例监听配置,手动的修改tnsnames.ora 文件。

如何配置从远程客户端 来访问ASM 实例,参考Blog:

远程客户端 访问 ASM 实例

http://blog.csdn.net/tianlesoftware/archive/2010/09/23/5901749.aspx

在这里做一下说明, RAC 的数据文件和控制文件都是放在共享设备上的,所以添加数据文件或对数据文件做修改时,只需要在一个节点上进行就可以了。

一.   用别名管理数据文件

1.1   查看已经存在的数据文件:

C:/Users/Administrator.DavidDai>sqlplus /nolog

SQL*Plus: Release 11.2.0.1.0 Production on 星期四 9月

Copyright (c) 1982, 2010, Oracle.  All rights reserved

SQL> conn sys/[email protected] as sysdba;

已连接。

SQL> select file_name from dba_data_files;

FILE_NAME

------------------------------------------------------

+DATA/orcl/datafile/users.279.730181053

+DATA/orcl/datafile/sysaux.277.730181053

+DATA/orcl/datafile/undotbs1.278.730181053

+DATA/orcl/datafile/system.276.730181051

+DATA/orcl/datafile/undotbs2.284.730181347

ASM文件名字的格式是固定的:+group/dbname/file type/tag.file.incarnation

在创建db时系统自动创建的几个表空间(system,undotbs,sysaux,users)对应的都是真实的数据文件,即ASM 文件默认的命名格式。而且这个信息都写到了控制文件里。 如果我们使用别名的话,会方便很多。 对于这些创建数据库时自动创建的表空间,我们要他们使用别名,除了手工创建对应别名外,还需要重建控制文件,并且在重建时,datafile 里写别名的信息。 这样数据库也就使用别名了。

1.2  创建一个别名

注意: 别名的相关操作都要连接到ASM实例进行。 这也是我们前面配置ASM 监听的原因。

C:/Users/Administrator.DavidDai>sqlplus /nolog

SQL*Plus: Release 11.2.0.1.0 Production on 星期四 9月 23 12:07:24 2010

Copyright (c) 1982, 2010, Oracle.  All rights reserved.

SQL> conn sys/[email protected] AS SYSDBA

已连接。

SQL> select name from v$asm_diskgroup;

NAME

-------------------------------------------

DATA

FLASH_RECOVERY_AREA

1.2.1 使用全路径来创建

SQL> ALTER DISKGROUP DATA ADD ALIAS ‘+DATA/orcl/datafile/undotbs1.dbf‘

FOR ‘+DATA/orcl/datafile/undotbs1.278.730181053‘;

1.2.2 使用数据文件的编号来创建

这里的编号就最后几个数字,在下面这个文件里,编号就是:284.730181347

+DATA/orcl/datafile/undotbs2.284.730181347

看一下创建SQL:

SQL> ALTER DISKGROUP DATA ADD ALIAS ‘+DATA/orcl/datafile/undotbs2.dbf‘

2    FOR ‘+DATA.284.730181347‘;  -- 注意这里的格式

磁盘组已变更。

来查看别名的信息,这里要用asmcmd命令:

[[email protected] admin]$ export ORACLE_SID=+ASM1

[[email protected] admin]$ asmcmd

ASMCMD> pwd

+DATA/ORCL/DATAFILE

ASMCMD> ls -a

+DATA/ORCL/DATAFILE/dave.dbf => DAVE.288.730415847

none => SYSAUX.257.729962649

none => SYSAUX.261.729964001

none => SYSAUX.266.729966263

none => SYSAUX.270.729970051

none => SYSAUX.277.730181053

none => SYSTEM.256.729962647

none => SYSTEM.260.729963993

none => SYSTEM.265.729966263

none => SYSTEM.269.729970045

none => SYSTEM.276.730181051

none => UNDOTBS1.258.729962649

none => UNDOTBS1.262.729964005

none => UNDOTBS1.267.729966265

none => UNDOTBS1.271.729970057

+DATA/ORCL/DATAFILE/undotbs1.dbf => UNDOTBS1.278.730181053

+DATA/ORCL/DATAFILE/undotbs2.dbf => UNDOTBS2.284.730181347

none => USERS.259.729962651

none => USERS.263.729964005

none => USERS.268.729966267

none => USERS.272.729970063

none => USERS.279.730181053

dave.dbf

undotbs1.dbf

undotbs2.dbf

在这里,我们看到别名和数据文件的对应关系,我们创建的所有数据文件都有对应的ASM 文件。我们可以使用别名来与之对应,但是创建DB时创建的表空间没有对应的别名与之对应。 这个就是我之前说的,要修改这个默认设置就需要重建控制文件。

1.3 重命名别名

SQL> ALTER DISKGROUP DATA RENAME ALIAS ‘+DATA/orcl/datafile/undotbs1.dbf‘ TO ‘+DATA/orcl/datafile/undotbs3.dbf‘;

磁盘组已变更。

1.4 删除别名

SQL>  ALTER DISKGROUP DATA DROP ALIAS  ‘+DATA/orcl/datafile/undotbs3.dbf‘;

磁盘组已变更。

-- 这里要说明一下,很多资料说是用delete 关键字。 其实这里用的是drop 关键字

1.5 用别名来删除文件

ALTER DISKGROUP DATA DROP FILE ‘+DATA/ORCL/DATAFILE/undotbs3.dbf‘;

1.6 根据数据文件的文件号来删除文件

ALTER DISKGROUP DATA DROP FILE ‘ DATA.342.3‘;

1.7 用完整文件路劲删除文件

ALTER DISKGROUP DATA DROP FILE ‘ DATA /orcl/datafile/dave.342.3‘;

这部分内容可以参考Oracle 联机文档:

http://download.oracle.com/docs/cd/E11882_01/server.112/e16102/asmfiles.htm#CHDDHIGG

二. 数据文件管理

2.1. 创建表空间

和单实例的相同,只不过文件路劲写成ASM的路劲:

SQL> CREATE TABLESPACE DaveHomeTown DATAFILE  ‘+DATA/orcl/datafile/AnhuiAnqing.dbf‘ SIZE 10M;

表空间已创建。

SQL> select file_name from dba_data_files;

FILE_NAME

--------------------------------------------------------------------------------

+DATA/orcl/datafile/users.279.730181053

+DATA/orcl/datafile/sysaux.277.730181053

+DATA/orcl/datafile/undotbs1.278.730181053

+DATA/orcl/datafile/system.276.730181051

+DATA/orcl/datafile/undotbs2.284.730181347

+DATA/orcl/datafile/dave.dbf

+DATA/orcl/datafile/anhuianqing.dbf

已选择7行。

我是在节点1上创建的。 前面已经说过,因为它是共享的,所以在节点2上也能查询到。

如果遇到如下错误:

ORA-00569: Failed to acquire global enqueue.

Cause: A prior error occurred on one of the instances in the cluster. Typically errors are caused by shared pool resource contention.

Action: Check for and resolve prior errors on all instances in the cluster. If there is shared pool resource contention, increase the SHARED_POOL_SIZE, DML_ LOCKS, PROCESSES, TRANSACTIONS, CLUSTER_DATABASE_INSTANCES and PARALLEL_MAX_SERVERS initialization parameters.

就检查一下ASM的相关参数。

Oracle ASM 详解

http://blog.csdn.net/tianlesoftware/archive/2010/02/22/5314541.aspx

2.2            修改数据文件大小

默认情况下,user 表空间是5M, 我们来把它改成10M。

SQL> ALTER DATABASE DATAFILE ‘+DATA/orcl/datafile/users.279.730181053‘ RESIZE 10M;

数据库已更改。

现在设置表空间的自动扩展属性:

SQL> ALTER DATABASE DATAFILE ‘+DATA/orcl/datafile/users.279.730181053‘

2  AUTOEXTEND ON

3  NEXT 10M

4  MAXSIZE UNLIMITED;

数据库已更改。

2.3 表空间添加数据文件

SQL> ALTER TABLESPACE DAVE ADD DATAFILE ‘+DATA/orcl/datafile/dave2.dbf‘ SIZE 10M AUTOEXTEND ON NEXT 10M MAXSIZE 20M;

表空间已更改。

2.4 删除数据文件

SQL> ALTER TABLESPACE DAVE DROP DATAFILE ‘+DATA/orcl/datafile/dave2.dbf‘;

表空间已更改。

2.5. 删除表空间

SQL> drop tablespace dave including contents and datafiles;

表空间已删除。

转:http://blog.csdn.net/tianlesoftware/article/details/5901953

时间: 2024-10-07 22:03:25

RAC实例 表空间 维护的相关文章

oracle12c之 表空间维护总结

1.1.创建永久表空间 In the CDB:SQL> CONNECT [email protected]SQL> CREATE TABLESPACE cdb_users DATAFILE'/home/oracle/app/oracle/oradata/andycdb/cdb_users01.dbf'SIZE 5Mautoextend offsegment space management auto extent management local; In the PDB:SQL> CON

Oracle表空间维护总结

1. 概念:表空间:最大的逻辑存储文件,与物理上的一个或多个数据文件对应,每个数据库至少拥有一个表空间,表空间的大小等于构成表空间的所有数据文件的大小总和,用于存储用户在数据库中存储的所有内容. 2. 种类:分为基本表空间.临时表空间.大文件表空间.非标准数据块表空间和撤销表空间.基本表空间:用于存储用户的永久性数据临时表空间:排序.汇总时产生的临时数据大文件表空间:存储大型数据,如LOB非标准数据块表空间:创建数据块大小不同的表空间撤销表空间:存储事务的撤销数据,在数据恢复时使用 3. 系统默

oracle表空间维护常用命令

---查看表空间的名字及文件所在位置: select tablespace_name, file_id, file_name,round(bytes/(1024*1024),0) total_space from dba_data_files order by tablespace_name ---如何查看oracle表空间是否自动扩展 (increment_by是块数[8192byte/块]) select file_name,tablespace_name,bytes/1024/1024 "

Oracle Rac创建表空间及用户

1. 创建表空间: BEGIN DECLARE cnt integer := 0; BEGIN SELECT 1 INTO cnt FROM dual WHERE exists(SELECT * FROM user_tablespaces WHERE tablespace_name = UPPER(TRIM('TEST'))); IF cnt != 0 THEN DECLARE s VARCHAR2(500); BEGIN s := 'DROP TABLESPACE TEST INCLUDING

oracle数据库-表空间基础语法及举例

数据库的存储结构 数据库主要用于存储和检索相关的信息,Oracle数据库包含逻辑结构和物理结构. 物理结构是指现实存储单元,由一组文件组成如数据文件.日志文件.控制文件. 数据文件:用于存储数据的文件.如表,索引和数据等都存储在数据文件中. 日志文件:用于记录对数据库的修改信息. 控制文件:用于存储 Oracle实例信息.数据文件信息和日志文件信息的二进制文件.由于存储了数据文件和日志文件的信息,所以 Oracle启动时必须访问呢控制文件. 逻辑结构式是指数据概念性的组织.包括  表空间.表.行

Oracle Temp 表空间切换

一.TEMP表空间作用 临时表空间主要用途是在数据库进行排序运算.管理索引.访问视图等操作时提供临时的运算空间,当运算完成之后系统会自动清理.当 oracle 里需要用到 sort 的时候, PGA 中 sort_area_size 大小不够时,将会把数据放入临时表空间里进行排序,同时如果有异常情况的话,也会被放入临时表空间 , 正常来说,在完成 Select 语句.create index 等一些使用 TEMP 表空间的排序操作后, Oracle 是会自动释放掉临时段的.注意这里的释放,仅仅是

【DB2】表空间相关详细说明

-.创建表空间 1.创建用户表空间 声明:在指定表空间创建路径的时候,需要指定空文件夹,非空文件夹会导致创建报错!!!如果文件夹不存在,那么在创建表空间的时候会自动创建文件夹! 1.1 创建SMS表空间 CREATE TABLESPACE <NAME> MANAGED BY SYSTEM USING ('<path>') 例子:db2 "create tablespace tbs1 managed by system using ('/db2home/db2inst1/d

Oracle以及SDE维护常用命令-查看表空间等

之前现场反馈一个数据更新的问题,查看感觉是因为表空间满了导致的(错误在之前的博客随笔中写过),因此远程对服务器进行查看.个人平常都是通过Oracle客户端的Entreprise Manager Console进行查看的,但是发现服务器上只安装了Oracle服务端并且不能正常进行网页登录查看. 因此到网上查了一下查看Oracle表空间使用情况的查询语句,通过PLSQL进行查询查看,在这里记录一下,另外附几个常用的Oracle以及SDE命令. 查看表空间的使用情况(解决此次问题使用) select

数据库、实例、表空间、用户、权限

数据库:Oracle数据库是数据的物理存储.这就包括(数据文件ORA或者DBF.控制文件.联机日志.参数文件).其实Oracle数据库的概念和其它数据库不一样,这里的数据库是一个操作系统只有一个库.可以看作是Oracle就只有一个大数据库. 实  例:一个数据库有多个实例,实例是运行着的,动态的.一组Oracle 后台进程/线程以及一个共享内存区,这些内存由同一个计算机上运行的线程/进程所共享.这里可以维护易失的.非持久性内容(有些可以刷新输出到磁盘).就算没有磁盘存储,数据库实例也能存在.也许