Oracle基础

来源:互联网 发布:c语言100到200的素数 编辑:程序博客网 时间:2024/06/18 15:57
三种登录方式

①sqlplus(黑屏)

②isql*plus(网页)

③plsql Developer(第三方软件)

******************************************************************************

******************************************************************************

物理结构:

 

                                                  .dbf    数据文件

                                数据库     .log     日志文件

                                                 .ctl       控制文件

Oracle服务器                                   

                                                                                用户进程

                                                            进程            服务器进程

                                                                               后台进程

                                 实例                                                                  共享池

                                                            内存           系统全局区        数据缓冲区       

                                                                                                           日志缓冲区

 

                                                                               程序全局区             

----------------------------------------------------------------------------------------------------------------------

逻辑结构

                               数据库

                                   ↓

                               表空间(最大的逻辑单元)

                                  ↓

                                段

                                 ↓

                                块(最小的逻辑单元)

----------------------------------------------------------------------------------------------------------------------

 

--管理员*****************************--1.创建一个表空间--表空间是oracle数据库中最大的逻辑单元--数据块是oracle数据库中的最小的存储单元drop tablespace ts   --删除表空间及对应的文件including contents and datafiles;create tablespace tsdatafile 'ts'size 200m;--表空间OK---------------删除用户drop user dotnetly;--2.创建用户来管理这个表空间create user dotnetlyidentified by liu123 --密码不能以数字开头default tablespace ts;--3.给用户指定权限select * from dba_roles;--所有角色select * from dba_sys_privs;--所有角色的详情--看某个角色所拥有的权限select * from role_sys_privs where role='RESOURCE'select * from role_sys_privs where role='CONNECT'-- 某个角色拥有的子角色select * from role_role_privs where role='DBA'select * from dba_users;--所有用户drop role mr;--创建自定义的一些角色create role mr;--先给角色分配子角色grant connect to mr;--把连接角色给hailanggrant resource to mr;--把资源操作角色给hailang--再给这个角色指定一些权限grant create sequence to mr;--创建序列的权限grant create table to mr;--创建表的权限--此时hailang所拥有的权限为:connect、resource角色与create sequence和create table的权限的额综合--解除一些权限revoke create table from mr;--把建好的角色给新用户grant mr to dotnetly;grant create table to dotnetly;grant select any table to dotnetly;--查询所有表的权限grant resource to dotnetly;--*****************************************--4.让新用户用自己的用户名与密码做登录--*****ly的一系列操作********--创建学生表drop table sst;create table sst(       stuId number primary key,       stuName varchar2(20),       sex varchar2(2),       birthday date,       remark long  --长文本类型);--插入数据insert into sst values();--解决没有自增长的问题可以用序列--序列:类似于sql server中的自增长create sequence se_stuidincrement by 1start with 1001maxvalue 999999999cycle;--取序列中的值--se_stuid.currval序列的当前值--se_stuid.nextval序列的下一个值select se_stuid.nextval from dual;--dual是一张虚表,将查询的结果放到虚表中显示select se_stuid.currval from dual;--to_number('123')--转换为数字--to_date('1990-1-1')--to_char(12)insert into sst values(se_stuid.nextval,'小红','女',to_date('1993-1-9','yyyy-mm-dd'),'无');insert into sst values(se_stuid.nextval,'小橙','男',to_date('1993-11-29','yyyy-mm-dd'),'无');insert into sst values(se_stuid.nextval,'小黄','女',to_date('1993-3-31','yyyy-mm-dd'),'无');insert into sst values(se_stuid.nextval,'小绿','女',to_date('1993-4-29','yyyy-mm-dd'),'无');insert into sst values(se_stuid.nextval,'小蓝','女',to_date('1993-4-29','yyyy-mm-dd'),'无');insert into sst values(se_stuid.nextval,'小靛','女',to_date('1993-4-29','yyyy-mm-dd'),'无');insert into sst values(se_stuid.nextval,'小紫','女',to_date('1993-4-29','yyyy-mm-dd'),'无');insert into sst values(se_stuid.nextval,'小青','女',to_date('1993-4-29','yyyy-mm-dd'),'无');insert into sst values(se_stuid.nextval,'小黑','女',to_date('1993-4-29','yyyy-mm-dd'),'无');insert into sst values(se_stuid.nextval,'小白','女',to_date('1993-4-29','yyyy-mm-dd'),'无');insert into sst values(se_stuid.nextval,'小灰','女',to_date('1993-4-29','yyyy-mm-dd'),'无');select * from sst;--oracle中没有top关键字select sst.* ,rownum,rowid from sst;--5条数据一页--查询第二页的数据select a.*,rownum from(select sst.*,rownum xh from sst) awhere a.xh between 6 and 10;

注意:resource角色具有unlimited tablespace的权限
1.当resource角色授予给一个角色时,unlimited tablespace是没有授予给该角色的
2.当resource角色授予给一个用户时,unlimited tablespace也授予给了该用户。
3.当reource角色授予给一个角色role1,再将该角色role1授予给用户user1时,用户user1并不具有unlimited tablespace权限。

 

0 0
原创粉丝点击