安装虚拟机
学习使用,我强烈建议把Oracle安装到虚拟机上,万一搞崩了,借助快照回滚一下虚拟机就可以了。本博客我也是以虚拟机上的Oracle为例。
https://blog.csdn.net/qq_43290318/article/details/107704675
网上教程一搜一大把,也可以参照上述博客。但是注意的是,在系统分区时:Linux上安装Oracle的分区至少是20G,否则空间会不够!重复一次,随便你把Oracle安装到哪个分区,但是那个分区至少有20G的空间!
因为整个Oracle安装后,能够占十几G的大小。在上述博客中,我额外在系统分区时,新建了一个 /data 分区,用来放我自己杂七杂八的东西。我建议 看本博客的同学 ,也额外新建一个分区,并分配至少20G的大小,然后把Oracle装到这个新分区。命名最好也叫 /data,因为下面的安装过程也是 以 /data 为例。
安装Oracle
https://www.cnblogs.com/mmzs/p/9033112.html
这篇博客详细描述了整个Oracle的整个安装过程和各种坑,我也是照着安装的。版本跟上述版本的一样,直接照着做就行。新版本的安装有点不一样。
注意,在从官网下载完Oracle的镜像之后,无需将它从宿主机复制到虚拟机。可以通过Vmware共享文件夹来实现!!!
Oracle基本命令
在虚拟机的终端操作:
# 在Linux上切换系统用户为oracle
su -l oracle;
# 查看oracle的端口监听是否启动。用于【远程连接】。默认端口号:1521
lsnrctl status;
# 启动监听。注意一定要在oracle用户下执行
# 注意默认它不是开机自启动的,所以虚拟机重启后,需要手动启动监听
lsnrctl start;
# 停止监听
lsnrctl stop;
# 使用sqlplus工具连接oracle
# 使用系统用户校验登录。以用户sys登录
sqlplus / as sysdba;
# 等价于
sqlplus sys/密码 as sysdba;
# 使用sqlplus工具连接远程的oracle。以sys用户为例
sqlplus sys/密码@主机ip:1521/实例名 as sysdba;
# 连接oracle之后,注意要启动默认实例!!!如果当前默认实例没启动,是没办法操作数据库的。
startup;
# 默认会有一个锁定的scott用户,给scott用户解锁
alter user scott accout unlock;
# scott的默认密码为:tiger。给它更改密码
alter user scott identified by 新密码;
# 查看当前登录用户
show user;
# 查看当前所有的数据库。需要dba权限的帐号,如sys,system
select * from v$database;
select name from v$database;
# 查看当前实例
select * from v$instance;
# 查看数据库的所有用户
select * from dba_users;
select username, password from dba_users;
# 查看所有用户的所有表
select * from all_tables;
# 查看当前登录用户的所有表
select * from user_tables;
# 查看某个指定用户的所有表。
select * from all_tables where OWNER='大写的用户名';
设置Oracle开机自启动
1、确认环境变量 ORACLE_HOME
# 切换成oracle用户
# 查看ORACLE_HOME。注意在root用户下是无法查看的
echo $ORACLE_HOME
2、修改启动脚本 dbstart
vim $ORACLE_HOME/bin/dbstart
然后将 ORACLE_HOME_LISTNER=$1 改成 ORACLE_HOME_LISTNER=$ORACLE_HOME
3、修改 /etc/oratab 文件
dbca建库时都会自动创建/etc/oratab文件
vim /etc/oratab
修改如下图
4、编辑/etc/rc.d/rc.local启动文件,添加至末尾
su oracle -lc /data/oracle/product/11.2.0/bin/dbstart
5、赋予rc.loacl执行权限
chmod 755 /etc/rc.d/rc.local
6、重启测试,略
用Navicat 连接 Oracle
在上面我们使用sqlplus工具连接oracle。但我们发现了两个极其不友好的地方:
1、一般来说,oracle自带了sqlplus工具。但如果我们连接远程服务器上的oracle,本机自然是没有sqlplus工具。当然你也可以通过xshell等工具连接到远程的主机,直接操作远程主机来连接oracle。或者使用oracle官方提供的完整版客户端,但体验不够Navicat那么好。
2、毕竟是在终端操作,输入命令比较麻烦之外,对于 输出宽度较大的表格 等超出屏幕缓冲区宽度的数据,会因为被迫换行导致及其难看。如下图:
1、安装Navicat
Navicat的强大,能够解决上述两问题。在这里我推荐一个Navicat 15的破解版:
https://www.cnblogs.com/kkdaj/p/12794804.html
2、给Navicat设置oci环境
注意:一定要去官网下载对应版本的oci文件!!!
64位windows的oci:https://www.oracle.com/database/technologies/instant-client/winx64-64-downloads.html
我用的是Oracle版本是11.2.0.1.0。你会发现在上述连接找不到这个版本的简化版客户端,那就下载下面这个版本。在Navicat设置oci的路径后,重启Navicat!!!
3、新建连接
注意连接之前,一定要:
(1)开启oracle的端口监听
(2)启动oracle的默认实例