You are on page 1of 11

ORACLE

2015-04-04 16:56 348 (0)

ORACLE

Segment os file

1.1

SYSTEM
SYSAUX
USERS
UNDOTBS1
EXAMPLE
TEMP

SYSTEMSYSAUXTEMPUNDO USERSEXAMPLE

1.2



UNDO

1.3

3 8

2
1: CREATE TABLESPACE TBS_TR_DATA
2: DATAFILE '/oradata/rTBS_TR_DATA_001.dbf'
3: SIZE 64G
4: EXTENT MANAGEMENT LOCAL
5: SEGMENT SPACE MANAGEMENT AUTO ONLINE;
6:
7:
8:
9: ALTER TABLESPACE TBS_TR_DATA
10: ADD DATAFILE '/oradata/rTBS_TR_DATA_002.dbf'
11: SIZE 64G
12: AUTOEXTEND OFF;

3.1

--
SELECT * FROM DBA_TABLESPACES

--
SELECT * FROM USER_TABLESPACES

--
SELECT * FROM V$TABLESPACE;

--
SELECT * FROM DBA_DATA_FILES

--
SELECT * FROM DBA_TEMP_FILES

--
SELECT * FROM V$DATAFILE

--
SELECT * FROM V$TEMPFILE

3.1.1 TEMP

1: SQL> SELECT PROPERTY_NAME, PROPERTY_VALUE


2:
3: 2 FROM DATABASE_PROPERTIES
4:
5: 3 WHERE PROPERTY_NAME='DEFAULT_TEMP_TABLESPACE'
6:
7: 4 ;
8:
9: PROPERTY_NAME PROPERTY_VALUE
10:
11: ------------------------------ ----------------------------
12:
13: DEFAULT_TEMP_TABLESPACE TEMP

1: SELECT USERNAME, DEFAULT_TABLESPACE FROM DBA_USERS


3.1.2

1: SQL> SELECT PROPERTY_NAME, PROPERTY_VALUE


2:
3: 2 FROM DATABASE_PROPERTIES;
4:
5: PROPERTY_NAME PROPERTY_VALUE
6:
7: ------------------------------ ------------------
8:
9: DEFAULT_TEMP_TABLESPACE TEMP
10:
11: DEFAULT_PERMANENT_TABLESPACE USERS
3.1.3

DEFAULT_TBS_TYPE

1: SQL>
2:
3: SQL> SELECT PROPERTY_NAME, PROPERTY_VALUE
4:
5: 2 FROM DATABASE_PROPERTIES
6:
7: 3 WHERE PROPERTY_NAME='DEFAULT_TBS_TYPE';
8:
9: PROPERTY_NAME PROPERTY_VALUE
10:
11: ------------------------------ ------------------
12:
13: DEFAULT_TBS_TYPE SMALLFILE
3.1.4

SELECT * FROM DBA_TABLESPACES

3.1.5

/UNDO
SELECT * FROM DBA_DATA_FILES;

SELECT * FROM V$TEMPFILE;

