コメント |
@C:red(スキーマを作成する前に、ユーザーとテーブルスペースの現状を調べます。)
users.sql
@DIV
SET LINESIZE 32767
SET PAGESIZE 0
select * from DBA_USERS;
EXIT
@END
space.sql
@DIV
SET LINESIZE 32767
select
TABLESPACE_NAME 名前,
CONTENTS タイプ,
EXTENT_MANAGEMENT エクステント管理,
round(FSIZE/1000000) "サイズ(M)",
(FSIZE-FREESIZE)/1000000 "使用量(M)"
from
DBA_TABLESPACES,
(
select
V$TABLESPACE.NAME TNAME1,
sum(BYTES) FSIZE
from V$TABLESPACE,V$DATAFILE
where
V$TABLESPACE.TS# = V$DATAFILE.TS#
group by V$TABLESPACE.NAME
) TSIZE,
(
select
TABLESPACE_NAME AS TNAME2,
sum(BYTES) AS FREESIZE
from DBA_FREE_SPACE
group by TABLESPACE_NAME
) TFREE
where
TABLESPACE_NAME = TNAME1 and
TABLESPACE_NAME = TNAME2;
EXIT
@END
実行コマンドライン
@DIV
sqlplus / as sysdba @users > users.txt
sqlplus / as sysdba @space > space.txt
@END
@LINE
[[テーブルスペース作成]]
@DIV
create tablespace LIGHTBOXAREA
datafile 'C:\oraclexe\oradata\XE\LIGHTBOX.ORA'
size 5M
autoextend on
next 1M
maxsize unlimited
segment space management AUTO
@END
@C:green(select * from DBA_TABLESPACES)
@C:green(select * from DBA_DATA_FILES)
物理ファイルが既にある場合
@DIV
create tablespace LIGHTBOXAREA2
datafile 'C:\oraclexe\oradata\XE\LIGHTBOX2.ORA'
size 5M @C:red(reuse)
autoextend on
next 1M
maxsize unlimited
segment space management AUTO
@END
[[ユーザ作成]]
@DIV
create user LIGHTBOX
identified by LIGHTBOX
default tablespace LIGHTBOXAREA
temporary tablespace TEMP
quota unlimited on LIGHTBOXAREA
account unlock
@END
@C:green(select * from DBA_USERS)
[[ロール作成]]
@DIV
create role LIGHTOBX_ROLE
@END
@C:green(select * from DBA_ROLES)
※ ロール名が "LIGHTOBX" となっています。注意して下さい
[[ロールに権限付与]]
@DIV
grant
ALTER PROFILE
,ALTER SESSION
,ALTER SYSTEM
,ALTER TABLESPACE
,ALTER USER
,CREATE PROCEDURE
,CREATE PROFILE
,CREATE PUBLIC SYNONYM
,CREATE ROLE
,CREATE ROLLBACK SEGMENT
,CREATE SEQUENCE
,CREATE SESSION
,CREATE SYNONYM
,CREATE TABLE
,CREATE TABLESPACE
,CREATE TRIGGER
,CREATE VIEW
,EXECUTE ANY PROCEDURE
,SELECT ANY DICTIONARY
,SELECT ANY SEQUENCE
,SELECT ANY TABLE
to LIGHTOBX_ROLE
@END
ロールを作成したユーザで実行
@C:green(select * from ROLE_SYS_PRIVS where ROLE = 'LIGHTOBX_ROLE')
ロールを適用されたユーザで実行
@C:green(select * from ROLE_SYS_PRIVS)
[[ロールをユーザーに適用]]
@DIV
grant LIGHTOBX_ROLE to LIGHTBOX
@END
@C:green(select * from USER_ROLE_PRIVS)
※ 補足
http://otndnld.oracle.co.jp/document/products/oracle10g/102/doc_cd/server.102/B19201-02/statements_9.html#21249(ユーザー削除) ( CASCADE 句が重要 )
http://otndnld.oracle.co.jp/document/products/oracle10g/102/doc_cd/server.102/B19201-02/statements_9.html#19413(テーブルスペース削除)
物理ファイルも同時に削除( サンプル )
@DIV
DROP TABLESPACE LIGHTBOXAREA2 INCLUDING CONTENTS AND DATAFILES
@END
|