Professional Documents
Culture Documents
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
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
3.1.5
/UNDO
SELECT * FROM DBA_DATA_FILES;
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
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:
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
3.4.1
3.4.2
3.4.3
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
3.4.6
4.1
onlineofflineread onlyread write
SQL
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
4.1.3
4.1.5
ORACLE 10g ORACLE 11G ALTER TABLESPACE RENAME
4.1.7
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;