3.1.6
--SQL 1:
1: SELECT A.TABLESPACE_NAME AS TABLESPACE_NAME,
2: ROUND(A.BYTES/(1024*1024*1024),2) AS "TOTAL(G)" ,
3: ROUND(B.BYTES/(1024*1024*1024),2) AS "USED(G)" ,
4: ROUND(C.BYTES/(1024*1024*1024),2) AS "FREE(G)" ,
5: ROUND((B.BYTES * 100) / A.BYTES,2) AS "% USED" ,
6: ROUND((C.BYTES * 100) / A.BYTES,2) AS "% FREE"
7: FROM SYS.SM$TS_AVAIL A, SYS.SM$TS_USED B, SYS.SM$TS_FREE C
8: WHERE A.TABLESPACE_NAME = B.TABLESPACE_NAME
9: AND A.TABLESPACE_NAME = C.TABLESPACE_NAME;
()
1: SELECT UPPER(F.TABLESPACE_NAME) AS "",
2: ROUND(D.AVAILB_BYTES ,2) AS "(G)",
3: ROUND(D.MAX_BYTES,2) AS "(G)",
4: ROUND((D.AVAILB_BYTES - F.USED_BYTES),2) AS "(G)",
5: TO_CHAR(ROUND((D.AVAILB_BYTES - F.USED_BYTES) / D.AVAILB_BYTES * 100,
6: 2), '999.99') AS "",
7: ROUND(F.USED_BYTES, 6) AS "(G)",
8: F.MAX_BYTES AS "(M)"
9: FROM (
10: SELECT TABLESPACE_NAME,
11: ROUND(SUM(BYTES) / (1024 * 1024 * 1024), 6) USED_BYTES,
12: ROUND(MAX(BYTES) / (1024 * 1024 * 1024), 6) MAX_BYTES
13: FROM SYS.DBA_FREE_SPACE
14: GROUP BY TABLESPACE_NAME) F,
15: (SELECT DD.TABLESPACE_NAME,
16: ROUND(SUM(DD.BYTES) / (1024 * 1024 * 1024), 6) AVAILB_BYTES,
17: ROUND(SUM(DECODE(DD.MAXBYTES, 0, DD.BYTES, DD.MAXBYTES))/(1024*1024*1024),6) MAX_BYTES
18: FROM SYS.DBA_DATA_FILES DD
19: GROUP BY DD.TABLESPACE_NAME) D
20: WHERE D.TABLESPACE_NAME = F.TABLESPACE_NAME
21: ORDER BY 4 DESC

3.2

ORACLE 9i SYSTME
TEMP ORACLE 10/11g USERS. TEMP
ORACLE SQL

SQL>SELECT * FROM database_properties


WHERE PROPERTY_NAME = 'DEFAULT_PERMANENT_TABLESPACE';
SQL>SELECT * FROM database_properties
WHERE PROPERTY_NAME ='DEFAULT_PERMANENT_TABLESPACE'
ALTER DATABASE DEFAULT TABLESPACE

SQL>ALTER DATABASE DEFAULT TABLESPACE USER;

SQL>ALTER DATABASE DEFAULT TEMPORARY TABLESPACE TEMP;

SQL>ALTER USER USERNAM DEFAULT TABLESPACE NEW_TABLESPACE_NAME

SELECT USERNAME, DEFAULT_TABLESPACE FROM DBA_USERS

1 DEFAULT_PERMANENT_TABLESPACE

eg:
1: SQL> SELECT * FROM database_properties
2: 2 WHERE PROPERTY_NAME IN( 'DEFAULT_PERMANENT_TABLESPACE','DEFAULT_TEMP_TABLESPACE');
3:
4:
5: PROPERTY_NAME PROPERTY_VALUE DESCRIPTION
6: ---------------- -------------------------------- ------------------------------------------------------------
7: DEFAULT_TEMP_TABLESPACE TEMP Name of default temporary tablespace
8: DEFAULT_PERMANENT_TABLESPACE USERS Name of default permanent tablespace
9:
10:
11: SQL> CREATE USER U1 IDENTIFIED BY U1 DEFAULT TABLESPACE USERS;
12:
13:
14: SQL> SELECT USERNAME, DEFAULT_TABLESPACE, TEMPORARY_TABLESPACE FROM DBA_USERS WHERE USERNAME ='U1';
15:
16: USERNAME DEFAULT_TABLESPACE TEMPORARY_TABLESPACE
17: ------------------------------ ------------------------------ ------------------------------
18: U1
19:
20:
21: SQL> ALTER DATABASE DEFAULT TABLESPACE TEST1;
22:
23: Database altered
24:
25: U1 DEFAULT_TABLESPACE TEST1 1
26:
27: SQL> SELECT USERNAME, DEFAULT_TABLESPACE, TEMPORARY_TABLESPACE FROM DBA_USERS WHERE USERNAME ='U1';
28:
29: USERNAME DEFAULT_TABLESPACE TEMPORARY_TABLESPACE
30: ------------------------------ ------------------------------ ------------------------------
31: U1 TEST1 TEMP
32:

2 DB DB

