oracle 创建用户

应该定义它的表空间(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/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/12379366/viewspace-261494/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Oracle中,要新建一个用户,可以按照以下步骤进行操作。 1. 登录到Oracle数据库的系统用户。 2. 使用CREATE USER语句创建新用户。例如,要创建一个名为"testuser"的用户,可以执行以下命令: CREATE USER testuser IDENTIFIED BY password; 其中,"password"是新用户的密码。 3. 为新用户分配适当的权限。可以使用GRANT语句给予用户所需的系统权限和对象权限。例如,要给予"testuser"创建表和查询表的权限,可以执行以下命令: GRANT CREATE TABLE, SELECT ON schema.table TO testuser; 其中,"schema"是表所在的模式,"table"是要授权的表名。 4. 确保新用户的数据目录已经存在。根据你的Oracle安装目录和数据库命名约定,创建一个新的数据库目录。例如,如果你的Oracle安装在D:\oracle\,要在D:\app\Administrator\oradata\目录下创建一个与新用户同名的目录。 请注意,上述步骤中的目录路径是根据提供的引用内容和中的示例来确定的。你需要根据你自己的Oracle安装目录及命名约定来调整相应的路径。 这样,你就成功地在Oracle中新建了一个用户,并为其分配了适当的权限。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* [Oracle创建表空间、创建用户以及授权](https://blog.csdn.net/qq_39750658/article/details/85318240)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *3* [oracle创建用户并授权](https://blog.csdn.net/ly510587/article/details/95459299)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值