【此为"一森咖记"公众号——第30篇文章】
【前言】
熟悉Oracle的童鞋,可能都对Scott这个用户有一定熟悉感觉。在 Oracle11gR2, Scott用户在实例创建后的状态为被锁定,12c以上版本已经没有Scott 此账号。那么Scott账号到底是个啥,有啥用,为何在12c以上版本中不再存保留?有何渊源,本文就对此也八卦下。
Scott账号是个啥,有啥用?
SCOTT是ORACLE内部的一个示例用户,缺省口令为tiger。下面有表emp, dept等,这些表和表间的关系演示了关系型数据库的一些基本原理,Oracle举例说明时一般都用这个用户,一些关于Oracle的书、教材上一般也都用这个用户来讲解。它对于Oracle本身不是必须的,如果不想用可以删除。实例创建时默认是锁定状态,在安装时,根据用户需要,在“数据库配置助手”界面完成后,弹出的对话框中--口令管理,里面解锁。
划重点:
Oracle11gR2中存在Scott用户;12c以上版本已经没有Scott 此账号。
11g版本查询:
[oracle@ethanDB ~]:/home/oracle$ sqlplus as sysdba
SQL*Plus: Release 11.2.0.3.0 Production on Wed Aug 14 16:30:27 2019
Copyright (c) 1982, 2011, Oracle. All rights reserved.
Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
SYS@groupts> select username from dba_users where username='Scott';
USERNAME
--------------------------------------------------------------------------------
Scott
12c版本查询:
[oracle@ethanDB~]$ sqlplus as sysdba
SQL*Plus: Release 12.2.0.1.0 Production on Wed Aug 14 16:26:20 2019
Copyright (c) 1982, 2016, Oracle. All rights reserved.
Connected to:
Oracle Database 12c Enterprise Edition Release 12.2.0.1.0 - 64bit Production
SYS@ethanDB2> select username from dba_users where username='Scott';
no rows selected
SYS@ethanDB2>
查看Scott系统角色和系统权限
SYS@groupts> SELECT * FROM DBA_ROLE_PRIVS WHERE GRANTEE='Scott';
GRANTEE GRANTED_ROLE ADMIN_OPT DEFAULT_R
-------------------- -------------------- --------- ---------
Scott RESOURCE NO YES
Scott CONNECT NO YES
查看Scott系统权限
SYS@groupts> SELECT * FROM DBA_TAB_PRIVS WHERE grantee='Scott';
no rows selected
上述可以看出,Scott账号的默认角色:connect和resource,就是常规的开发者权限,没什么神秘的嘛。
查看11g的帮助文档,Scott用户也多为示例示范。
Scott有何缘故?
不查不知道:个钟还有情怀在。
从Oracle第一个商业化版本至今,oracle的默认数据库里均包含Scott账号,密码为tiger。
这个Scott究竟有何来历?
追朔到Oracle的创业阶段, 1977年6月,埃里森,Bob Miner和Ed Oates在硅谷共同创办了一家名为软件开发实验室(Software Development Laboratories,SDL)的公司,也是ORACLE公司的前身,启动资金仅有2000美元,其中1200美元来自埃里森。
这里放张埃里森的肖像图。
当时埃里森年界32岁,为电子公司Ampex工作时,该公司为CIA建立了一个代号为“ORACLE”的数据库,这也让埃里森萌生了自己创业的想法。由于合同的关系,埃里森在电子公司Ampex自己不能出来,只是一个程序员。但新成立的软件开发实验室(Software Development Laboratories,SDL)总要有写代码的人,公司的第一个程序员出现了,工程师名字就是Scott,养的猫的名字叫tiger。
为啥截止11g版本,Oracle保留用户Scott?
个人推断:搞程序开发的,骨子里都会有一种情怀,公司成长起来后,创始人也会有意无意的作为段子在各种大小场合进行调侃。推断应该是Oracle公司前身SDL公司的第一位程序员,所以一直保留有Scott这个用户,作为一种情怀,留恋至今,可以理解。
为何在12c以上版本中不再存保留Scott?
个人推断:11g将数据中心从分散的系统资源孤岛转换为包含服务器和存储的共享池;12c提出了CDB和PDB的概念,实现云数据库的支持,提供云平台管理,这是11所没有的。在Oracle 12C之前,实例与数据库是一对一或多对一关系(RAC):即一个实例只能与一个数据库相关联,实例与数据库不可能是一对多的关系。当进入oracle 12C后,实例与数据库可以是一对多的关系。
一句话:Oracle 12c是为云计算设计,是Oracle公司往云转变的一个分水岭。既然是一个新时代,那有些旧有的东西也就可以打破/舍弃了。
【总结】
1.今天心血来潮,讲述了下Scott账号的来由、作用和12c不再默认保留的个人推断;
2.Oracle云时代de 到来,久观点的弃用,新概念的引进;这个时代无处不变,破旧立新,也可以理解;
3.单从目前NoSQL、NewSQL、大数据、云计算、AI的发展来看,这是一个风云跌宕的时代,深处其中的你我也应放的眼光长远些,长打算,早打算;正如我个人公众号“一森咖记”中介绍一样:认清大势,亦有自己的一份小坚持。
【参考】
https://baijiahao.baidu.com/s?id=1609674215067990198&wfr=spider&for=pc
作者:ethan_yang
公众号:一森咖记
格言:认清大势,亦有一份小坚持
欢迎关注个人微信公众号;
长按以下二维码或公众号搜索“一森咖记”
往期精彩文章
=====================================