USERS
1: SQL> ALTER DATABASE DEFAULT TABLESPACE USERS;
2:
3: Database altered
4:
5: SQL> CREATE USER U2 IDENTIFIED BY U2;
6:
7: User created
8:
9: SQL> SELECT USERNAME, DEFAULT_TABLESPACE, TEMPORARY_TABLESPACE FROM DBA_USERS WHERE USERNAME ='U1';
10:
11: USERNAME DEFAULT_TABLESPACE TEMPORARY_TABLESPACE
12: ------------------------------ ------------------------------ ------------------------------
13: U1 USERS TEMP
14:
15: SQL> ALTER DATABASE DEFAULT TABLESPACE TEST1;
16:
17: Database altered
18:
19: SQL> SELECT USERNAME, DEFAULT_TABLESPACE, TEMPORARY_TABLESPACE FROM DBA_USERS WHERE USERNAME ='U1';
20:
21: USERNAME DEFAULT_TABLESPACE TEMPORARY_TABLESPACE
22: ------------------------------ ------------------------------ ------------------------------
23: U1 TEST1 TEMP
3: DB
eg:

1: SQL> CREATE USER U3 IDENTIFIED BY U3 DEFAULT TABLESPACE TEST2;


2:
3: User created
4:
5: SQL> SELECT USERNAME, DEFAULT_TABLESPACE, TEMPORARY_TABLESPACE FROM DBA_USERS WHERE USERNAME='U3';
6:
7: USERNAME DEFAULT_TABLESPACE TEMPORARY_TABLESPACE
8: ------------------------------ ------------------------------ ------------------------------
9: U3 TEST2 TEMP
10:
11: SQL> ALTER DATABASE DEFAULT TABLESPACE USERS;
12:
13: Database altered
14:
15: SQL> SELECT USERNAME, DEFAULT_TABLESPACE, TEMPORARY_TABLESPACE FROM DBA_USERS WHERE USERNAME='U3';
16:
17: USERNAME DEFAULT_TABLESPACE TEMPORARY_TABLESPACE
18: ------------------------------ ------------------------------ ------------------------------
19: U3 TEST2 TEMP
20:
4: DB
SQL> DROP TABLESPACE USERS;
DROP TABLESPACE USERS
ORA-12919:
5: drop DB
SQL> DROP TABLESPACE TEST2;

3.3
SYSTEM ORACLE
ORACLE
INCLUDING CONTENTS AND DATAFILES
:.ORA-12919: Can not drop the default permanent tablespace
DROP TABLESPACE [INCLUDING CONTENTS [AND DATAFILES] [CASCADE CONSTRAINTS]]
SQL> DROP TABLESPACE URER01 INCLUDING CONTENTS;
DROP TABLESPACE INCLUDING CONTENTS. USER

SQL>DROP TABLESPACE USER01 INCLUDING CONTENTS AND DATAFILES;


CONTENTS DATAFILES
SQL>DROP TABLESPACE TBS_STAGE_DAT INCLUDING DATAFILES AND CONTENTS
ORA-01911contents keyword expected
SQL>DROP TABLESPACE TBS_STAGE_DAT INCLUDING CONTENTS AND DATAFILES
3.4

3.4.1

1: ALTER TABLESPACE TBS_TR_IND


2:
3: ADD DATAFILE '/oradata/rTBS_TR_IND_002.dbf'
4:
5: SIZE 32G
6:
7: AUTOEXTEND OFF;
8:
9: SQL> ALTER TABLESPACE TBS_EDS_DAT
10:
11: 2 ADD DATAFILE 'G:\datafile\TBS_EDS_DAT01.DBF'
12:
13: 3 SIZE 100M
14:
15: 4 AUTOEXTEND ON
16:
17: 5 NEXT 10M
18:
19: 6 MAXSIZE 20480M;
20:
21: SQL> ALTER TABLESPACE temp01
22:
23: 2 ADD TMPFILE 'D:\ORACLEDATA\temp01_02.dbf' SIZE 10M REUSE;
24:
ALTER TABLESPACE
REUSE
SQL> ALTER TABLESPACE TBS_EDS_DAT
2 ADD DATAFILE 'G:\datafile\TBS_EDS_DAT01.DBF'
3 SIZE 100M
4 AUTOEXTEND ON
5 NEXT 10K
6 MAXSIZE 51200M;
ALTER TABLESPACE TBS_EDS_DAT
*
1 :
ORA-03206: AUTOEXTEND (6553600)
ORACLE db_block_size db_block db_block(ORACLE ) 2**22-1(4194303).
=*:
M G
=============================================================================
2KB 8191M
8G
4KB 16383M
16G
8KB 32767M
32G
16KB 65535M 64G
32KB 131072M 128G
64KB 262144M 256G

