当前位置:   article > 正文

Oracle入门_oracle 安装成功后为什么默认那么 多用户

oracle 安装成功后为什么默认那么 多用户

1.Oracle在安装时会自动创建和配置数据库(1个)

2.Oracle数据库服务器只有一个数据库以及至少一个数据库实例

3.数据库:存储数据的

4.数据库实例:当Oracle开启后,就启动一个进程,该实例用来存储Oracle的所有操作。

5.Oracle在安装完成后会自动产生多个用户

    SYS----超级管理员
    SYSTEM----普通管理员
    SCOTT---最常见的普通用户(使用率最高)
        默认密码:tiger
    注意:第一次使用SCOTT用户,需要超级管理员解锁。
        默认SCOTT是锁定。
        
6.Oracle的一些文件详解:
    数据文件:存储数据,扩展名:dbf
    控制文件:启动或者操作存储的信息,扩展名:ctl
    日志文件:操作表以及视图及其他操作是产生的日志信息
            扩展名:log
            
7.表空间的概念
    (1)表空间是通过数据库划分出来,类似sqlserver中的数据库,容器
    (2)Oracle只有一个数据库,怎么区分管理不同的系统,通过表空间。
    (3)表空间的关键词:tablespace。
    

====================================
使用Oracle数据库之前,必须知道以下几点
1.开启前必须启动服务和监听
    (1)服务 oracleservicesorcl
    (2)监听 ......listener
    
2.通过超级管理登录,然后解锁scott用户
    2.1 超级管理员登录。
        cmd
            sqlplus / as sysdba;
        sqlplusdeveloper
            实例选择:orcl  连接到:sysdba
    
    2.2 给scott用户解锁。
        锁定   alter user scott account lock;
        解锁   alter user scott account unlock;
        解锁的同时可以重新设置密码
        alter user scott account unlock identified by 初始密码;

Oracle基本介绍

============================================

一、需要启动的服务:
    OracleServiceORCL                  //oracle数据库服务
    OracleOraDb11g_home1TNSListener    //oracle监听服务

=======================================

常用数据表如emp、dept、salgrade等表,这几个表存储在系统账号scott下,可以通过scott账号查看表格的基本情况。

=======================================

二、关于Oracle数据库的开发环境
    启动步骤:Oracle->应用程序开发->SQL Plus
        用户名:scott
    口令:tiger
    主机字符串:orcl

==========================================

三、PL/SQL Developer 集成开发环境
    它是Oracle的第三方工具;
    因为oracle的开发环境糟糕,因此我们采用第三方的

==========================================

四、新建SQL窗口
    文件 --> 新建 --> SQL窗口
    
==========================================

Sql与Oracle最大的不同:
    Sql中可以随时随意的创建数据库;但Oracle只有一个数据库,一台电脑只会安装一个数据库。
    为了区分彼此,Oracle只有创建用户,一个用户一个数据库。


五、账户、表空间、数据库
开辟(分配)数据库空间----表空间(TableSpace)。
表空间代替了数据库,创建数据库就是开辟账户空间。

注意:Oracle为A账户开辟一个表空间,为B账户开辟一个表空间,请问A和B是不是在用同一个数据库?
     不同账号之间能不能互访?

*****************************************
其实就是用表空间代替了数据库。创建数据库就是开辟用户空间。
****************************************

=================================================

六、Oracle的安装--号称史上最麻烦的安装
    Oracle里面的东西太多了,大批量处理数据的。
    sql server号称百万级数据(一个表的数据),但其实最多20万条记录,超过20万条就用Oracle。


安装可能成功,但连接不了的情况,而且也不报错。
-----------------------------------
oracle8i/9i (internet)基于网络的

oracle10g/11g (grid)基于网格的,它的客户端就是个web程序了,可以在IE里打开的:oracle->Database Control - orcl点下就会在IE中打开,如果找不到地址就是没开动OracleDBConsoleorcl服务(DBC控制器),该功能就相当于SQL Server

