应该定义它的表空间(default tablespace)。
否则,它会使用系统表空间(system tablespace)。这是应该避免的。
CREATE USER XXXXX IDENTIFIED BY xxxxx
PROFILE DEFAULT
DEFAULT
TABLESPACE USERS
TEMPORARY TABLESPACE TEMPTS01
ACCOUNT
UNLOCK;
CREATE TABLESPACE message
DATAFILE
'/opt/oracle/oradata/surecomp/message01.dbf' size 200M
EXTENT MANAGEMENT
local;
CREATE USER message IDENTIFIED BY message
DEFAULT
TABLESPACE message;
GRANT connect, resource TO message;
CREATE
TABLE userinfo (
id VARCHAR2(32) NOT NULL,
name VARCHAR2(32) NOT NULL,
password VARCHAR2(32) NOT NULL,
CONSTRAINT userinfo_pk PRIMARY KEY (id),
CONSTRAINT userinfo_unique_name UNIQUE ( name )
);
这里先是用SYSTEM用户创建了一个message表空间
然后创建一个用户message,使这个message用户默认使用message表空间
之后创建一个表USER,这个时候USER表是不是应该在SYSTEM的临时表空间里?
那下次用message登陆往USER表中插记录的时候记录是不是就存在message表空间中?
SYSTEM表空间是不是只存了USER表的逻辑?
概念不清请指教
当你用system创建了message表空间,和message用户后,如果你不从
system用户退出,再以message用户登陆,那么,运行以上创建表的指令,所创建的表userinfo,就会被system用户所拥有。所以,这
个表应该在system表空间里。在这样的情况下,用户message与这张表没有任何关系。下次用message登陆时,message在一般情况下,
不能往userinfo表里插记录,除非system给予message用户特别许可,(GRANT insert on system.userinfo TO
message;)。如果system给予了这种许可,用户message所插的一切记录,都会储存在system表空间里,而不是在message表空 间中。
显然,这是很糟糕的情况。一般情况下,应该避免让普通用户把数据储存在system表空间里。现有二种方法可以避免以上的情况:
1.从system用户退出,再以message用户登陆,然后运行以上创建表的指令。
2.依然是system用户登陆,修改上述创建表的指令。在表名前,加上用户名,并且在最后注明表空间名。请看下例:
CREATE
TABLE message.userinfo
(
id VARCHAR2(32) NOT NULL,
name VARCHAR2(32)
NOT NULL,
password VARCHAR2(32) NOT NULL,
CONSTRAINT userinfo_pk PRIMARY
KEY (id),
CONSTRAINT userinfo_unique_name UNIQUE ( name )
)
TABLESPACE message;
用上述二种方法所创建的表userinfo,都会属于用户message。因此,message所插的一切记录,都会储存在message表空间中。
=====================================================
create
temporary tablespace test_temp
tempfile
'd:\oracle\product\10.1.0\oradata\test\test_temp01.dbf'
size
32m
autoextend on
next 32m maxsize 2048m
extent management
local;
//创建数据表空间
create tablespace test_data
logging
datafile
'd:\oracle\product\10.1.0\oradata\test\test_data01.dbf'
size
32m
autoextend on
next 32m maxsize 2048m
extent management
local;
//创建用户并指定表空间
CREATE USER test IDENTIFIED BY test
PROFILE
DEFAULT
DEFAULT TABLESPACE test_data
TEMPORARY TABLESPACE
test_temp
ACCOUNT UNLOCK;
GRANT connect, resource TO test;
grant
create session to testr;
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/12379366/viewspace-261494/,如需转载,请注明出处,否则将追究法律责任。