3.4.2

ALTER DATABASE DATAFILE '/database/oracle/oradata/gsp/tbs_dm_data_002.dbf'


RESIZE 500M;

3.4.3

ALTER TABLESPACE TEST


DROP DATAFILE '/database/oracle/oradata/gsp/tbs_dm_data_002.dbf'

3.4.4

D 1T D
(D ) 1T
1: 1.1
2:
3: SQL> conn sysdba/manage as sysdba
4:
5:
6:
7: 1.2
8:
9: SQL> ALTER TABLESPACE TBS_EDS_DAT OFFLINE NORMAL ;
10:
11:
12:
13: 1.3
14:
15: 1.4
16:
17: SQL> ALTER DATABASE
18:
19: 2 RENAME FILE
20:
21: 3 'D:\ORACLE\PRODUCT\10.2.0\ORADATA\WGODS\TBS_EDS_DAT.DBF'
22:
23: 4 TO
24:
25: 5 'G:\datafile\TBS_EDS_DAT.DBF';
26:
27:
28:
29: 1.5
30:
31: SQL> ALTER TABLESPACE TBS_DM_DAT ONLINE;
32:
33:
34:
35: 1.6
36:
37: SQL> shutdow immediate
38:
39:
40:
41:
42:
43: ORACLE
44:
45: SQL> startup
46:
47: ORACLE
48:
49: Total System Global Area 612368384 bytes
50:
51: Fixed Size 1250428 bytes
52:
53: Variable Size 104860548 bytes
54:
55: Database Buffers 499122176 bytes
56:
57: Redo Buffers 7135232 bytes
58:
59:
60:
61:
62:
Linux/Unix

1: 1
2:
3: SQL> select TABLESPACE_NAME,FILE_NAME,BYTES/1024/1024 "MB"
4:
5: from dba_data_files;
6:
7: 2
8:
9: SQL> alter tablespace users offline;
10:
11: 3
12:
13: SQL> host mv /u01/app/oracle/oradata/ocp/users01.dbf /u02/
14:
15: SQL> host ls /u02/
16:
17: 4
18:
19: SQL> alter database rename file
20:
21: '/u01/app/oracle/oradata/ocp/users01.dbf' to '/u02/users01.dbf';
22:
23:
24:
25: SQL> alter tablespace users rename datafile
26:
27: '/u01/app/oracle/oradata/ocp/users01.dbf' to '/u02/users01.dbf';
28:
29: TO
30:
31: 5
32:
33: SQL> alter tablespace users online;
34:
35: offline mount OPEN

3.4.5

ALTER DATABASE DATAFILE '/database/oracle/oradata/gsp/tbs_dm_data_002.dbf' OFFLINE;

3.4.6

ALTER DATABASE DATAFILE '/database/oracle/oradata/gsp/tbs_dm_data_002.dbf' ONLINE;

4.1
onlineofflineread onlyread write
SQL

1: SQL> SELECT TABLESPACE_NAME, CONTENTS, STATUS FROM DBA_TABLESPACES;


2:
3: TABLESPACE_NAME CONTENTS STATUS
4: ------------------------------ --------- ---------
5: SYSTEM PERMANENT ONLINE
6: UNDOTBS1 UNDO ONLINE
7: SYSAUX PERMANENT ONLINE
8: TEMP TEMPORARY ONLINE
9: USERS PERMANENT ONLINE
10: EXAMPLE PERMANENT ONLINE
11: TBS_DM_DATA PERMANENT READ ONLY
12:
13: 7 rows selected
14:
15:
16: SQL> SELECT FILE#, STATUS, ENABLED FROM V$DATAFILE;
17:
18: FILE# STATUS ENABLED
19: ---------- ------- ----------
20: 1 SYSTEM READ WRITE
21: 2 ONLINE READ WRITE
22: 3 ONLINE READ WRITE
23: 4 ONLINE READ WRITE
24: 5 ONLINE READ WRITE
25: 6 OFFLINE READ ONLY
26: 7 OFFLINE READ ONLY

