创建数据库及数据库实例管理

**

创建数据库及数据库实例管理

**
⚫ 数据库配置助手创建数据库调用 dbca.sh 图形化界面创建数据库:
[dmdba@DCA02 tool]$ ./dbca.sh
2021-01-11 11:43:45 [com.dameng.dbca.Startup] [INFO] 启动 DBCA
在这里插入图片描述

指定数据库名称、实例名称(单机情况下数据库和实例名称可以相同),指定端口号:

在这里插入图片描述

簇大小、页大小、字符集、字符串大小写敏感、VARCHAR 字符是否为字符为单位,一旦创建将无法更改,除非新创建数据库。
在这里插入图片描述

设置系统管理员密码,默认 SYSDBA(用户名大写)

在这里插入图片描述

使用 root 执行脚本:
在这里插入图片描述

[root@DCA02 桌 面 ]# mv /dm8/bin/DmServiceDMSERVER.service
/usr/lib/systemd/system/DmServiceDMSERVER.service
[root@DCA02 桌面]# systemctl enable DmServiceDMSERVER.service
ln -s ‘/usr/lib/systemd/system/DmServiceDMSERVER.service’ ‘/etc/systemd/system/multi- user.target.wants/DmServiceDMSERVER.service’
[root@DCA02 桌面]# systemctl start DmServiceDMSERVER.service
在这里插入图片描述

