前言:目前国内大部分大公司如华为、中兴和平安科技等互联网公司用到的关系型数据库大多是oracle数据库,oracle数据库相比于其他主流数据库如MySQL,SqlServer和PostgreSQL数据库都有各自的优缺点,大家可以自行去网上了解。mysql等免费型的数据库相比于oracle这种商用型数据库,一般不支持上亿级别的大数据的存储。本人在公司用的多的行业是oracle数据库,在在公司里一般不需要自己安装Oracle数据库服务器,只需要安装客户端连接工具PL Sql/Developer操作数据库即可,所以难以把Oracle数据库的详细安装过程弄清楚。自己毕竟不是DBA,在开发过程中发现自己对于一些修改表结构,添加表字段的sql语句以及存储过程并不十分熟练,因此决定在家装个oracle数据库记下学习oracle 数据库过程的 笔记,以备日后需要的时候方便查阅,也希望能帮助到需要快速上手oracle数据库的同学。之前比较流行的oracle数据库版本是11g版本,目前oracle数据库的最新版本是12c,下面记录了自己安装oracle database 12c过程及简单连接数据库操作sql的过程,当初安装时也是中途出现各种安装失败的报错,博客上找了很多与我遇到的问题类似的解决方案,化了九牛二虎之力后总算把Oracle数据库安装成功了,值得把正确的安装详细过程记录下来。
1. oracle 12c 数据库压缩包的下载和安装
oracle 12c 数据库压缩包的下载和安装请参考这篇文章,过程非常详细:https://blog.csdn.net/qq_37939251/article/details/82964479
如果你的电脑之前安装过oracle数据库之前的版本,卸载后安装oracle 12c出现失败的情况,那么请参考下面的方法解决:
1) 点击电脑左下角的圆形搜索按钮,弹出搜索框后输入“regedit”,出现regedit命令,点击进入编辑注册表页面
2) 依次点击HKEY_LOCAL_MACHINE->SOFTWARE找到ORACLE子目录,然后选中删除(需要管理员权限),删除了oracle注册信息表项并重启计算机后就可以删除C:\Program Files\Oracle目录下的oracle残余文件,重新安装oracle 12c就不会出现中途错误而安装失败的情况
下面贴上自己将文件解压缩后的安装过程图解
1) 点击setup.exe安装文件,经过检查安装条件后出现如下安装界面
2) 填入自己的邮箱后,并取消勾选“我希望通过 My oracle Supout 接收安全更新”选项后点击下一步
3) 选择默认选项“创建和配置数据库”
6. 安装PLSQL/Developer客户端连接工具
4) 选择“桌面类”,点击下一步
5) 选择创建新windows用户,用户名:heshengfu1212和口令和确认口令:********(字母+数字),最好记录下口令明文到自己的记事本文件中,以免忘记了不方便日后操作。
6) 点击下一步,进入典型安装配置界面,输入管理口令和确认口令: ******,修改全局数据库名为oracle, 可插入数据库名:prdoracle,其他选择默认
7) 接着一路点下一步
8)SYS和SYSTEM系统账户口令管理
SYS:大写字母+小写字母+数字
SYSTEM: 大写字母+小写字母+数字
输入两个系统账号的新口令和确认口令,心口令和确认口令相同,保持一致,最好把口令保存到oracle相关的记事本文件中,方便以后需要的时候查看。
2. 配置oracle数据库监听器和服务实例
2.1 修改0racle数据listener.ORA和tnsnames.oRA两个配置文件
进入oracle的安装目录F:\app\heshengfu1212\product\12.1.0\dbhome_1\NETWORK\ADMIN
将撒sample文件夹中的listener.ora和tnsnames.ora文件拷贝到ADMIN目录下
1) 修改后的listener.ORA文件内容如下:
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = CLRExtProc)
(ORACLE_HOME = F:\app\heshengfu1212\product\12.1.0\dbhome_1)
(PROGRAM = extproc)
(ENVS = "EXTPROC_DLLS=ONLY:F:\app\heshengfu1212\product\12.1.0\dbhome_1\bin\oraclr12.dll")
)
)
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
)
)
2)修改后的tnsnames.ora文件内容如下,配置了3个oracle服务实例
LISTENER_ORCL =
(ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
ORACLR_CONNECTION_DATA =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
)
(CONNECT_DATA =
(SID = CLRExtProc)
(PRESENTATION = RO)
)
)
ORCL =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = orcl)
)
)
3. 配置oracle数据库的环境变量
进入电脑的高级系统设置进入环境变量设置界面
1)新建TNS-ADMIN变量,值为Oracle应用的安装目录下的ADMIN目录
本人的oracle安装目录为:F:\app\heshengfu1212\product\12.1.0\dbhome_1\NETWORK\ADMIN
2)新建NLS变量,变量值为SIMPLIFIED CHINESE_CHINA.AL32UTF8
3)新建NLS_LANG变量,变量值为SIMPLIFIED CHINESE_CHINA.ZHS16GBK
4) 编辑Path环境变量,点击新建按钮,添加Oracle的启动路径
F:\app\heshengfu1212\product\12.1.0\dbhome_1\bin如下所示(读者需要把bin之前的目录换成你自己的oracle dbhome_1安装目录)
然后保存退出使环境变量生效。
3. 开启Oracle数据库的监听服务
在我的桌面点击鼠标选中“此电脑”->右键->在弹出的菜单中选择管理->在弹出框中选择右侧的“服务和应用程序”->双击“服务”
找到oracle的监听器服务,并启用服务,如下图所示:
4. 在浏览器端输入https://localhost:5500/em,回车后选择高级忽略安全提示,进入oracle数据库的管理登录页面,如下图所示:
5. 再右下角的登录框中输入SYSTEM用户和它对应的口令(安装oracle数据库时配置的),点击登录按钮,能成功进入本地的数据库管理目录查看Oracle服务器性能指标表示Oracle数据库安装成功!
6. PL SQL/Developer 客户端数据库连接工具的安装和使用
PL SQL/Developer 客户端数据库连接工具版本plsqldev1105,plsqldev压缩包可至笔者的百度网盘下载: https://pan.baidu.com/s/1rYT4GMqyId_Er1wY_aN7mQ
提取码:0lo9
复制这段内容后打开百度网盘手机App,操作更方便哦
安装请参考这篇博客并完成注册码和序列号工作获得永久使用权,里面讲得非常详细: PLSQL Developer(安装、连接、汉化、注册图文教程)
7. PL SQL/Developer客户端连接工具的使用
安装好PL SQL/Developer工具并发送到桌面快捷方式后,点击PL SQL/Developer的图标打开登陆对话框,用户名输入SYSTEM,密码输入之前安装oracle时配置的SYSTEM用户对应的密码,数据库选择ORCL,角色选择SYSDBA管理员角色,然后点击OK按钮连接oracle数据库服务器
1) 创建新用户
登陆成功后,鼠标选中左侧菜单栏Objects目录下的Users,右键->New,打开创建用户对话框创建公共用户名为c##robbot(合法的公共用户名必须以c##开头,否则创建失败),密码为******(英文字母+数字+特殊字符自定义密码,并记下明文密码),默认表空间选择SYSAUX,临时表空间选择TEMP,环境(Profile)选择DEFAULT,然后点击Apply完成新用户的创建。通过对话框的view SQL按钮可以查看创建用户的sql脚本
2)创建表
--建表
create table SYSTEM.user_info(
user_id number(18) primary key,
user_name varchar2(30) not null,
alias_name varchar2(50),
phone_num number(11),
family_address varchar2(100),
email_address varchar2(30),
birth_day date
)initrans 6;
--注释
comment on table SYSTEM.user_info is '用户信息表';
comment on column SYSTEM.user_info.USER_ID is '用户ID,18位省份证号码';
comment on column SYSTEM.user_info.USER_NAME is '用户姓名';
comment on column SYSTEM.user_info.ALIAS_NAME is '别名/昵称';
comment on column SYSTEM.user_info.PHONE_NUM is '手机号码';
comment on column SYSTEM.user_info.FAMILY_ADDRESS is '家庭地址';
comment on column SYSTEM.user_info.EMAIL_ADDRESS is '邮箱';
comment on column SYSTEM.user_info.BIRTH_DAY is '出生日期,yyyy-MM-dd';
--创建索引
create unique index SYSTEM.pk_user_phone on SYSTEM.user_info(phone_num) initrans 16;
create unique index SYSTEM.pk_user_email on SYSTEM.user_info(email_address) initrans 16;
--创建同义词
create public synonym tbl_user_info for SYSTEM.user_info;
--授权
grant select,insert,update,delete on SYSTEM.user_info to c##robbot;
--回滚脚本
drop public synonym tbl_user_info;
drop table SYSTEM.user_info;
选中一段完整的sql脚本后,点击上图所示的标记按钮或者按F9键即可执行选中的sql语句
oracle 数据库服务器的安装和配置以及PL Sql/Developer客户端UI工具的安装和使用就讲到这吧,都是些最基础但却很注重细节的知识,之后有时间会写一篇在Spring Boot项目中使用JDBC连接Oracle数据库的博文以及一些设计修改表结构和关于存储过程、调用函数的sql的demo。