创建数据库

DBCA

在oracle账号下键入dbca(注意,xmanager或者vnc要配置好)

数据库模式选择高级模式,下一步继续

OLTP的单实例数据库,下一步继续

根据实际情况设置本地数据库名和sid,我这里就不显示创建CDB和PDB了,下一步继续

因为是单实例练习环境,我就不配置ASM了,这里选择文件系统,把OMF表空间功能打开,下一步继续

生产环境快速闪回区和归档都是要开的,我这里其实都不想开,下一步继续

这里可以加载到刚才配置的监听程序,如果没有创建,在这里也可以创建,下一步继续

不配置Oracle合规以及安全相关了,下一步继续

这里面几个涉及到共享内存(sga&pga),调整大小主要是进程大小(processes),字符集默认就是AL32UTF8就好,连接模式要专用,示例方案可以打钩,下一步继续

不装OEM,未来用OEM CC,下一步继续

不同口令安全性高一些,但是这里就统一了,为了省事,下一步继续

创建数据库勾选,有兴趣的,建议看一下初始化参数那里(后面章节会具体讲到),下一步继续

基本信息确认无误后,点击完成开始建库

本地Net服务名配置

NETCA

选择本地Net服务名配置,下一步继续

因为已经有库了,所以直接测试即可,下一步继续

找到了库名相同的服务,下一步继续

用system用户测试,输入正确密码,测试成功

网络配置

手动监听文件配置

根据上图显示路径编辑监听文件listener.ora

第一段是监听主体

地址段主要包括协议类型(TCP),主机名(IP或者域名),端口号(默认1521)

第二段主要是SID监听主体

包括sid名称和Oracle安装路径

启动一下监听程序,可以看到命令执行成功

本地Net服务名配置

按上图所示,手动配置本地Net服务名

与SID相同的服务名,连接数据中,采用专用模式(DEDICATED)

手工建库

在生产环境中,经常会遇到数据库服务器没有安装X-Windows或者没有图像界面的情况,这时就需要我们使用手工脚本来创建数据库,因此会熟练的编写建库脚本,也是Oracle DBA必需的基本技术。

准备活动

创建一些必要文件夹

第一行:审计日志存放处
第二行:核心日志存放处
第三&四行:数据目录存放处(控制文件也可以放这里)

如果是开归档,还有arch的存放目录,分开放比较安全,也对I/O有好处

初始化参数

根据上图所示目录,编写初始化参数文件(initSID.ora)

第一行:数据库版本号(精确到小版本)
第二行:数据库名称
第三&四行:自动共享内存分配
第五&六行:回滚段表空间设置
第七行:审计日志存放处
第八行:核心日志存放处
第九行:控制文件存放处(很重要,多存几个备份)
第十行:数据库实例名

创建数据库密码文件

Entries是允许sys用户进入的进程,如果不限制就写0

建库脚本

创建建库脚本(名称和路径自己开心就好,主要是内容)

第一行:数据库名称
第二&三行:sys和system用户及密码
第四五六行:redo日志文件组(注意,是文件组,里面可以有几个redo log在下面配置)
第七八九行:最大日志文件数及每个组可以存的最大日志文件数,最大归档文件历史记录(归档日志数量)
第十行:最大数据文件数量
第十一行:最大数据库实例数量(单实例 or RAC)
第十二&十三行:数据库字符集与国家字符集
第十四行:system表空间(最重要的表空间)
第十五行:sysaux表空间(存放重要的OEM和流)
第十六行:临时表空间
第十七行:回滚段表空间

后面两个select分别是查询数据库实例状态与数据库状态
然后两个表空间创建分别是users和example表空间

必要启动脚本

编写必要启动脚本,12C R2后推荐使用 catcon.pl 执行SQL脚本,不过这个在本章节不做详细讨论

第一行:数据库字典,动态视图创建等(必须)
第二行:PL/SQL存过过程相关代码(必须)
第三行:创建有关locks的视图
第四行:创建加密工具包(非必须)
第五行:创建dbms_shared_pool包(重要)
第六行:创建工作空间管理(非必须)
第七行:创建编译脚本(必须)
第八行:创建演示脚本(非必须)

启动数据库

按上图所示,启动Oracle数据库到nomount状态,并且从静态初始化参数文件转为动态初始化参数文件启动

创建数据库

启动数据库到nomount状态,然后执行建库脚本,完成后,执行必要脚本

SQL> @ ?/sqlplus/admin/pupbld.sql SQL> @ ?/sqlplus/admin/help/hlpbld.sql helpus

执行完毕后,使用system用户登录到数据库中,执行上述两条命令,至此数据库完全创建完毕并可用

查看监听状态

确认Oracle数据库创建ok,监听程序启动ok