配置环境变量:
[dmdba@DCA02 ~]$ vi .bash_profile [dmdba@DCA02 ~]$ source .bash_profile [dmdba@DCA02 ~]$ dbca.sh
[2021-01-11 12:00:30 [com.dameng.dbca.Startup] [INFO] 启动 DBCA
2021-01-11 12:01:16 [com.dameng.dbca.Startup] [INFO] 结束 DBCA
bash_profile 文件内容增加PATH 的配置:
在这里插入图片描述

在这里插入图片描述

dminit 创建数据库实例[dmdba@DCA02 dm8]$ dminit help initdb V8
db version: 0x7000b
file dm.key not found, use default license!
License will expire on 2021-11-06
格式: ./dminit KEYWORD=value

例程: ./dminit PATH=/public/dmdb/dmData PAGE_SIZE=16

关键字 说明(默认值)

INI_FILE 初始化文件dm.ini 存放的路径
PATH 初始数据库存放的路径
CTL_PATH 控制文件路径
LOG_PATH 日志文件路径
EXTENT_SIZE 数据文件使用的簇大小(16),可选值:16, 32, 64,单位:页

[dmdba@DCA02 dm8]$ dminit path=/dm8/data db_name=DM01 instance_name=DMSVR01 port_num=5237
initdb V8
db version: 0x7000b
file dm.key not found, use default license!
License will expire on 2021-11-06

log file path: /dm8/data/DM01/DM0101.log

log file path: /dm8/data/DM01/DM0102.log write to dir [/dm8/data/DM01].
create dm database success. 2021-01-11 14:22:33 [dmdba@DCA02 dm8]$

dminit 注册数据库服务:
在这里插入图片描述

在这里插入图片描述

[root@DCA02 桌面]# systemctl enable DmServiceDMSVR01.service
ln -s ‘/usr/lib/systemd/system/DmServiceDMSVR01.service’ ‘/etc/systemd/system/multi- user.target.wants/DmServiceDMSVR01.service’
[root@DCA02 桌面]# systemctl start DmServiceDMSVR01.service

命令行注册数据库服务(使用 root 用户执行dm_service_installer.sh): [root@DCA02 桌面]# cd /dm8/script/
[root@DCA02 script]# ll
总用量 4

-rwxr-xr-x. 1 dmdba dinstall 1391 1 月 11 14:16 ckdmstat.sh
drwxr-xr-x. 2 dmdba dinstall 92 1 月 11 14:16 root [root@DCA02 script]# cd root
[root@DCA02 root]# ll
总用量 44
-rwxr-xr-x. 1 dmdba dinstall 26835 1 月 11 14:16 dm_service_installer.sh
-rwxr-xr-x. 1 dmdba dinstall 9501 1 月 11 14:16 dm_service_uninstaller.sh
-rwxr-xr-x. 1 dmdba dinstall 579 1 月 11 14:16 root_installer.sh

[root@DCA02 root]# ./dm_service_installer.sh -t dmserver -p DMSVR01 -dm_ini
/dm8/data/DM01/dm.ini
ln -s ‘/usr/lib/systemd/system/DmServiceDMSVR01.service’ ‘/etc/systemd/system/multi- user.target.wants/DmServiceDMSVR01.service’
创建服务(DmServiceDMSVR01)完成

[dmdba@DCA02 bin]$ ll Dm*
-rwxr-xr-x. 1 dmdba dinstall 13827 1 月 11 14:16 DmAPService
-rwxr-xr-x. 1 dmdba dinstall 14479 1 月 11 14:16 DmAuditMonitorService
-rwxr-xr-x. 1 dmdba dinstall 13655 1 月 11 14:16 DmInstanceMonitorService
-rwxr-xr-x. 1 dmdba dinstall 14126 1 月 11 14:16 DmJobMonitorService
-rwxr-xr-x. 1 dmdba dinstall 16121 1 月 11 14:24 DmServiceDMSERVER
-rwxr-xr-x. 1 dmdba dinstall 16118 1 月 11 14:33 DmServiceDMSVR01

命令行卸载数据库服务(使用 root 用户执行dm_service_uninstaller.sh):

⚫ 连接数据库

[dmdba@DCA02 bin]$ disql sysdba/dameng123

服务器[LOCALHOST:5236]:处于普通打开状态登录使用时间 : 26.836(ms)
disql V8 SQL> exit
[dmdba@DCA02 bin]$ disql sysdba/SYSDBA:5237

服务器[LOCALHOST:5237]:处于普通打开状态登录使用时间 : 3.050(ms)
disql V8 SQL>

出现 SOCKET 连接失败需检查数据库是否正常启动(进程、线程、端口是否正常)或者检查数据库连接数是否达到最大值。

[dmdba@DCA02 bin]$ disql sysdba/SYSDBA@192.168.88.101:5237 [-70028]:创建 SOCKET 连接失败.
disql V8
用户名:^C
其实数据库未启动,启动后连接正常:
[dmdba@DCA02 bin]$ disql sysdba/SYSDBA@192.168.88.102:5237

服务器[192.168.88.102:5237]:处于普通打开状态登录使用时间 : 46.658(ms)
disql V8 SQL> exit

DM 管理工具连接
在这里插入图片描述

连接串的配置:
[root@DCA02 桌面]# su - dmdba
上一次登录:一 1 月 11 12:22:00 CST 2021pts/1 上[dmdba@DCA02 ~]$ export DISPLAY=:0 [dmdba@DCA02 ~]$ cd /dm8/tool
[dmdba@DCA02 tool]$ ./nca.sh

在这里插入图片描述

在这里插入图片描述

⚫ 启动和关闭 DM 数据库

操作系统服务的方式启动:
[root@DCA02 桌 面 ]# systemctl stop DmServiceDMSERVER.service [root@DCA02 桌 面 ]# systemctl start DmServiceDMSERVER.service [root@DCA02 桌面]# systemctl enable DmServiceDMSERVER.service 也可以直接使用 DM 服务查看器
在这里插入图片描述

DM 服务查看器要使用 root 用户启动数据库
在这里插入图片描述

DM 服务查看器的状态只能识别 systemctl 服务的启动方式,无法识别 dmdba 用户使用命令行方式的启动。

在这里插入图片描述

[dmdba@DCA02 bin]$ ./DmServiceDMSERVER status DmServiceDMSERVER (pid 40342) is running. [dmdba@DCA02 bin]$ ./DmServiceDMSERVER stop
Stopping DmServiceDMSERVER: [ OK ] [dmdba@DCA02 bin]$ ./DmServiceDMSERVER status DmServiceDMSERVER is stopped
[dmdba@DCA02 bin]$ ./DmServiceDMSERVER start
Starting DmServiceDMSERVER: [ OK ]
在这里插入图片描述

DmService 命令可以将数据库启动到 mount 状态
[dmdba@DCA02 bin]$ ./DmServiceDMSERVER start mount

使用 dmserver 启动(前台启动方式),可以将数据库启动到 mount 状态,输入 exit 或者按 CTRL+C 则会关闭数据库。
[dmdba@DCA02 bin]$ ./dmserver /dm8/data/DAMENG/dm.ini mount file dm.key not found, use default license!
version info: develop
Use normal os_malloc instead of HugeTLB Use normal os_malloc instead of HugeTLB
DM Database Server x64 V8 1-1-144-20.11.06-129436-ENT startup… Database mode = 0, oguid = 0
License will expire on 2021-11-06 file lsn: 47530
ndct db load finished ndct fill fast pool finished nsvr_startup end.
aud sys init success. aud rt sys init success.
systables desc init success. ndct_db_load_info success. SYSTEM IS READY.
exit
Server is stopping…
Sys status is mount, shutdown abort!

dmserver 默认启动数据库到 open 状态:
[dmdba@DCA02 bin]$ ./dmserver /dm8/data/DAMENG/dm.ini

数据库的三个状态:
Mount:配置状态,可以修改数据库配置,打开归档等,不能读取数据文件,可以读内存种的数据(如 v$tablespace),不能提供数据库服务。
Open:打开状态,可以正常读取数据库,对外提供数据服务,不能更改数据库模式。Suspend:挂起状态,此时数据库只读,不能提交数据写文件。

Open 和 mount 可以相互转换:
[dmdba@DCA02 bin]$ ./disql sysdba/dameng123

服务器[LOCALHOST:5236]:处于普通配置状态登录使用时间 : 43.911(ms)
disql V8
SQL> alter database open;

操作已执行
已用时间: 00:00:01.813. 执行号:0.
SQL> select tablespace_name from dba_tablespaces;

行号 TABLESPACE_NAME


1SYSTEM
2ROLL
3TEMP
4MAIN
5DMHR
6HMAIN

6 rows got

mount 状态下不能读数据文件,只能读取内存中的数据。已用时间: 26.747(毫秒). 执行号:401.
SQL> alter database mount;
操作已执行
已用时间: 00:00:01.752. 执行号:0.
SQL> select tablespace_name from dba_tablespaces; select tablespace_name from dba_tablespaces;
第 1 行附近出现错误[-510]:系统处于 MOUNT 状态. 已用时间: 1.539(毫秒). 执行号:0.
SQL> select name from v$tablespace;

行号 NAME


1SYSTEM
2ROLL
3TEMP
4MAIN
5DMHR

已用时间: 0.673(毫秒). 执行号:402.

mount 和 suspend 不能相互切换SQL> alter database suspend; alter database suspend;
第 1 行附近出现错误[-510]:系统处于 MOUNT 状态. 已用时间: 0.319(毫秒). 执行号:0.
SQL> alter database open;
操作已执行
已用时间: 00:00:01.752. 执行号:0.

SQL> alter database suspend;
操作已执行
已用时间: 105.615(毫秒). 执行号:0. SQL> alter database open;
操作已执行
已用时间: 0.367(毫秒). 执行号:0

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值