十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
(1)添加磁盘。
网站建设哪家好,找创新互联!专注于网页设计、网站建设、微信开发、微信平台小程序开发、集团企业网站建设等服务项目。为回馈新老客户创新互联还提供了永善免费建站欢迎大家使用!
(2)fdisk格式化。
(3)加载已更新的块设备分区表(在rac的两台机器上执行)(机器可以发现磁盘)
(4)授权。(使oracle用户和响应的组拥有权限)
(5)给磁盘组添加磁盘。(添加到asm磁盘组)
具体举例:
su - grid
sqlplus / as sysasm
alter diskgroup data add disk '/dev/mapper/data15p1'(你格式化后的磁盘)
(6)检查
su - grid
asmcmd
lsdg
既然是LVM管理的, 那么扩容非常容易.
比如你要把/oracledata的空闲的49G分10G给/opt:
/oracledata的目标大小是87G, /opt的目标大小是39G
先检查一遍# e2fsck /dev/mapper/VolGroup00-LogVol02缩小/oracledata的文件系统大小, 先缩小到80G, 使它小于87G, 以防缩小分区导致文件系统损坏# resize2fs /dev/mapper/VolGroup00-LogVol02 80G然后缩小分区的大小# lvresize -L -10G /dev/mapper/VolGroup00-LogVol02然后增大文件系统的大小, 使其充满分区# resize2fs /dev/mapper/VolGroup00-LogVol02增大/opt分区的大小# lvresize -L +100%FREE /dev/mapper/VolGroup00-LogVol01使文件系统充满分区# resize2fs /dev/mapper/VolGroup00-LogVol01完成.
另外, 你看看系统带的图形化分区工具有没有这个功能, 有的话就不用这么麻烦了, 点点鼠标就好了.
1、BLOCKSIZE决定了datafile的最大值;
一个表空间数据文件存64G
2、alter system set db_16k_cache_size=16M scope=both;
BLOCKSIZE 16k;一个表空间数据文件可以存64G
3、一个表空间可以增加多个datafile,以扩展表空间
4、实例
nm=`date +%Y%m`
vts_src=VDATA_TS_${nm}
vdata_ts1=/data1/oracle/vdata_ts_${nm}_1.dbf
vdata_ts2=/data1/oracle/vdata_ts_${nm}_2.dbf
CREATE TABLESPACE $vts_src DATAFILE '$vdata_ts1' SIZE 512M AUTOEXTEND ON NEXT 256M MAXSIZE UNLIMITED BLOCKSIZE 16k;
alter TABLESPACE $vts_src add DATAFILE '$vdata_ts2' SIZE 512M AUTOEXTEND ON NEXT 256M MAXSIZE UNLIMITED;
Oracle 10g表空间自动扩容修改方法:
方法一:管理界面em
命令:
ALTER TABLESPACE "TBS_NAME" ADD DATAFILE 'C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\ex_data' SIZE 10240M AUTOEXTEND ON NEXT 50M MAXSIZE UNLIMITED ;
注:该命令修改原来的表空间。
数据文件名:ex_data
Oracle目录:C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL
表空间名:TBS_NAME
文件大小 :10240M(不要重用现有文件)
数据文件满后自动扩展 (AUTOEXTEND) :增量50M
最大文件大小: 无限制
管理界面em: 用em扩容,找到相应的表空间,然后“添加数据文件” ,填写以上内容。
方法二:
ALTER DATABASE DATAFILE 'C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\ex_data' AUTOEXTEND ON NEXT 50M
注:该方法是不修改原来表空间的前提下进行的。
背景:
当通过ORACLE中的create table ... as select 语句创建一张新表时,新表的数据量为比较大,如10亿,这时SQL*Plus很可能就会提示“ORA-01653: ...”错误信息。这个错误信息暗示表空间大小不够,需要为表空间增加数据文件。
分析:
1. 查询表空间剩余字节大小
SELECT TABLESPACE_NAME, SUM(BYTES)/1024/1024 AS "FREE SPACE(M)"
FROM DBA_FREE_SPACE
WHERE TABLESPACE_NAME = 'tablespace_name'
GROUP BY TABLESPACE_NAME;
注:如果是临时表空间,请查询DBA_TEMP_FREE_SPACE
SELECT TABLESPACE_NAME, FREE_SPACE/1024/1024 AS "FREE SPACE(M)"
FROM DBA_TEMP_FREE_SPACE
WHERE TABLESPACE_NAME = 'tablespace_name';
2. 如果不知道表空间数据文件目录规划,可以先查询出表空间所有数据文件
SELECT TABLESPACE_NAME, FILE_ID, FILE_NAME, BYTES/1024/1024 AS "BYTES(M)"
FROM DBA_DATA_FILES
WHERE TABLESPACE_NAME = 'tablespace_name';
注:如果是临时表空间,请查询DBA_TEMP_FILES
SELECT TABLESPACE_NAME, FILE_ID, FILE_NAME, BYTES/1024/1024 AS "SPACE(M)"
FROM DBA_TEMP_FILES
WHERE TABLESPACE_NAME = 'tablespace_name';
3. 为空间不足的表空间增加数据文件
ALTER TABLESPACE tablespace_name ADD DATAFILE 'datafile_name' SIZE 2G;
注:如果要为临时表空间扩容,使用下面的语句
ALTER TABLESPACE tablespace_name ADD TEMPFILE 'datafile_name' SIZE 2G;
oracle10g数据库扩充表空间是通过增加数据文件的大小来实现的。
如果发现某个表空间存储空间不足时,可以为表空间添加新的数据文件,扩展表空间大小。但是一般建议预先估计表空间所需的存储空间大小,然后为它建立若干适当大小的数据文件。
以下是扩大TBS_TR_IND这个表空间的sql命令:
ALTER
TABLESPACE
TBS_TR_IND
ADD
DATAFILE
'/oradata/rTBS_TR_IND_002.dbf'
--给rTBS_TR_IND_002.dbf这个数据文件增加32G空间
SIZE
32G
AUTOEXTEND
OFF;
SQL
ALTER
TABLESPACE
TBS_EDS_DAT
ADD
DATAFILE
'G:\datafile\TBS_EDS_DAT01.DBF'
--给TBS_EDS_DAT01.DBF增加100M空间
SIZE
100M