orcale12c

==================================================

七、启动服务,进入Oracle,PL/SQL

7.1 创建数据库和账户
 
数据库
    物理的:数据文件.dbf;日志文件.log;控制文件.ctl;
    虚拟的:表空间(可以用户开辟)

数据库实例
    启动的数据库对应一个数据库实例,由实例来访问和控制数据库。

***********************************
问:先创建表空间还是用户?
先创建表空间,再给用户分配表空间
**********************************

关于账户:
----sys和system管理员账号,在装软件时就已分配好的,因此可以用这账号开辟表空间。
----scott(释放账号:给我们用和看的),密码是tiger。
    注意:千万不要去改这账号和密码,全球都是一样的。(改是可以改,但别去改)


关于账户登录:
   可以用sys或system管理员账号登录,也可以用scott账户登录。
   怎么登?
   1.在开始菜单中选择oracle目录--应用程序开发--sql plus
   2.在cmd状态下,直接通过命令sqlplus来登录。


在oracle下输入命令:
sys/sys as sysdba  --sysdba是数据库系统管理员
解释:第一个sys是账户,第二个sys是密码,该账号做为管理员登录。


思考:
    管理员账户可以调用一般账户的表吗?
    select * from scott.emp;

    一般账户可以调一般账户的表吗?

=====================================================

7.2 创建表空间

基于应用性能和管理方面的考虑,最好为不同的用户创建独立的表空间。

创建表空间的语法:
    create tablespace 表空间名

    例:
    create tablespace t_table
    datafile 'e:\111.dbf'   --数据文件存方地址
    size 100M;
    --只要上面三行就OK了
    autoextend on next 32 maxsize unlimited
    logging
    extent management local
    segment space management auto;


========================================

进入PL/SQL
1.all objects ==> my objects
2.左侧的都了解了,oracle就完了

My Objects
    Functions    函数-
    Procedures    存储过程-
    Packages    包-
    Package bodies    包体-    
    Types        类型-
    Type bodies    类型体-
    Triggers    触发器-
    Java sources    
    Jobs        工作
    Queues        队列
    Queue table    队列表格
    Libraries    
    Directories    
    Tables        表格-
    Views        视图-
    Materialized views
    Sequences    序列-
    Users        用户-
    Profiles    控制文件-
    Relos        角色-
    Synonyms    同义词-
    Database links
    Tablespaces    表空间-
    Clusters    


==============================================

    用;号隔开,代表代码写完了,可以执行了

    如果你是管理员账号,调别的用户的账号可以吗?可以
    --账户.表;
    select * from scott.emp;

    如果你是一般用户的账号可以调别人的吗?正常情况下不行,除非授权。


关于账户在Oracle有另一个名词叫:模式
    select * from 模式.表;

比如scott就是个模式
比如其它的对象就是个模式
每个对象都是个模式


==============================================


7.2 给表空间分配账户
1.创建账户,指定访问表空间,但未给它赋任何权限,登录时是登不了的!
    create user 用户名
    identified by 密码
    [default tablespace 表空间]
    [temporary tablespace 临时的表空间]   --该行一般不用

    案例:
    create user u_dml
    indentified by 123
    default tablespace t_table

7.3 要给角色授权
    (把用户与角色区分搞清楚)
    角色:张扬是个学生,是指角色
    用户:而张扬,是一个用户

    给角色授予权限:
    找到users-用户名-编辑-角色权限
    connect:临时用户的权限
    resource:正式用户的权限
    DBA:管理员(一般不用)

    分配权限或角色:
    Grant privileges or role To user;

    例:Grant connect,resource to u_dml; 
        --给dml角色分配权限


7.4 撤销权限或角色:
    Revoke privileges or role FROM user; 

   例:revoke connect,resource from u_dml; --撤销dml角色的connect,resource权限

