Oracle 创建用户及数据表的方法

Oracle 创建用户及数据表的方法-


(*凡oracle命令在 sqlplus中执行, 即运行 sqlplusw system/manager@test -这是以前安装时讲到的) 
1. 数据库 当我们安装好oracle8i后,一个数据库系统就安装好了,其中有一个缺省的数据库,当然,我们还可以创建新的数据库. 


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 -这是在第二步建好的.) 
(*抽省表空间表示 用户study今后的数据如果没有专门指出,其数据就保存在 data_test中, 也就是保存在对应的物理文件 e:\oracle\oradata\test\data_1.dbf中) 


4. 授权给新用户 


grant connect,resource to study; 
--表示把 connect,resource权限授予study用户 


grant dba to study; 
--表示把 dba权限授予给 study 


5. 创建数据表 
在上面,我们已建好了用户 study 我们现在进入该用户 


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; 


权限的查询 


5。1 查询某个用户授予其他用户在当前用户模式下的对象权限 
select * from user_tab_privs_made --假如当前用户为WENZI,那么查询结果就是由WENZI授权,在WENZI模式下的权限记录 


5。2 查询某个用户授予其他用户在该用户模式对象及其他模式对象上的对象权限 
select * from all_tab_privs_made -- 假如当前登录用户为WENZI,那么查询结果就是所有由WENZI授予的权限的记录 


修改用户 
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; 


删除用户 
DROP USER username [CASCADE] --CASECADE 选项会删除该用户模式下的所有对象,建议在删除前,先确认是否有其他的依赖关系存在。 


查询属于用户的对象 
select owner,object_name,object_type,status from dba_objects where owner='WENZI' 


5.3 查询为某个用户授予的,在其他模式对象上的权限 
select * from user_tab_privs_recd --假如当前登录用户为WENZI,那么查询结果就是WENZI在其他模式对象上的权限 


5.4 查询为某个用户授予的,在该用户模式对象与其他模式对象上的权限 
select * from all_tab_privs_recd --假如当前用户为wenzi,则查询结果为wenzi在整个数据库中拥有权限的对象 


角色管理 
创建口令文件 
orapwd file='..........\pwd{SID}.ora' password='***(sys的密码)' tntries=10(口令文件最大的用户数量) 
要使某个用户可以使用口令文件,必须为其授予SYSDBA权限,系统会自动将其加入到口令文件中。 
grant sysdba to wenzi 
当收回SYSDBA权限时,系统将对应的用户从口令文件中删除。 
revoke sysdba from wenzi 
查看口令文件管理的用户 
select * from v$pwfile_users 您可能感兴趣的文章:
oracle命令行删除与创建用户的代码
Oracle新建用户、角色,授权,建表空间的sql语句
-




*****************************************************************
database 被移走的处理方法


sql>alter database datafile '磁盘:\filename\dataxxx.dbf' offline drop;
sql>alter database open;
*****************************************************************

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值