Oracle创建库及使用的流程
前言
目前常用的关系型数据库常用的就MYSQL、ORACLE;大多数项目(偏中小型)情况下MYSQL就能满足,而且相对而言使用比较简单,想必是大家的常规选择,也可能现在的开发者也许都很少接触ORACLE。ORACLE相对MYSQL而言,确实性能和稳定性比较好,当表上了几百万数据库,能感觉到MYSQL的无力,这里就需要厉害的数据库管理人员,进行数据库优化(索引优化、读写分离、分库分表等),不然很难使用。
就我亲身经历而言,小哥第一个中型项目就是使用的ORACLE,平台级项目,数据量也能到千万级,项目运行了一年多,数据库技能上没有出现过什么问题,最多处理就是归档日志满了,清理归档日志。第二个中型项目,使用的MYSQL,当最大表数据库到达到百万级之后,很多业务有时会变得比较慢,也是一年多时间内(偏互联网应用,访问比较大),数据库出现问题的次数不下于十五次,访问量变大时,稍稍一条SQL没有写的太好,很容易也就卡带了,导致整个应用崩溃。不过现在这个项目最大表记录已经一千万了,也有相对厉害的数据库人员在维护,还过的去。
公司近期有个新项目,很要求稳定性和性能(项目服务的人群特殊),上级领导有意要使用ORACLE,叫小哥去搭建项目模板出来。就是ORACLE创建库这个过程,小哥也花了不少时间,才明白是怎么回事,下面就进入到正式的主题。
主题
一、对比MYSQL
想必大家都对MYSQL比较熟悉,MYSQL搭建好之后,使用连接工具进行连接后,在打开数据库连接后,右键新建数据库就可以为项目创建库了。
而使用连接工具连接ORACLE之后,没有创建数据库的选项,懵逼中,,,
二、ORACLE创库
其实ORACLE也不叫创库(MYSQL使用多了,概念被混淆了),ORACLE的数据库表是需要放到指定的用户下,于是ORACLE创库是叫创建用户。
创建用户的步骤大致是:a、创建表空间;b、创建用户;c、为用户授权;
1、使用命令行工具,DBA方式连接ORACLE
sqlplus sys/123456 as sysdba;
2、创建表空间
create tablespace ZYSERVICESPACE datafile 'E:/Application/ORACLE/oradata/orcl/ZYSERVICESPACE.dbf' size 1024m autoextend on next 100m maxsize unlimited;
-
datafile:指定表空间文件存储的位置;
-
size:表空间初始值大小;
-
autoextend:开启表空间大小自动扩展;
-
next:每次启动扩招的大小;
-
maxsize:表空间的最大值,unlimited表示无限制;
3、创建用户,关联表空间
create user ZYDEVER identified by "zydev2021" default tablespace ZYSERVICESPACE profile default account unlock;
4、为用户授权
grant connect, resource to ZYDEVER; grant unlimited tablespace to ZYDEVER;
三、连接使用
执行完上面的操作后,就可以刚创建的用户使用数据库进行连接了,也可以在项目用户进行创表,执行SQL,进行项目开发了。
但是不知道为何,明明使用的是项目用户连接,数据库连接下面可以看到很多其他的用户?
就表示不懂,尝试了各种解决办法,都没有办法直接去掉,后面只能在连接工具上进行如下处理,数据库连接下就只能看到项目用户(库),
这样可以避免其他误操作,同时更加聚焦项目;
设置好之后,只能看到项目用户(库)了,这样就很舒服。
四、额外说明
ORACLE删除用户:
drop user ZYDEVER;
ORALCE删除表空间:
-- 先将其下线 alter tablespace ZYSERVICESPACE offline; -- 将磁盘上的数据文件一同删除 drop tablespace ZYSERVICESPACE including contents and datafiles;
成功 = 正确的选择 + 实际的行动 + 长期的坚持;