使用 DBCA
创建数据库
安装好 Oracle 12c 数据库软件后, 就可以开始创建数据库了.
- 可以使用 SQL 创建.
- 可以使用 DBCA 工具进行创建.
1. 查看数据库目录
可以使用环境变量来查看数据库目录:
ll $ORACLE_BASE
这里表示只有一个数据库软件, 还没有数据库.
可以先简单查看一下目录中的内容. 主要是一些名为 admin 的目录
2. 执行 dbca
dbca 数据库配置助手, 命名为 database configuration assistant.
执行命令: dbca
该命令在目录
$ORACLE_HOME/bin
下, 由于之前配置了环境变量, 因此可以直接运行.
然后进入向导:
如果是第一次安装数据库, 仅有两个选项:
- 创建数据库 (Create Database)
- 管理模板 (Manage Templates)
其他选项未被激活.
2.1 配置数据库
点击下一步后进入创建模式的选择, 有两个选择:
- 使用默认配置
- 高级模式
如果使用模型配置, 这里只需要设置数据库名字, 管理员密码, 以及创建容器数据库, 和插件数据库名.
其中容器数据库是 12c 中的一个特性. 这里我们选择高级模式, 可以一步步进行配置.
可以看到选择高级模式后, 左侧的步骤条变多了.
选择下一步, 进入数据库模板的选择:
这里展示三个模板, 分别是:
- 事务处理数据库, 也就是通常所说的 OLTP, 联机事务处理数据库.
- 自定义数据库.
- 用于数据仓库的数据库.
一般选择第一个, 事务型数据库. 然后点击下一步:
此时设置全局数据库名字, 以及系统唯一标识 (SID).
参考之前环境变量配置中配置的 SID 为 orcl
这里容器数据库的复选框不用勾选 (后面会详细介绍). 点击下一步
进入设置指定管理选项. 这里配置的是 Oracle 自带的管理选项, 端口使用 5500, 默认即可. 点击下一步
进入管理员密码设置向导
上面使用不同的密码, 下面选项则是使用相同的密码进行管理, 并且输入密码如果不安全会给提示.
这里使用统一密码 Sa12345678
, 然后点击下一步
然后进入监听器的选择, 这里没有启用监听器, 所以这里什么也没有, 直接点击下一步
这里分别设置:
- 数据库存储文件系统, 默认使用文件系统, 还有一个 ASM, 自动存储管理, 以后介绍. 这里默认即可.
- 设置快闪恢复区以及大小. 保持默认即可.
- 是否启用归档, 也是默认.
下一步进入示例数据库的选择 (Schema 这里可以直接翻译为数据库)
选中示例数据库, 这样会安装 Oracle 自带的示例数据库, 以供 sql 等的学习. 另一个窗口可以保持默认. 点击下一步:
这里有 4 个选项卡, 分别用于设置: 内存, 大小, 字符集, 以及连接模式.
内存这里可以看到使用了自动内存管理:
大小这里由于采用了默认的数据库模板, 这里无法修改
字符集默认选中的是第一个, 这里我们修改为第二项 AL32UTF8
连接这里默认选中 "专有服务模式", 一般 OLTP 都是使用专有连接, 默认即可:
点击下一步进入创建的配置:
这里有三个选项:
- 创建数据库.
- 是否将我们的配置保存为模板, 以供下次创建数据库使用.
- 是否需要保存创建过程的 脚本 (SQL 语句), 以及保存脚本的位置.
点击下一步进入数据库创建的概要页面, 可以查看整个配置的清单.
2.2 创建数据库
点击下一步进入数据库创建的过程
然后等待安装即可.
安装完成后会展示出结果, 以及密码配置.
这里显示了:
- 数据库脚本创建成功以及其位置.
- 模板创建完成.
- 数据库创建完毕, 详细信息可以在对应位置进行查看.
- 以及数据库的一些信息.
查看密码管理, 可以看到大部分密码都处于锁定状态, 这个不用修改, 后面使用的时候会进行介绍.
最后点击关闭, 完成数据库的创建.
3. 连接数据库
进入命令行, 使用命令 sqlplus 连接数据库. 该方法采用操作系统的认证方式, 可以直接连接数据库.
sqlplus / as sysdba
该命令的含义是以数据库管理员 (sysdba) 的角色连接并登录数据库:
然后执行 SQL 语句, 查询视图 v$instance
来查看实例名与状态
SELECT INSTANCE_NAME, STATUS FROM v$instance;
注意 SQL 语句以 分号 结尾.
执行 exit
退出.
我们还可以运行 sqlplus
, 但不登录. 使用命令:
sqlplus /nolog
此时没有连接到数据库. 如果执行 sql 语句会报错未连接:
使用下面命令连接到数据库
conn / as sysdba
会得到连接完成的提示. 然后再执行 sql 语句:
3.1 安装 rlwrap (未成功)
默认情况下 SQLPlus 无法使用上下键来切换之前输入的 SQL 语句.
因此安装 rlwrap, 然后对 SQLPlus 重新包装 (使用该软件), 即可支持上下键切换之前输入的 SQL 语句了.
但由于不清楚源, 无法下载对应包, 而下载较新的软件后发现缺少相关的依赖软件无法安装成功.
这里将简要整理安装步骤:
- 视频中使用的软装软件是:
rlwrap-0.41-1.1.x86_64.rpm
- 然后使用安装命令:
rpm -ivh rlwrap-0.41-1.1.x86_64.rpm
然后配置环境变量 (修改 .bash_profile
), 添加下面别名:
alias sqlplus='rlwrap sqlplus'
3.2 安装 rlwrap (安装了0.42的版本)
首先进入网站 https://pkgs.org/ 搜索 rlwrap
考虑使用的 yum 工具 这里选择 Enterprise Linux 7 的发行版
点进去后, 下拉找到 Download
可以下载安装, 但是会出现各种依赖库的问题 (该系统相对较老). 因此访问其网站: https://dl.fedoraproject.org/pub/epel/ 找寻其他版本:
这里选择了版本 5, 进入后需要导航到另一个站点:
直接进入该站点, 依次点击 5
, x86_64
, ctrl + f
搜索 rlw
, 即可找到:
这个过程找了很久.
下载到本地后, 利用 ftp 软件, 用 root 登录账户, 将其上传到服务器上, 这里使用 ~/Downloads
目录
然后使用登录到 Linux, 使用切换至 root 账户, 转到 ~/Downloads
目录, 执行命令进行安装:
ssh oracle@192.168.56.108
su -
cd Downloads
rpm -ivh rlwrap-0.42-1.el6.x86_64.rpm
3.3 为 sqlplus 设置别名
切换回 oracle 账户.
找到 .bash_profile
文件, 在结尾添加命令:
alias sqlplus='rlwrap sqlplus'
应用该配置后, 再次使用 sqlplus 连接数据库, 即可测试上下键.
4. 安装 PLSQL
PLSQL 是一个客户端, 用于编写处理 SQL 语句
4.1 下载 PLSQL
4.2 下载 Oracle 的驱动
4.3 配置环境变量
- TNS_ADMIN
- NLS_LANG
以sys用户登录 (sqlplus / as sysdba) 执行 SELECT userenv('LANGUAGE') from dual;
连接数据库的方法
- os 的验证方式
- easy connect 方式
- sqlplus sys/system@ip:port/sid as sysdba
启动监听器
查看监听器的命令 lsnrctl status
启用监听器 lsnrctl start
停止监听器 lsnrctl stop
启动后看监听器状态依旧是无服务, 需要使用 sqlplus 连接到数据库后, 进行注册 alter system register; 再看监听器状态
使用PLSQL连接, 管理员需要以 SYSDBA 连接, 权限最高, SYSOper 也是管理用户, 但权限地点
查看字符集视图 NLS_DATABASE_PARAMETERS
关闭数据库
在 SQLPlus 中> shutdown immediate
> 如果使用 easyconnect 的方式连接, 会报错, 因为是动态注册的
启动数据库, 先进入 SQLPlus
看到 COnnected to an idle instance 说明数据库没有启动/没有实例
在执行 startup 启动数据库
删除数据库
- 先用 dbca 先创建一个 test
- 再删除(基本就是下一步下一步, 但是最好记住做了什么, 这样才方便手动删除)