ORACLE CREATE USER 命令
2009-11-23 13:29
CREATE USER "A" PROFILE "DEFAULT"
IDENTIFIED BY "a" DEFAULT TABLESPACE "TEMP"
ACCOUNT UNLOCK;
GRANT "CONNECT" TO "A";
GRANT "DBA" TO "A";
一、概念
1. 数据库 (Database)
什么是数据库?
数据库是依照某种数据模型组织起来并存放二级存储器中的数据集合。这种数据集合具有如下特点:尽可能不重复,以最优方式为某个特定组织的多种应用服务,其数据结构独立于使用它的应用程序,对数据的增、删、改和检索由统一软件进行管理和控制。从发展的历史看,数据库是数据管理的高级阶段,它是由文件管理系统发展起来的。
什么是数据库系统?
数据库系统是一个实际可运行的存储、维护和应用系统提供数据的软件系统,是存储介质、处理对象和管理系统的集合体。它通常由软件、数据库和数据管理员组成。其软件主要包括操作系统、各种宿主语言、实用程序以及数据库管理系统。数据库由数据库管理系统统一管理,数据的插入、修改和检索均要通过数据库管理系统进行。数据管理员负责创建、监控和维护整个数据库,使数据能被任何有权使用的人有效使用。数据库管理员一般是由业务水平较高、资历较深的人员担任
2. 数据表空间 (Tablespace)
3. Oracle用户
4. 数据表
在仓库,我们可能有多间房子,每个房子又有多个货架,每架又有多层。 我们在数据库中存放数据,最终是数据表的单元来存储与管理的。
5. 数据文件
二、创建
2. 现在我们应该建数据表空间,就如要存放货物,起码首先得把房子建好吧。就是存放东西的空间。表空间就存放数据的空间.
格式: create tablespace 表间名 datafile '数据文件名' size 表空间大小;
example:
create tablespace data_test datafile 'e:/oracle/oradata/test/data_1.dbf' size 2000M;
create tablespace idx_test datafile 'e:/oracle/oradata/test/idx_1.dbf' size 2000M;
(*数据文件名 包含全路径,表空间大小 2000M 表是 2000兆)
3. 建好 tablespace,就可以建用户了
格式: create user 用户名 identified by 密码 default tablespace 表空间表;
example:
create user study identified by study default tablespace data_test;
(*我们创建一个用户名为 study,密码为 study,缺少表空间为 data_test -这是在第二步建好的.)
4. 授权给新用户
grant connect,resource to study;
--表示把 connect,resource权限授予study用户
grant dba to study;
--表示把 dba权限授予给 study
5. 创建数据表
sqlplusw study/study@test
然后就可以在用户study中创建数据表了
格式: create table 数据表名,后面的详细参数,请你在网上搜索 "oracle" "create table" "语法". 太多了,我就不附在这里了。
下面给一个例子,自己体会.
create table test_user (
no number(5) not null,--pk
username varchar2(30) not null,--用户名
passpord varchar2(30) not null,--密码
constraint pk_connectdb primary key(no)
)storage (initial 10k next 10k pctincrease 0);
*下面讲解上面命令的各方面的含义
create table test_user --创建数据表
no number(5) not null,--pk
(列名或字段名) 数据类型(数据长度) 该数据列不能为空,是列之间的分隔符 --后的内容是注释
constraint pk_connectdb primary key(no)
(约束) 约束名 (主键) (列名) 意思就是 在数据表 test_user中所有行数据 no的值不能相同(这就是主键的含义)
storage (initial 10k next 10k pctincrease 0); 这个说起来比较复杂,反正如果某个数据表要存放大量数据,就把initial和next后的值设置大一点,否则设置小一点.
既然上面在创建数据表中没有特别指定 表空间,当然该表就存放在study缺省表空间data_test了.
create tablespace data_phonepos datefile 'd:/install/OracleXpdb/datafilephonepos.dbf' size 8000M;
create user phonepos identified by phonepos default tablespace data_phonepos;
grant connect,resource to phonepos;
grant dba to phonepos;
权限的查询
ALTER USER avyrros
IDENTIFIED EXTERNALLY
DEFAULT TABLESPACE data_ts
TEMPORARY TABLESPACE temp_ts
QUOTA 100M ON data_ts
QUOTA 0 ON test_ts
PROFILE clerk;
select owner,object_name,object_type,status from dba_objects where owner='WENZI'
角色管理
创建口令文件
grant sysdba to wenzi
revoke sysdba from wenzi
select * from v$pwfile_users