oracle表空间不写日志,oracle表空间+增添数据文件+日志文件

oracle表空间+添加数据文件+日志文件

oracle表空间+添加数据文件+日志文件

1.mount状态下查看数据文件,临时文件,日志文件

SQL> select file#,name,status,bytes/1024/1024 from v$datafile;   --默认是4个数据文件

FILE# NAME STATUSBYTES/1024/1024

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

1  /u01/oradata/tinadb/system01.dbf  SYSTEM    710

2  /u01/oradata/tinadb/sysaux01.dbf  ONLINE    610

3  /u01/oradata/tinadb/undotbs01.dbf  ONLINE     90

4  /u01/oradata/tinadb/users01.dbf  ONLINE      5

SQL> select file#,name,status,bytes/1024/1024 from v$tempfile;  --默认是1个临时文件

1  /u01/oradata/tinadb/temp01.dbf  ONLINE     29

sql>select * from v$logfile;   --默认是3个日志文件,大小是50m

GROUP# STATUS  TYPE    MEMBER IS_RECOVERY_DEST_FILE

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

3   ONLINE   /u01/oradata/tinadb/redo03.log  NO

2   ONLINE   /u01/oradata/tinadb/redo02.log  NO

1   ONLINE   /u01/oradata/tinadb/redo01.log  NO

SQL> select group#,thread#,members,archived,status,bytes/1024/1024 from v$log; ---还有一个v$log视图(日志还有日志组,日志组成员member的概念,具体可以查一下百度)

GROUP#    THREAD#    MEMBERS ARCHIVED STATUS           BYTES/1024/1024

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

1          1          1 YES      INACTIVE                      50

2          1          1 YES      INACTIVE                      50

3          1          1 NO       CURRENT                       50

SQL> select * from v$tablespace;  --默认是5个表空间,每个表空间一个数据文件

TS# NAME   INC BIG FLA ENC

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

0 SYSTEM  YES NO  YES

1 SYSAUX  YES NO  YES

2 UNDOTBS1YES NO  YES

4 USERS  YES NO  YES

3 TEMP   NO  NO  YES

2.open状态下查看数据文件,临时文件,日志文件

SQL> select file_id,tablespace_name,bytes/1024/1024,status,autoextensible,increment_by from dba_data_files;

FILE_ID TABLESPACE_NAME  BYTES/1024/1024 STATUS    AUT INCREMENT_BY

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

4 USERS    5   AVAILABLE YES 160

3 UNDOTBS1    90  AVAILABLE YES 640

2 SYSAUX      610 AVAILABLE YES 1280

1 SYSTEM      710 AVAILABLE YES 1280   ---都是自动扩展的

SQL> select file_id,tablespace_name,bytes/1024/1024,status,autoextensible,increment_by from dba_temp_files;

FILE_ID TABLESPACE_NAME  BYTES/1024/1024 STATUS  AUT INCREMENT_BY

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

1 TEMP        29 ONLINE  YES80

3.查看某个表空间的大小

select maxbytes/1024/1024/1024 from dba_data_files where tablespace_name='BASE_DATA';

MAXBYTES/1024/1024/1024

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

933.571289  900多个g   现在已经用了850多个g  差不多91%,要改成85%     后来变成了1200g

查看所有表空间的使用情况

select  a.tablespace_name,a.bytes/1024/1024 "Sum MB",(a.bytes-b.bytes)/1024/1024   "used MB",b.bytes/1024/1024 "free MB",round(((a.bytes-b.bytes)/a.bytes)*100,2) "percent_used"

from  (select tablespace_name,sum(bytes) bytes from dba_data_files group by tablespace_name)   a,

(select tablespace_name,sum(bytes) bytes,max(bytes) largest from dba_free_space group by tablespace_name)   b

where   a.tablespace_name=b.tablespace_name

order   by   ((a.bytes-b.bytes)/a.bytes)   desc;

4.给表空间添加数据文件

说明:如果是ASM,那么就填写相应的路径,如'+DATA_DG' '+FRA_1'之类的。

如果是文件系统,那么就直接指向直接路径即可。

ASM 环境下,add tablespace 加datafile ,可以使用自动扩展,next size 100M

文件系统,尽量不要开自动扩展,因为可能会导致磁盘使用100%,直接指定固定值即可。

4.1 大文件表空间添加数据文件:

查看是否是大文件表空间

select tablespace_name, bigfile from dba_tablespaces where tablespace_name='';

添加

alter tablespace BASE_DATA add datafile '+DATA1' size 30g autoextend on next 100m maxsize 500m;

--ORA-32771:cannot add file to bigfile tablespace   bigfile tablespace 大文件表空间只能有一个数据文件。

alter tablespace BASE_DATA autoextend on next 100m maxsize 1200g;    bigfile

只有一个数据文件,每次自动扩展100m,整个数据文件最终达到1.2T

4.2 普通表空间添加数据文件

alter database datafile '' size 20g autoextend on next 100m maxsize 1000m;     smallfile

当前大小:20g 下次扩展100m,可以扩展10次,到1000m,就不可以扩展。

自动扩展100m -----12800

4.3 裸设备添加数据文件

(1)列出所有VG

root@ossrac1:/>lsvg

rootvg

datavg01

datavg02

datavg03

datavg04

mndhb_vg_01

mndhb_vg_02

mndhb_vg_03

arch1vg

datavg05

datavg06

ggvg

(2)找出VG中没有当前被使用的lv

root@ossrac1:/>lsvg -l datavg06 | grep close

lsvg -l datavg04 | grep close

v_mb0631_16g        raw        32      32      4    closed/syncd  N/A