4.1.1
SQL>ALTER TABLESPACE TBS_DM_DAT OFFLINE IMMEDIATE;
4
NORMAL ORACLE SGA
NORMAL
TEMPORARY ORACLE
ORACLE
IMMEDIATE ORACLE

FOR RECOVER

(NOARCHIVELOG),
ORA-00376 ORA-01110 x......

offline OFFLINESYTEM,UNDO
1. SYTEM offline read only
2. UNDO offline, read only
3. offline, read only
4. SYSAUX offline read only
SQL> ALTER TABLESPACE SYSTEM OFFLINE;
ALTER TABLESPACE SYSTEM OFFLINE
ORA-01541: system tablespace cannot be brought offline; shut down if necessary
SQL> ALTER TABLESPACE SYSTEM OFFLINE;
ALTER TABLESPACE SYSTEM OFFLINE
ORA-01541: system tablespace cannot be brought offline; shut down if necessary
4.1.2

SQL> ALTER TABLESPACE TBS_DM_DAT ONLINE;

4.1.3

SQL>ALTER TABLESPACE TBS_DM_DAT READY ONLY;


DML ORA-00372: file xxx cannot be modified at this time
ORA-01110: data file xx: ********
4.1.4

SQL>ALTER TABLESPACE TBS_DM_DAT READ WRITE;

4.1.5
ORACLE 10g ORACLE 11G ALTER TABLESPACE RENAME

1: CREATE TABLESPACE TBS_DM_DAT


2: ATAFILE 'E:\APP\KERRY\ORADATA\ORCL\TBS_DM_DAT.DBF'
3: IZE 50M
4: XTENT MANAGEMENT LOCAL
5: EGMENT SPACE MANAGEMENT AUTO ONLINE
6:
7:
8: SQL>ALTER TABLESPACE TBS_DM_DAT RENAME TO TBS_DM_DATA
9:
10: QL> SELECT TABLESPACE_NAME FROM DBA_TABLESPACES WHERE TABLESPACE_NAME = 'TBS_DM_DATA';
11:
12: LESPACE_NAME
13: ---------------------------
14: _DM_DATA
4.1.6

ALTER DATABASE DATAFILE '/database/oracle/oradata/gsp/tbs_dm_data_002.dbf' AUTOEXTEND ON;

4.1.7

ALTER DATABASE DATAFILE '/database/oracle/oradata/gsp/tbs_dm_data_002.dbf' AUTOEXTEND OFF;


5

3.5.1

1: --
2: SELECT * FROM DBA_TS_QUOTAS
3:
4: --
5: SELECT * FROM USER_TS_QUOTAS
6:
7:
8: SQL> DESC DBA_TS_QUOTAS
9: Name Type Nullable Default Comments
10: --------------- ------------ -------- ------- ------------------------------------------------
11: TABLESPACE_NAME VARCHAR2(30) Tablespace name
12: USERNAME VARCHAR2(30) User with resource rights on the tablespace
13: BYTES NUMBER Y Number of bytes charged to the user
14: MAX_BYTES NUMBER Y User's quota in bytes. NULL if no limit
15: BLOCKS NUMBER Y Number of ORACLE blocks charged to the user
16: MAX_BLOCKS NUMBER Y User's quota in ORACLE blocks. NULL if no limit
17: DROPPED VARCHAR2(3) Y Whether the tablespace has been dropped
MAX_BYTES=-1
3.5.2

1.
eg
CREATE USER TEST IDENTIFIED BY TEST
DEFAULT TABLESPACE TS_TEST
TEMPORARY TABLESPACE TEMP
QUOTA 3M ON TS_TEST
PASSWORD EXPIRE;
2.
A:

B
.
SQL> GRANT UNLIMITED TABLESPACE TO SCOTT;
.
SQL>ALTER USER SCOTT QUOTA UNIMITED ON TBS_EDS_DAT;
SELECT * FROM SESSION_PRIVS WHERE PRIVILEGE='UNLIMITED TABLESPACE'
SQL> REVOKE UNLIMITED TABLESPACE FROM SCOTT;
C:
3. :
revoke unlimited tablespace from TEST;

alter user skate quota 0 on TB;


ALTER TABLESPACE tablespace_name ADD DATAFILE filename SIZE size_of_file

You might also like