grant create tablespace to scott;--给与用户创建表空间权限
===============================================


八、建表
    建的表都在Tables里面。
    两种建表方式:
    1.视图
    2.代码

create table tb_88
(
    sid number,           --int类型用number
    sname varchar2(55),   --没有varchar
    sex varchar2(10)
)

--查看表里的数据:
select * from tb_88;

*****************************************
Oracle中有标识列吗?
oracle没有标识列,不过有个替代品(触发器+序列)
*****************************************

--插入数据
insert into tb_88(sid,sname,sex)
values(10,'张天','男');

--视图版的添加表:
  右击Tables--新建--主键:在键里,名称自己取,类型primary,选定哪个列做主键,联合主键就选两个,请问有几个主键?1个

  删除列:右则的减号


--怎么查看建表的脚本?
  右下角--看SQL


--建完表后点“应用”

==================================================

  1. select * from emp;
  2. --1.Oracle的单行注释(--)
  3. --2.Oracle的多行注释(/**/)
  4. --3.oracle不区分大小写
  5. --4.Oracle安装后所产生的账户scott存在四张系统表
  6. --emp(员工表)** dept(部门表)** bonus(岗位表) salgrade(薪资表)
  7. --5.oracle安装后会自动创建表空间,也可以自定义创建表空间
  8. #表空间:tablespace
  9. /*
  10. 创建表空间的语法:
  11. create tablespace 表空间的名称
  12. datafile '数据文件的存储目录'
  13. size 5M
  14. 注意:数据文件的存储目录最好是Oracle的安装目录
  15. 问题:普通角色scott创建不了表空间,必须SYS超级管理员实现
  16. */
  17. create tablespace ts_0218
  18. datafile 'D:\software\tools\oracle\app\oradata\orcl\ts_0218.dbf'
  19. size 5M
  20. --表空间创建后,需要用户去管理,自定义用户 user
  21. /*
  22. 创建用户的语法:
  23. create user 用户名称
  24. identified by 密码
  25. default tablespace 表空间的名称
  26. */
  27. --创建一个用户cc去管理ts_0218这个表空间
  28. create user u_cc
  29. identified by 123
  30. default tablespace ts_0218;
  31. --强调:Oracle中没有标识列,但是有替代品(数据库对象-序列+数据库对象-触发器)
  32. --Oracle的数据类型
  33. --数值类型 number
  34. --字符串类型 varchar2(长度)
  35. create table tb_student
  36. (
  37. sid number primary key,
  38. sname varchar2(50) not null,
  39. ssex varchar2(2) check(ssex = '男' or ssex = '女'),
  40. saddress varchar2(100) default '湖南长沙',
  41. sfz varchar2(20) unique
  42. );
  43. select * from tb_student;
  44. create table tb_score
  45. (
  46. sid number references tb_student(sid),
  47. degree number
  48. )
  49. --oracle管理工具中左侧栏目的对象
  50. 1.function 函数
  51. 2.procedure 存储过程
  52. 3.package 程序包
  53. 4.table
  54. 5.index 索引
  55. 6.view 视图
  56. 7.sequence 序列
  57. 8.trigger 触发器
  58. 9.user 用户
  59. 10.tablespace 表空间
  60. 11.synonym 同义词
  61. create tablespace ts_0218
  62. datafile 'D:\software\tools\oracle\app\oradata\orcl\ts_0218.dbf'
  63. size 5M
  64. create user u_cc
  65. identified by 123
  66. default tablespace ts_0218;
  67. --用户创建后需要授权
  68. # grant 权限 to 用户
  69. --给u_cc用户授权
  70. grant connect,resource to u_cc;
  71. #撤销权限
  72. #revoke 权限 from u_cc;
  73. revoke connect,resource from u_cc;

 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/笔触狂放9/article/detail/421513
推荐阅读
相关标签
  

闽ICP备14008679号