v_mb0637_16g        raw        32      32      4    closed/syncd  N/A

v_mb0638_16g        raw        32      32      4    closed/syncd  N/A

v_mb0639_16g        raw        32      32      4    closed/syncd  N/A

v_mb0640_16g        raw        32      32      4    closed/syncd  N/A

v_mb0641_16g        raw        32      32      4    closed/syncd  N/A

(3)查看LV的大小,LV的大小为 * ,该LV的小为512M*32=16G ,核查状态是否为“closed/syncd“

root@ossrac1:/>lslv v_mb0631_16g

LOGICAL VOLUME:     v_mb0631_16g           VOLUME GROUP:   datavg06

LV IDENTIFIER:      00cc885100004c000000013a1a12f671.335 PERMISSION:     read/write

VG STATE:           active/complete        LV STATE:       closed/syncd

TYPE:               raw                    WRITE VERIFY:   off

MAX LPs:            512                    PP SIZE:        512 megabyte(s)

COPIES:             1                      SCHED POLICY:   striped

LPs:                32                     PPs:            32

STALE PPs:          0                      BB POLICY:      relocatable

INTER-POLICY:       maximum                RELOCATABLE:    no

INTRA-POLICY:       middle                 UPPER BOUND:    4

MOUNT POINT:        N/A                    LABEL:          None

MIRROR WRITE CONSISTENCY: on/ACTIVE

EACH LP COPY ON A SEPARATE PV ?: yes (superstrict)

Serialize IO ?:     NO

STRIPE WIDTH:       4

STRIPE SIZE:        128k

DEVICESUBTYPE : DS_LVZ

COPY 1 MIRROR POOL: None

COPY 2 MIRROR POOL: None

COPY 3 MIRROR POOL: None

(4)查看裸设备的权限,注意在LV的名称前做个一个”r”

root@ossrac1:/>ls -l /dev/rv_mb0631_16g

crw-rw----    1 oracle   dba          48,335 Sep 07 00:30 /dev/rv_mb0631_16g

(5)登陆库核查该裸设备有没有被使用

select * from dba_data_files f where f.file_name like '%v_mb0631_16g%'

select * from dba_temp_files f where f.file_name like '%v_mb0631_16g%';

(6)如上一步没有返回记录,则可使用, 文件大小为LV的大小减去32M,16*1024 – 32 = 16352

alter tablespace  UNDOTBS4  add datafile '/dev/rv_mb0631_16g ' size 16352M autoextend off;

5.添加日志组,日志组添加成员

注意,只有当日志组状态为INACTIVE时,才可以对该组进行操作,当然你也可以切换一下:

alter system switch logfile;

alter database add  logfile  group 4 '/u01/oradata/tinadb/redo04.log' size 500m;

alter database add standby logfile  group 4 '/u01/oradata/tinadb/redo04.log' size 500m;   ---如果有standb db,那么那边也需要一同添加

alter database drop logfile group 3;  --删除组

alter database add logfile member '/u01/oradata/tinadb/redo04_2.log' to group 4;

alter database drop logfile member '/u01/oradata/tinadb/redo04_2.log'; --删除组成员

6.查看表空间的使用率

set linesize 256

with ta as

(select tablespace_name, sum(decode(MAXBYTES,0 ,BYTES,MAXBYTES)) / 1024 / 1024 as file_mb

from dba_data_files

group by tablespace_name),

tb as

(select tablespace_name, sum(bytes) / 1024 / 1024 as seg_mb

from dba_segments

group by tablespace_name)

select ta.tablespace_name,

ta.file_mb,

tb.seg_mb,

Ta.file_mb-tb.seg_mb as free_mb,

round(seg_mb * 100 / file_mb) / 100 as usepecent,

round(seg_mb/0.8-file_mb) as needadd

from ta, tb

where ta.tablespace_name = tb.tablespace_name

order by usepecent desc;

7.修改自动扩展为100M

查看哪些数据文件开了自动扩展:--自动扩展的数据文件最大会扩展到32g

select file_name,autoextensible,increment_by from dba_data_files where autoextensible='YES';

select 'alter database datafile '''|| file_name || ''' autoextend on next 100m ;' from dba_data_files  where autoextensible = 'YES'  and increment_by < 12800;

alter database datafile '/u01/oradata/tinadb/users01.dbf' autoextend on next 100m;

8.创建新用户

创建单独的表空间

SQL> create tablespace ts_tina datafile '/u01/oradata/tinadb/ts_tina01.dbf' size 500m;

Tablespace created.

创建用户

SQL> create user tina identified by tina123 default tablespace ts_tina temporary tablespace temp;

User created.

授权

SQL> grant dba to tina;

Grant succeeded.

修改默认表空间

SQL> alter database default tablespace ts_tina;

Database altered.

9.Undo切换成表空间tbs2:

SQL>  CREATE UNDO TABLESPACE UNDOTBS2 DATAFILE '+DATA_DG' SIZE 2000M AUTOEXTEND ON NEXT 100M;

Tablespace created.

SQL>  alter system set undo_tablespace='UNDOTBS2' scope=both;

System altered.

10.查询表所属于的表空间,注意对象名在数据库中是以大写存放的。

SQL>  select owner,table_name,tablespace_name from dba_tables where table_name=upper('ti_vms_driving_log_bak');

OWNER                          TABLE_NAME                     TABLESPACE_NAME

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

VMS                            TI_VMS_DRIVING_LOG_BAK         TB_VMS

11.查询整个库的大小:

select sum(bytes)/1024/1024/1024 from dba_segments;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值