• 正文
  • 相关推荐
申请入驻 产业图谱

DBA | Oracle 数据库创建与删除操作实践

05/12 12:26
1058
加入交流群
扫码加入
获取工程师必备礼包
参与热点资讯讨论

大家好,我是 WeiyiGeek,一名深耕安全运维开发(SecOpsDev)领域的技术从业者,致力于探索DevOps与安全的融合(DevSecOps),自动化运维工具开发与实践,企业网络安全防护,欢迎各位道友一起学习交流、一起进步 ,若此文对你有帮助,一定记得倒点个关注⭐与小红星❤️,收藏学习不迷路  。

Oracle 数据库创建与删除

实践案例:业务上线需要创建一个新数据库,业务下线不再使用删除原本使用的数据库。

创建数据库

步骤 01.作者以 Windows 2019 环境中安装部署的 Oracle 12C 为例,在 Windows 系统下进行演示,使用 Database Configuration Assistant 可视化工具创建。

# Linux
dbca
# Windows
C:apporacleproduct12.2.0dbhome_1bindbca

步骤 02.创建一个 itgeekdb 数据库, 口令为WeiyiGeek123456.,数据库字符集为ZHS16GBK

weiyigeek.top-新创建itgeek数据库

步骤 03.点击【下一步】,在数据库概要中再次确定,数据库相关配置。

weiyigeek.top-查看数据库概要

步骤 04.最后,点击【完成】进入到 itgeekdb 数据库的创建阶段,若有错误可查看 DBCA 日志文件,并根据错误在Google中找寻解决办法即可,创建完毕后,将如下所示,可以按需要进行启用额外账户,

weiyigeek.top-数据库创建结果

步骤 05.创建完毕后将会在生产如下目录及相关文件,这都是比较重要的作者也简单罗列一下。

# 数据库文件
C:apporacleoradataITGEEKDB
C:apporacleadminitgeekdb

# 归档日志文件
C:apporaclefast_recovery_areaitgeekdbITGEEKDB

# SPFILE 参数文件
C:apporacleproduct12.2.0dbhome_1databaseSPFILEITGEEKDB.ORA

# TNS 服务名称配置,创建数据库时自动创建
C:apporacleproduct12.2.0dbhome_1networkadmintnsnames.ora
ITGEEKDB =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = winoracle12c)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = itgeekdb)
    )
  )

LISTENER_ITGEEKDB =
  (ADDRESS = (PROTOCOL = TCP)(HOST = winoracle12c)(PORT = 1521))

步骤 06.访问创建的数据库,使用 SQL*Plus 连接工具。

# 设置客户端字符集环境变量,否则可能出现乱码问题。
set nls_lang=SIMPLIFIED CHINESE_CHINA.ZHS16GBK

# 以普通用户身份连接数据库,例如 system 账户,SYSTEM@itgeekdb
sqlplus system/WeiyiGeek123456.@itgeekdb  
# 或者,以dba身份连接,在本地控制台,及时密码为空、不对也还能登录,例如 sys 账户,SYS@itgeekdb
sqlplus 127.0.0.1:1521/itgeekdb as sysdba

# 查看数据库实例状态
> select instance_name,status from v$instance;
INSTANCE_NAME                    STATUS
-------------------------------- ------------------------
itgeekdb                         OPEN

# 查看数据库字符集和语言编码
> SELECT
  2    userenv('language') AS db_language,
  3    userenv('lang') AS lang_code
  4  FROM dual;
DB_LANGUAGE                                                                                              LANG_CODE
-------------------------------------------------------------------------------------------------------- --------------------------------------------------------------------------------------------------------
SIMPLIFIED CHINESE_CHINA.ZHS16GBK                                                                        ZHS

weiyigeek.top-验证创建的itgeekdb数据库实例状态图

至此,数据库创建完毕,接下来就可以进行数据库的日常运维工作了。

删除数据库

温馨提示:由于后续环境还需要使用到 itgeekdb 数据库,所以这里大家可以简单了解一下即可,当然你也可以尝试一下删除,之后再创建,这样会更加深刻理解。

步骤 01.首先停止监听,命令行执行lsnrctl stop,防止在删除时有用户连接占用。

步骤 02.在 Windows 系统下,打开 Database Configuration Assistant 可视化工具,选择【删除数据库】,然后点击下一步。

# Linux
dbca
# Windows
C:apporacleproduct12.2.0dbhome_1bindbca

weiyigeek.top-删除数据库图

步骤 03.选择要删除的数据库实例 itgeekdb ,此处特别注意如果禁用了基于操作系统的验证,则需要提供数据库身份证证明,我们输入创建数据库实例时输入的sys/system账号密码,然后点击下一步。

weiyigeek.top-DBCA删除数据库界面

步骤 04.由于我们没有注册 Enterprise Manager(EM)Cloud Control,所以此直接点击下一步。

步骤 05.进入到数据库删除确认界面,罗列了将要删除的数据库实例、控制文件,以及数据文件等,点击【完成】开始执行数据库的删除操作,有个提示选择【是】即可。

weiyigeek.top-确认删除数据库图

步骤 06.在进度页面,可查看到数据库删除进度,完成将可以看到如下界面,则表名删除成功。

weiyigeek.top-完成数据库删除图

温馨提示:在删除数据库实例后,listener.ora 与 tnsnames.ora 文件中要被删除数据库实例的相关配置并不会被移除,但是数据库实例的目录会被删除:

weiyigeek.top-实例数据目录被移除图

加入:作者【全栈工程师修炼指南】知识星球

『 全栈工程师修炼指南』星球,主要涉及全栈工程师(Full Stack Development)实践文章,包括但不限于企业SecDevOps和网络安全等保合规、安全渗透测试、编程开发、云原生(Cloud Native)、物联网工业控制(IOT)、人工智能Ai,从业书籍笔记,人生职场认识等方面资料或文章。

Q: 加入作者【全栈工程师修炼指南】星球后有啥好处?

✅ 将获得作者最新工作学习实践文章以及网盘资源。

✅ 将获得作者珍藏多年的全栈学习笔记(需连续两年及以上老星球友,也可单次购买)。

✅ 将获得作者专门答疑学习交流群,解决在工作学习中的问题。

✅ 将获得作者远程支持(在作者能力范围内且合规)。

目前新人仅需 69 元即可加入作者星球,数量有限,期待你的加入!

相关推荐