|
@@ -0,0 +1,951 @@
|
|
|
|
+# git命令
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+ 连接远程仓库
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+ 推到master分支
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+在本地创建分支dev并切换到该分支
|
|
|
|
+git checkout -b dev(本地分支名称) origin/dev(远程分支名称)
|
|
|
|
+
|
|
|
|
+把远程分支拉到本地
|
|
|
|
+git fetch origin dev(master)(dev/master为远程仓库的分支名)
|
|
|
|
+
|
|
|
|
+把某个分支上的内容都拉取到本地
|
|
|
|
+git pull origin dev(远程分支名称)
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+创建远程与本地同名的分支
|
|
|
|
+
|
|
|
|
+git push --set-upstream origin branch_name
|
|
|
|
+
|
|
|
|
+删除本地分支
|
|
|
|
+
|
|
|
|
+```git
|
|
|
|
+git branch --delete dev
|
|
|
|
+```
|
|
|
|
+
|
|
|
|
+删除远程分支
|
|
|
|
+
|
|
|
|
+```git
|
|
|
|
+git push origin --delete branch_name
|
|
|
|
+```
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+#1.使用git status查看当前还有多少个commit未推送
|
|
|
|
+git status
|
|
|
|
+
|
|
|
|
+#2.查看具体是哪些commit未推送
|
|
|
|
+git log 分支名称 ^origin/分支名称
|
|
|
|
+
|
|
|
|
+1、git add . # 先add至工作区
|
|
|
|
+
|
|
|
|
+1.1 使用git reset命令可以撤销之前的git add操作,从而移除某个add的文件。具体命令如下:
|
|
|
|
+
|
|
|
|
+```git
|
|
|
|
+git reset file_path
|
|
|
|
+```
|
|
|
|
+
|
|
|
|
+1.2 使用git rm命令移除已经add的文件。具体命令如下:
|
|
|
|
+
|
|
|
|
+```git
|
|
|
|
+git rm --cached file_path
|
|
|
|
+```
|
|
|
|
+
|
|
|
|
+1.3 使用git restore命令恢复之前的版本,可以将暂存区的修改撤销掉。具体命令如下:
|
|
|
|
+
|
|
|
|
+```git
|
|
|
|
+git restore --staged file_path
|
|
|
|
+```
|
|
|
|
+
|
|
|
|
+2、git commit -m "注释" # 添加至本地版本库
|
|
|
|
+
|
|
|
|
+3、设置用户名和邮箱
|
|
|
|
+ git config user.name 作者
|
|
|
|
+ git config user.email 邮箱
|
|
|
|
+
|
|
|
|
+4、将代码push至远程仓库
|
|
|
|
+ git push origin <u>master</u>
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+git config --global --list
|
|
|
|
+
|
|
|
|
+查看全局配置信息:用户名、邮箱
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+### 查看提交历史
|
|
|
|
+
|
|
|
|
+1. **查看所有提交记录**: 使用 `git log` 命令查看当前分支的完整提交历史,包括每次提交的哈希值、作者、日期以及提交信息。
|
|
|
|
+
|
|
|
|
+ Bash
|
|
|
|
+
|
|
|
|
+ ```bash
|
|
|
|
+ 1git log
|
|
|
|
+ ```
|
|
|
|
+
|
|
|
|
+ 若要以更友好的格式展示(如oneline格式),可使用:
|
|
|
|
+
|
|
|
|
+ Bash
|
|
|
|
+
|
|
|
|
+ ```bash
|
|
|
|
+ 1git log --oneline
|
|
|
|
+ ```
|
|
|
|
+
|
|
|
|
+2. **查找特定提交**: 为了找到你要回退到的版本,可以通过多种方式过滤日志,例如根据提交消息、作者、日期等。若要查找包含特定关键词的提交,可以这样操作:
|
|
|
|
+
|
|
|
|
+ Bash
|
|
|
|
+
|
|
|
|
+ ```bash
|
|
|
|
+ 1git log --grep="搜索关键词"
|
|
|
|
+ ```
|
|
|
|
+
|
|
|
|
+ 若要找到最近的一次提交,可以在命令行浏览日志找到对应的提交哈希。
|
|
|
|
+
|
|
|
|
+### 回退到指定版本
|
|
|
|
+
|
|
|
|
+1. **通过哈希值回退**: 确定要回退到的目标提交哈希后,可以使用 `git reset` 命令将HEAD指针指向该提交,有三种主要模式可以选择:
|
|
|
|
+
|
|
|
|
+ - **软重置(soft reset)**:仅移动HEAD指针,不更改工作目录或暂存区。
|
|
|
|
+
|
|
|
|
+ Bash
|
|
|
|
+
|
|
|
|
+ ```bash
|
|
|
|
+ 1git reset --soft <提交哈希>
|
|
|
|
+ ```
|
|
|
|
+
|
|
|
|
+ - **混合重置(mixed reset)**:移动HEAD指针,并清空暂存区内容,使它们与所选择的提交一致,但保留工作目录中的改动。
|
|
|
|
+
|
|
|
|
+ Bash
|
|
|
|
+
|
|
|
|
+ ```bash
|
|
|
|
+ 1git reset --mixed <提交哈希>
|
|
|
|
+ ```
|
|
|
|
+
|
|
|
|
+ - **硬重置(hard reset)**:移动HEAD指针并重置工作目录,使得工作目录与所选择的提交完全一致,任何未提交的本地改动都会丢失。
|
|
|
|
+
|
|
|
|
+ Bash
|
|
|
|
+
|
|
|
|
+ ```bash
|
|
|
|
+ 1git reset --hard <提交哈希>
|
|
|
|
+ ```
|
|
|
|
+
|
|
|
|
+ 其中,`<提交哈希>` 是你想要回退到的那个提交的完整哈希值,通常从 `git log` 中获取。
|
|
|
|
+
|
|
|
|
+2. **回到某个标签或分支点**: 如果目标是回到一个标签或者之前的某个分支点,可以用类似的方式:
|
|
|
|
+
|
|
|
|
+ Bash
|
|
|
|
+
|
|
|
|
+ ```bash
|
|
|
|
+ 1git reset --hard <标签名> # 或者
|
|
|
|
+ 2git reset --hard <分支名>
|
|
|
|
+ ```
|
|
|
|
+
|
|
|
|
+3. **撤销最近一次提交**: 如果你想撤销最近一次提交且不保留任何修改,可以直接执行:
|
|
|
|
+
|
|
|
|
+ Bash
|
|
|
|
+
|
|
|
|
+ ```bash
|
|
|
|
+ 1git reset --hard HEAD~1
|
|
|
|
+ ```
|
|
|
|
+
|
|
|
|
+4. **切分支并创建新提交**: 如果你想保留当前分支的历史而是在一个新的分支上开始(比如开发团队经常采用这种做法来解决合并问题),你可以先创建一个新分支然后切换过去:
|
|
|
|
+
|
|
|
|
+ Bash
|
|
|
|
+
|
|
|
|
+ ```bash
|
|
|
|
+ 1git checkout -b new_branch_name <提交哈希>
|
|
|
|
+ ```
|
|
|
|
+
|
|
|
|
+请谨慎操作,特别是涉及到`--hard`选项时,因为它会改变你的工作目录状态,可能会丢失未提交的更改。在执行前确保已备份重要的未提交变更。如果你正在多人协作的项目中,请在推送更改前与团队沟通,以免影响他人。
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+startup.cmd -m standalone
|
|
|
|
+
|
|
|
|
+nacos 单机启动(非集群模式)
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+debug模式运行程序
|
|
|
|
+
|
|
|
|
+mvn spring-boot:run -Dspring-boot.run.arguments=--debug
|
|
|
|
+
|
|
|
|
+idea控制台Terminal命令
|
|
|
|
+
|
|
|
|
+netstat -aon|findstr "提示的端口"
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+# navicat 快捷键
|
|
|
|
+
|
|
|
|
+ 1.ctrl+q 打开查询窗口
|
|
|
|
+2.ctrl+/ 注释sql语句
|
|
|
|
+3.ctrl+shift +/ 解除注释
|
|
|
|
+4.ctrl+r 运行查询窗口的sql语句
|
|
|
|
+5.ctrl+shift+r 只运行选中的sql语句
|
|
|
|
+6.F6 打开一个mysql命令行窗口
|
|
|
|
+7.ctrl+l 删除一行
|
|
|
|
+8.ctrl+n 打开一个新的查询窗口
|
|
|
|
+9.ctrl+w 关闭一个查询窗口
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+# SQLyog快捷键列表
|
|
|
|
+
|
|
|
|
+\##连接
|
|
|
|
+Ctrl+M 创建一个新的连接
|
|
|
|
+Ctrl+N 使用当前设置新建连接
|
|
|
|
+Ctrl+F4 断开当前连接
|
|
|
|
+
|
|
|
|
+\##对象浏览器
|
|
|
|
+F5 刷新对象浏览器(默认)
|
|
|
|
+Ctrl+B 设置焦点于对象浏览器
|
|
|
|
+SQL 窗口
|
|
|
|
+Ctrl+T 新建查询编辑器
|
|
|
|
+Ctrl+E 设置焦点于 SQL 窗口
|
|
|
|
+Ctrl+Y 重做
|
|
|
|
+Ctrl+Z 撤销
|
|
|
|
+Ctrl+X 剪切
|
|
|
|
+Ctrl+V 粘贴
|
|
|
|
+Ctrl+H 替换
|
|
|
|
+Ctrl+G 转到
|
|
|
|
+Ctrl+O 在 SQL 窗口打开一个 SQL 文档
|
|
|
|
+Ctrl+Shift+U 使选择内容大写
|
|
|
|
+Ctrl+Shift+L 使选择内容小写
|
|
|
|
+Ctrl+Shift+C 注释 SQL 窗口选择内容
|
|
|
|
+Ctrl+Shift+R 从选择内容删除注释
|
|
|
|
+Ctrl+Shift+T 插入模板
|
|
|
|
+Ctrl+Enter 列出所有的标签
|
|
|
|
+Ctrl+Space 列出匹配的标签
|
|
|
|
+
|
|
|
|
+\##执行查询
|
|
|
|
+F8 执行当前查询并编辑结果集
|
|
|
|
+F9 执行当前查询(默认)
|
|
|
|
+Ctrl+F9 执行选定查询(默认)
|
|
|
|
+Shift+F9 执行全部查询(默认)
|
|
|
|
+
|
|
|
|
+\##粘贴 SQL 语句
|
|
|
|
+Alt+Shift+I 插入语句
|
|
|
|
+Alt+Shift+U 更新语句
|
|
|
|
+Alt+Shift+D 删除语句
|
|
|
|
+Alt+Shift+S 选择语句
|
|
|
|
+
|
|
|
|
+\##结果
|
|
|
|
+F11 插入更新对话框
|
|
|
|
+Ctrl+R 设置焦点于结果面板中的活动标签
|
|
|
|
+Ctrl+L 切换结果窗口/表数据以表格/文本方式显示
|
|
|
|
+Ctrl+Alt+C 以 CSV, SQL, Excel 等导出表数据
|
|
|
|
+Ctrl+Alt+E 以 SQL 转储文件备份数据
|
|
|
|
+Ctrl+Shift+M 从 CSV 导入数据
|
|
|
|
+Ctrl+Shift+E 导出结果集
|
|
|
|
+Alt+1…n 在结果窗口中选择第n个标签
|
|
|
|
+
|
|
|
|
+\##显示/隐藏
|
|
|
|
+Ctrl+1 显示/隐藏 对象浏览器
|
|
|
|
+Ctrl+2 显示/隐藏 结果面板
|
|
|
|
+Ctrl+3 显示/隐藏 查询窗口
|
|
|
|
+
|
|
|
|
+\##数据库/数据表
|
|
|
|
+Ctrl+D 创建数据库
|
|
|
|
+F6 更改 数据库/数据表的结构/索引/视图/存储过程/函数/触发器/事件
|
|
|
|
+F2 重命名 数据表/视图/触发器/事件
|
|
|
|
+Shift+Del 截断 数据库/数据表
|
|
|
|
+F7 管理索引窗口
|
|
|
|
+F10 关联/外键
|
|
|
|
+Ctrl+Alt+R 重新排序字段
|
|
|
|
+Ctrl+Alt+T 数据表诊断
|
|
|
|
+Ctrl+Alt+F 刷新对话框
|
|
|
|
+Ctrl+Shift+Alt+S 以 HTML 格式创建数据库架构
|
|
|
|
+Ctrl+Shift+Q 从 SQL 转储文件恢复数据库
|
|
|
|
+
|
|
|
|
+\##增强工具
|
|
|
|
+Ctrl+W 数据库同步向导
|
|
|
|
+Ctrl+Q 架构同步工具
|
|
|
|
+Ctrl+Alt+O 数据迁移工具包
|
|
|
|
+Ctrl+Alt+N 通知服务向导
|
|
|
|
+Ctrl+Alt+S 计划备份
|
|
|
|
+Ctrl+K 查询创建器
|
|
|
|
+Ctrl+Alt+D 架构设计器
|
|
|
|
+
|
|
|
|
+\##用户管理
|
|
|
|
+Ctrl+U 添加用户
|
|
|
|
+Ctrl+Alt+U 编辑用户
|
|
|
|
+Ctrl+Shift+W 管理用户权限
|
|
|
|
+
|
|
|
|
+\##个人文件夹
|
|
|
|
+Ctrl+Shift+F 添加当前 SQL 语句到个人文件夹
|
|
|
|
+
|
|
|
|
+\##其它
|
|
|
|
+F1 帮助
|
|
|
|
+F12 快捷键窗口
|
|
|
|
+Ctrl+C 复制
|
|
|
|
+Ctrl+A 全选
|
|
|
|
+Ctrl+F/F3 查找 (SQL 窗口/以文本方式显示的结果窗口和表数据)
|
|
|
|
+Ctrl+S 保存
|
|
|
|
+Ctrl+PgUp 切换到上一标签
|
|
|
|
+Ctrl+PgDown 切换到下一标签
|
|
|
|
+DEL 删除选定
|
|
|
|
+Alt+L 关闭标签
|
|
|
|
+Alt+F4 退出程序
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+# shell:达梦数据库
|
|
|
|
+
|
|
|
|
+## 1、启动数据库服务
|
|
|
|
+
|
|
|
|
+```shell
|
|
|
|
+服务注册成功后,启动数据库,如下所示:
|
|
|
|
+systemctl start DmServicedm.service
|
|
|
|
+停止数据库,如下所示:
|
|
|
|
+systemctl stop DmServicedm.service
|
|
|
|
+重启数据库,如下所示:
|
|
|
|
+systemctl restart DmServicedm.service
|
|
|
|
+查看数据库服务状态,如下所示:
|
|
|
|
+systemctl status DmServicedm.service
|
|
|
|
+```
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+## 2、登录达梦数据库
|
|
|
|
+
|
|
|
|
+切换目录到大梦数据库的bin目录下
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+登录数据库
|
|
|
|
+
|
|
|
|
+```shell
|
|
|
|
+
|
|
|
|
+[root@localhost bin]# ./disql SYSDBA/SYSDBA@localhost:5236
|
|
|
|
+```
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+## 3、创建数据库实例
|
|
|
|
+
|
|
|
|
+### 创建服务
|
|
|
|
+
|
|
|
|
+```shell
|
|
|
|
+./dminit PATH=/home/dm8/data PAGE_SIZE=32 EXTENT_SIZE=32 CASE_SENSITIVE=N CHARSET=1 LENGTH_IN_CHAR=Y DB_NAME=usky_fire BLANK_PAD_MODE=1 LOG_SIZE=2048 INSTANCE_NAME=usky_fire PORT_NUM=5236
|
|
|
|
+```
|
|
|
|
+
|
|
|
|
+#### 注册服务
|
|
|
|
+
|
|
|
|
+```shell
|
|
|
|
+./dm_service_installer.sh -t dmserver -p DMSERVERusky_fire -dm_ini /home/dm8/data/usky_fire/dm.ini
|
|
|
|
+
|
|
|
|
+```
|
|
|
|
+
|
|
|
|
+#### 删除服务
|
|
|
|
+
|
|
|
|
+```shell
|
|
|
|
+./dm_service_uninstaller.sh -n 实例/服务名(例如:DmServiceSP)
|
|
|
|
+```
|
|
|
|
+
|
|
|
|
+### 创建表空间
|
|
|
|
+
|
|
|
|
+```sql
|
|
|
|
+CREATE TABLESPACE alarm_electrical_fire
|
|
|
|
+DATAFILE '/home/dm8/data/usky_fire/alarm_electrical_fire.dbf' SIZE 1M AUTOEXTEND ON NEXT 10M;
|
|
|
|
+```
|
|
|
|
+
|
|
|
|
+```sql
|
|
|
|
+create tablespace alarm_spray_water datafile '/home/dm8/data/usky_fire/alarm_spray_water.dbf' size 128 autoextend on next 5 cache=normal;
|
|
|
|
+```
|
|
|
|
+
|
|
|
|
+#### 查看所有表
|
|
|
|
+
|
|
|
|
+```sql
|
|
|
|
+SELECT TABLE_NAME FROM USER_TABLES;
|
|
|
|
+```
|
|
|
|
+
|
|
|
|
+#### 将表指定给表空间
|
|
|
|
+
|
|
|
|
+```sql
|
|
|
|
+TABLESPACE alarm_electrical_fire;
|
|
|
|
+```
|
|
|
|
+
|
|
|
|
+#### 查看所有表空间
|
|
|
|
+
|
|
|
|
+```sql
|
|
|
|
+SELECT TABLESPACE_NAME, TABLESPACE_TYPE, TABLESPACE_SIZE
|
|
|
|
+FROM SYS_ALL_TABLESPACES;
|
|
|
|
+
|
|
|
|
+SELECT * FROM V$TABLESPACE;
|
|
|
|
+```
|
|
|
|
+
|
|
|
|
+#### 查看指定表空间内的表名
|
|
|
|
+
|
|
|
|
+```sql
|
|
|
|
+SELECT TABLE_NAME, COLUMN_COUNT, ROW_COUNT
|
|
|
|
+FROM SYS_TABLES
|
|
|
|
+WHERE TABLESPACE_NAME = 'alarm_hydrant_water';
|
|
|
|
+
|
|
|
|
+SELECT * FROM ALL_TABLES WHERE TABLESPACE_NAME = '表空间名称';
|
|
|
|
+
|
|
|
|
+SELECT * FROM DBA_TABLES WHERE TABLESPACE_NAME = 'alarm_spray_water';
|
|
|
|
+```
|
|
|
|
+
|
|
|
|
+#### 查看表属于哪个模式
|
|
|
|
+
|
|
|
|
+```sql
|
|
|
|
+SELECT OWNER AS SCHEMA_NAME
|
|
|
|
+FROM ALL_TABLES
|
|
|
|
+WHERE TABLE_NAME = 'bsc_enterprise_screen';
|
|
|
|
+```
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+#### 删除表空间(同时删除数据)
|
|
|
|
+
|
|
|
|
+```sql
|
|
|
|
+DROP TABLESPACE tablespace_name INCLUDING CONTENTS;
|
|
|
|
+```
|
|
|
|
+
|
|
|
|
+#### 只删除表空间而保留其中的数据:
|
|
|
|
+
|
|
|
|
+1. 首先,确保没有任何活动会话或事务正在使用要删除的表空间。
|
|
|
|
+2. 在达梦数据库中创建一个新的表空间,用于迁移表和数据。可以使用以下语句创建新表空间:
|
|
|
|
+
|
|
|
|
+```sql
|
|
|
|
+CREATE TABLESPACE new_tablespace_name DATAFILE 'path_to_datafile' SIZE 100M;
|
|
|
|
+```
|
|
|
|
+
|
|
|
|
+在上述语句中,`new_tablespace_name`是新表空间的名称,`path_to_datafile`是数据文件的路径和名称,`SIZE 100M`是指定表空间的大小。
|
|
|
|
+
|
|
|
|
+3. 将要保留的表和数据迁移到新的表空间中。可以使用以下语句将表移动到新表空间:
|
|
|
|
+
|
|
|
|
+```sql
|
|
|
|
+ALTER TABLE table_name MOVE TABLESPACE new_tablespace_name;
|
|
|
|
+```
|
|
|
|
+
|
|
|
|
+在上述语句中,`table_name`是要移动的表的名称,`new_tablespace_name`是目标表空间的名称。
|
|
|
|
+
|
|
|
|
+4. 确保所有表都已成功迁移到新表空间后,可以将旧表空间删除。使用以下语句删除表空间:
|
|
|
|
+
|
|
|
|
+```sql
|
|
|
|
+DROP TABLESPACE old_tablespace_name INCLUDING CONTENTS;
|
|
|
|
+```
|
|
|
|
+
|
|
|
|
+在上述语句中,`old_tablespace_name`是要删除的旧表空间的名称。`INCLUDING CONTENTS`参数可以选择是否删除表空间中的所有对象和数据。
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+## 4、执行`SQL`脚本
|
|
|
|
+
|
|
|
|
+两种操作,当然需要登录到数据库中才能操作(导出`dexp、dmp`文件不需要登录数据库)
|
|
|
|
+
|
|
|
|
+```shell
|
|
|
|
+1 # start + 脚本的绝对路径
|
|
|
|
+2 SQL> start /home/dm8/data/usky_fire/alarm_hydrant_water(DM).sql
|
|
|
|
+
|
|
|
|
+run /path/to/sql/file.sql;
|
|
|
|
+@/path/to/sql/file.sql;
|
|
|
|
+```
|
|
|
|
+
|
|
|
|
+```shell
|
|
|
|
+1 # ` + 脚本的绝对路径
|
|
|
|
+2 SQL> `start /home/dm8/data/usky_fire/alarm_hydrant_water(DM).sql
|
|
|
|
+```
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+## 5、导出`dmp`文件
|
|
|
|
+
|
|
|
|
+使用`dexp`进行导出,切换到达梦的bin目录下,可以看到有一个`dexp`文件,使用它进行导出的操作
|
|
|
|
+
|
|
|
|
+```shell
|
|
|
|
+1 ./dexp 用户id/密码@ip:5236 file=导出的文件 directory=导出文件所在的目录 导出的模式
|
|
|
|
+```
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+导出模式:`FULL、OWNER、SCHEMAS、TABLES` ;全部导出、根据用户导出、根据模式导出和表导出。
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+```shell
|
|
|
|
+1 # 全部导出
|
|
|
|
+2 [root@localhost bin]# ./dexp SYSDBA/SYSDBA@localhost:5236 file=imp_exp.dmp directory=/dm7/data FULL=y
|
|
|
|
+3 # 根据模式导出
|
|
|
|
+4 [root@localhost bin]# ./dexp SYSDBA/SYSDBA@localhost:5236 file=imp_exp.dmp directory=/dm7/data SCHEMAS=NINGDATABASE
|
|
|
|
+```
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+## 6、导入`dmp`文件
|
|
|
|
+
|
|
|
|
+使用`dimp`进行导入,依旧需要切换到达梦的bin目录下,同样也会有一个`dimp`文件,使用这个文件进行导入操作
|
|
|
|
+
|
|
|
|
+```shell
|
|
|
|
+1 ./dimp 用户id/密码@ip:5236 file=导入的文件 directory=导入文件所在的目录 导入的模式
|
|
|
|
+```
|
|
|
|
+
|
|
|
|
+和导出一样,导入也是同样的四个模式
|
|
|
|
+
|
|
|
|
+```shell
|
|
|
|
+1 #根据模式进行导入
|
|
|
|
+2 [root@localhost bin]# ./dimp SYSDBA/SYSDBA@localhost:5236 file=imp_exp.dmp directory=/dm7/data SCHEMAS=NINGDATABASE
|
|
|
|
+```
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+## 7、执行`SQL`脚本和`dmp`文件
|
|
|
|
+
|
|
|
|
+- 修改操作较少或者修改的东西比较集中的情况下可以直接使用导出SQL脚本然后登录数据库执行SQL脚本进行同步操作;SQL脚本的执行默认是直接commit(直接执行SQL需要手动进行commit)
|
|
|
|
+- 其他比较复杂的操作或者数据量大可以使用导出dmp文件,具体的导出导入模式根据自己的需要进行选择
|
|
|
|
+- dmp文件或者dexp文件进行操作时,导出和导入模式要一致
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+## SQL命令
|
|
|
|
+
|
|
|
|
+### 查询数据库版本
|
|
|
|
+
|
|
|
|
+```sql
|
|
|
|
+select * from v$version;
|
|
|
|
+```
|
|
|
|
+
|
|
|
|
+### 查看授权信息
|
|
|
|
+
|
|
|
|
+```sql
|
|
|
|
+select * from v$license;
|
|
|
|
+```
|
|
|
|
+
|
|
|
|
+### 查看达梦数据库库名
|
|
|
|
+
|
|
|
|
+```sql
|
|
|
|
+select name,create_time from v$database;
|
|
|
|
+```
|
|
|
|
+
|
|
|
|
+### 查看大小写配置是否敏感
|
|
|
|
+
|
|
|
|
+--大小敏感(1为大小写敏感,0为大小写不敏感)
|
|
|
|
+
|
|
|
|
+```sql
|
|
|
|
+SELECT SF_GET_CASE_SENSITIVE_FLAG();
|
|
|
|
+或
|
|
|
|
+SELECT CASE_SENSITIVE();
|
|
|
|
+SELECT SF_GET_CASE_SENSITIVE_FLAG();
|
|
|
|
+```
|
|
|
|
+
|
|
|
|
+### 查询数据库最大连接
|
|
|
|
+
|
|
|
|
+```sql
|
|
|
|
+select SF_GET_PARA_VALUE(2,'MAX_SESSIONS');
|
|
|
|
+```
|
|
|
|
+
|
|
|
|
+### 查看达梦数据库当前状态
|
|
|
|
+
|
|
|
|
+```sql
|
|
|
|
+select status$ from v$instance;
|
|
|
|
+```
|
|
|
|
+
|
|
|
|
+### 查询授权截止有效期
|
|
|
|
+
|
|
|
|
+```sql
|
|
|
|
+select EXPIRED_DATE from v$license;
|
|
|
|
+```
|
|
|
|
+
|
|
|
|
+### 查询数据文件位置
|
|
|
|
+
|
|
|
|
+```sql
|
|
|
|
+select GROUP_ID , ID ,path,STATUS$ from v$datafile;
|
|
|
|
+```
|
|
|
|
+
|
|
|
|
+### 查询表空间大小
|
|
|
|
+
|
|
|
|
+```sql
|
|
|
|
+select FILE_NAME,FILE_ID,TABLESPACE_NAME,BYTES/1024/1024||'M' from dba_data_files;
|
|
|
|
+```
|
|
|
|
+
|
|
|
|
+### 查询表空间使用情况
|
|
|
|
+
|
|
|
|
+```sql
|
|
|
|
+select t1.NAME tablespace_name,
|
|
|
|
+
|
|
|
|
+t2.FREE_SIZE*SF_GET_PAGE_SIZE()/1024/1024 ||'M' free_space,
|
|
|
|
+
|
|
|
|
+t2.TOTAL_SIZE*SF_GET_PAGE_SIZE()/1024/1024 ||'M' total_space,
|
|
|
|
+
|
|
|
|
+t2.FREE_SIZE*100/t2.total_size "% FREE"
|
|
|
|
+
|
|
|
|
+from V$TABLESPACE t1, V$DATAFILE t2
|
|
|
|
+
|
|
|
|
+where t1.ID=t2.GROUP_ID;
|
|
|
|
+```
|
|
|
|
+
|
|
|
|
+### 查询所有SCHEMA
|
|
|
|
+
|
|
|
|
+```sql
|
|
|
|
+ select * from dba_objects where object_type='SCH';
|
|
|
|
+```
|
|
|
|
+
|
|
|
|
+### 查询所有用户
|
|
|
|
+
|
|
|
|
+```sql
|
|
|
|
+select username from dba_users;
|
|
|
|
+```
|
|
|
|
+
|
|
|
|
+### 切换SCHEMA
|
|
|
|
+
|
|
|
|
+```sql
|
|
|
|
+set schema "testSchema";
|
|
|
|
+```
|
|
|
|
+
|
|
|
|
+### 创建SCHEMA
|
|
|
|
+
|
|
|
|
+```sql
|
|
|
|
+CREATE SCHEMA "testSchema";
|
|
|
|
+```
|
|
|
|
+
|
|
|
|
+### 查询模式下全量表名称
|
|
|
|
+
|
|
|
|
+```sql
|
|
|
|
+select TABLE_NAME from all_tables WHERE OWNER='testSchema';
|
|
|
|
+```
|
|
|
|
+
|
|
|
|
+### 删除SCHEMA
|
|
|
|
+
|
|
|
|
+```sql
|
|
|
|
+drop schema "testSchema";
|
|
|
|
+```
|
|
|
|
+
|
|
|
|
+### 列注释
|
|
|
|
+
|
|
|
|
+```sql
|
|
|
|
+COMMENT ON COLUMN testSchema.peoples.role_id is '角色Id';
|
|
|
|
+```
|
|
|
|
+
|
|
|
|
+### 查询列注释
|
|
|
|
+
|
|
|
|
+```sql
|
|
|
|
+select * from SYSCOLUMNCOMMENTS
|
|
|
|
+
|
|
|
|
+where SCHNAME='testSchema' and TVNAME='peoples' and COLNAME='role_id';
|
|
|
|
+```
|
|
|
|
+
|
|
|
|
+### 表注释
|
|
|
|
+
|
|
|
|
+```sql
|
|
|
|
+comment on table testSchema.peoples is '这是一个表注释';
|
|
|
|
+```
|
|
|
|
+
|
|
|
|
+### 查询表注释
|
|
|
|
+
|
|
|
|
+```sql
|
|
|
|
+select * from SYSTABLECOMMENTS where SCHNAME='testSchema' and TVNAME='peoples';
|
|
|
|
+```
|
|
|
|
+
|
|
|
|
+```sql
|
|
|
|
+SELECT COMMENTS
|
|
|
|
+FROM USER_TAB_COMMENTS
|
|
|
|
+WHERE TABLE_NAME = 'alarm_electrical_fire';
|
|
|
|
+```
|
|
|
|
+
|
|
|
|
+### 创建表空间
|
|
|
|
+
|
|
|
|
+```sql
|
|
|
|
+CREATE TABLESPACE MANAGEMENT DATAFILE 'MANAGEMENT.DBF' SIZE 128;
|
|
|
|
+```
|
|
|
|
+
|
|
|
|
+### 查看表空间
|
|
|
|
+
|
|
|
|
+```sql
|
|
|
|
+select * from dba_data_files;
|
|
|
|
+
|
|
|
|
+select * from dba_tablespaces;
|
|
|
|
+
|
|
|
|
+select * from v$tablespace;
|
|
|
|
+```
|
|
|
|
+
|
|
|
|
+### 创建用户
|
|
|
|
+
|
|
|
|
+```sql
|
|
|
|
+CREATE USER usky_cloud IDENTIFIED BY "usky666" DEFAULT TABLESPACE MANAGEMENT;
|
|
|
|
+
|
|
|
|
+GRANT DBA TO testSchema;
|
|
|
|
+GRANT DBA TO usky_cloud;
|
|
|
|
+```
|
|
|
|
+
|
|
|
|
+### 查看当前实例的连接数
|
|
|
|
+
|
|
|
|
+```sql
|
|
|
|
+select clnt_ip,user_name,state,count(*) from v$sessions group by clnt_ip,user_name,state;
|
|
|
|
+```
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+查询 dba_segments 需要Dba权限,用户没有Dba权限时查询 all_tables 或 user_tables
|
|
|
|
+
|
|
|
|
+某模式下所有表名 需要DBA权限 AND SEGMENT_NAME LIKE 'CD_%'
|
|
|
|
+
|
|
|
|
+```sql
|
|
|
|
+select owner,SEGMENT_NAME as tbName from dba_segments where segment_type='TABLE' and OWNER ='模式名'
|
|
|
|
+```
|
|
|
|
+
|
|
|
|
+查看模式下所有表 不需要DBA权限 and TABLE_NAME LIKE 'CD_%'
|
|
|
|
+
|
|
|
|
+```sql
|
|
|
|
+select TABLE_NAME as tbName from all_tables where OWNER ='模式名'
|
|
|
|
+```
|
|
|
|
+
|
|
|
|
+用户下所有表 where table_name like 'CD_%'
|
|
|
|
+
|
|
|
|
+```sql
|
|
|
|
+select table_name as tbName from user_tables group by TABLE_NAME
|
|
|
|
+```
|
|
|
|
+
|
|
|
|
+## 1.1 启动数据库
|
|
|
|
+
|
|
|
|
+```sql
|
|
|
|
+cd /home/dmdba/dmdbms/bin
|
|
|
|
+./dmserver /home/dmdba/dmdbms/DAMENG/dm.ini
|
|
|
|
+```
|
|
|
|
+
|
|
|
|
+### 1.2 连接数据库
|
|
|
|
+
|
|
|
|
+```sql
|
|
|
|
+./disql SYSDBA/SYSDBA@localhost:5236
|
|
|
|
+```
|
|
|
|
+
|
|
|
|
+### 1.3 使用DISQL直接执行命令
|
|
|
|
+
|
|
|
|
+```sql
|
|
|
|
+cd /home/dmdba/dmdbms/bin
|
|
|
|
+./disql SYSDBA/SYSDBA -E "select * from t1"
|
|
|
|
+```
|
|
|
|
+
|
|
|
|
+### 1.4 数据库版本
|
|
|
|
+
|
|
|
|
+```sql
|
|
|
|
+select *,id_code from v$version;
|
|
|
|
+
|
|
|
|
+SQL> select * from v$version;
|
|
|
|
+```
|
|
|
|
+
|
|
|
|
+### 1.4 数据库信息
|
|
|
|
+
|
|
|
|
+```sql
|
|
|
|
+select * from v$database;
|
|
|
|
+```
|
|
|
|
+
|
|
|
|
+## 2 数据库对象
|
|
|
|
+
|
|
|
|
+### 2.1 表
|
|
|
|
+
|
|
|
|
+```sql
|
|
|
|
+// 查看表结构
|
|
|
|
+SQL > describe table
|
|
|
|
+// 查看表的模式名
|
|
|
|
+select owner from dba_tables where table_name='T1';
|
|
|
|
+// 查看数据库中的表
|
|
|
|
+select * from dba_tables;
|
|
|
|
+// 查看建表语句
|
|
|
|
+sp_tabledef('SYSDBA','T1'); -- 模式名,表名,注意都要大写。
|
|
|
|
+SELECT DBMS_METADATA.GET_DDL('TABLE',表名,模式名); // 参考 DBMS_METADATA 系统包
|
|
|
|
+SELECT DBMS_METADATA.GET_DDL('TABLE','T1','SYSDBA'); // 例句
|
|
|
|
+```
|
|
|
|
+
|
|
|
|
+### 2.2 LICENSE
|
|
|
|
+
|
|
|
|
+```sql
|
|
|
|
+SQL > SELECT * FROM V$LICENSE;
|
|
|
|
+```
|
|
|
|
+
|
|
|
|
+## 3 数据库操作
|
|
|
|
+
|
|
|
|
+### 3.1 开启归档日志
|
|
|
|
+
|
|
|
|
+```sql
|
|
|
|
+//修改数据库为MOUNT状态
|
|
|
|
+ALTER DATABASE MOUNT;
|
|
|
|
+
|
|
|
|
+//配置本地归档
|
|
|
|
+ALTER DATABASE ADD ARCHIVELOG 'DEST = /dmdata/dameng/arch_dsc0, TYPE = local, FILE_SIZE = 1024, SPACE_LIMIT = 2048, ARCH_FLUSH_BUF_SIZE=16,HANG_FLAG=1';
|
|
|
|
+
|
|
|
|
+//配置远程归档
|
|
|
|
+ALTER DATABASE ADD ARCHIVELOG 'DEST = DSC1, TYPE = REMOTE, FILE_SIZE = 1024, SPACE_LIMIT = 2048, ARCH_FLUSH_BUF_SIZE=16, INCOMING_PATH = /dmdata/dameng/arch_dsc1';
|
|
|
|
+
|
|
|
|
+//开启归档模式
|
|
|
|
+ALTER DATABASE ARCHIVELOG;
|
|
|
|
+
|
|
|
|
+//修改数据库为OPEN状态
|
|
|
|
+ALTER DATABASE OPEN;
|
|
|
|
+```
|
|
|
|
+
|
|
|
|
+### 脱机完全备份(RMAN)
|
|
|
|
+
|
|
|
|
+```sql
|
|
|
|
+// 必须开启归档并已生成归档日志
|
|
|
|
+dmdba@else-virtual-machine:~/dmdbms/bin$ ./dmrman
|
|
|
|
+dmrman V8
|
|
|
|
+RMAN> BACKUP DATABASE '/home/dmdba/dmdbms/DAMENG/dm.ini' FULL BACKUPSET '/else/bakup_dm';
|
|
|
|
+```
|
|
|
|
+
|
|
|
|
+### 3.3 联机完全备份(disql)
|
|
|
|
+
|
|
|
|
+```sql
|
|
|
|
+SQL> BACKUP DATABASE TO WEEKLY_FULL_BAK BACKUPSET '/backup/dmdb/online';
|
|
|
|
+SQL> BACKUP DATABASE FULL BACKUPSET '/backup/dmdb/online';
|
|
|
|
+```
|
|
|
|
+
|
|
|
|
+### 数据库表备份
|
|
|
|
+
|
|
|
|
+```sql
|
|
|
|
+SQL> BACKUP TABLE t1 BACKUPSET '/backup/dmdb/t1_bak_01';
|
|
|
|
+```
|
|
|
|
+
|
|
|
|
+### 数据库表恢复
|
|
|
|
+
|
|
|
|
+```sql
|
|
|
|
+// 前提: 表必须存在
|
|
|
|
+SQL> RESTORE TABLE t1 FROM BACKUPSET '/backup/dmdb/t1_bak_01';
|
|
|
|
+```
|
|
|
|
+
|
|
|
|
+## 4 主从复制
|
|
|
|
+
|
|
|
|
+### 4.1 查看数据库模式
|
|
|
|
+
|
|
|
|
+```sql
|
|
|
|
+// 数据库状态查看
|
|
|
|
+SQL> select status$ from v$instance;
|
|
|
|
+// 数据库模式查看
|
|
|
|
+SQL> select MODE$ from v$instance;
|
|
|
|
+```
|
|
|
|
+
|
|
|
|
+### 4.2 查看主备运行情况
|
|
|
|
+
|
|
|
|
+```sql
|
|
|
|
+ SQL> select * from V$ARCH_STATUS
|
|
|
|
+ SQL> select * from V$RLOG_RAFT_INFO
|
|
|
|
+```
|
|
|
|
+
|
|
|
|
+# nginx
|
|
|
|
+
|
|
|
|
+```shell
|
|
|
|
+重启服务:cd /usr/local/nginx/sbin
|
|
|
|
+./nginx -s reload
|
|
|
|
+
|
|
|
|
+添加环境变量:
|
|
|
|
+export PATH=$PATH:/usr/local/nginx
|
|
|
|
+
|
|
|
|
+启动:
|
|
|
|
+sudo /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
|
|
|
|
+
|
|
|
|
+查看服务:
|
|
|
|
+
|
|
|
|
+sudo systemctl status nginx
|
|
|
|
+
|
|
|
|
+ps -ef | grep nginx
|
|
|
|
+
|
|
|
|
+sudo lsof -i :8083
|
|
|
|
+
|
|
|
|
+ps aux | grep nginx
|
|
|
|
+
|
|
|
|
+查看监听端口:
|
|
|
|
+sudo netstat -tulnp | grep nginx
|
|
|
|
+sudo ss -tulpn | grep nginx
|
|
|
|
+
|
|
|
|
+检查配置文件是否正确:
|
|
|
|
+sudo /usr/local/nginx/sbin/nginx -t
|
|
|
|
+看行号
|
|
|
|
+:set number
|
|
|
|
+
|
|
|
|
+如果配置文件检查无误,则应用新的配置(平滑重启):
|
|
|
|
+sudo /usr/local/nginx/sbin/nginx -s reload
|
|
|
|
+```
|
|
|
|
+
|
|
|
|
+# Linux
|
|
|
|
+
|
|
|
|
+```shell
|
|
|
|
+查看操作系统信息
|
|
|
|
+uname -a
|
|
|
|
+cat /proc/version
|
|
|
|
+lsb_release -a
|
|
|
|
+cat /etc/.kyinfo
|
|
|
|
+
|
|
|
|
+查看服务进程
|
|
|
|
+(旧 netstat)
|
|
|
|
+netstat -tuln
|
|
|
|
+sudo netstat -anp | grep 端口号
|
|
|
|
+
|
|
|
|
+(新 ss)
|
|
|
|
+ss -tuln
|
|
|
|
+ss -plunt '( sport = :端口号 | dport = :端口号 )'
|
|
|
|
+
|
|
|
|
+lsof 命令:
|
|
|
|
+查看指定端口被哪个进程占用:
|
|
|
|
+lsof -i :端口号
|
|
|
|
+fuser 命令:
|
|
|
|
+
|
|
|
|
+杀掉占用指定端口的进程(同时也可以用于查询):
|
|
|
|
+fuser -kuv 端口号/tcp
|
|
|
|
+nmap 工具(主要用于远程扫描):
|
|
|
|
+
|
|
|
|
+在本地主机上快速检查一个端口是否开放:
|
|
|
|
+nmap -sT localhost -p 端口号
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+```
|
|
|
|
+
|
|
|
|
+# Redis
|
|
|
|
+
|
|
|
|
+```shell
|
|
|
|
+# 开机自动启动
|
|
|
|
+systemctl enable redis.service
|
|
|
|
+# 取消开机自动启动(卸载服务)
|
|
|
|
+systemctl disabled redis.service
|
|
|
|
+# 启动redis服务
|
|
|
|
+systemctl start redis.service
|
|
|
|
+# 查看服务状态
|
|
|
|
+systemctl status redis.service
|
|
|
|
+# 停止服务
|
|
|
|
+systemctl stop redis.service
|
|
|
|
+
|
|
|
|
+# 重新加载服务
|
|
|
|
+systemctl daemon-reload
|
|
|
|
+
|
|
|
|
+#启动redis
|
|
|
|
+./bin/redis-server /usr/local/redis/redis-6.2.14/redis.conf
|
|
|
|
+#查看进程
|
|
|
|
+ps -aux | grep redis
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+[Unit]
|
|
|
|
+Description=Redis Server
|
|
|
|
+After=network.target
|
|
|
|
+
|
|
|
|
+[Service]
|
|
|
|
+ExecStart=/usr/local/redis/bin/redis-server /usr/local/redis/redis-6.2.14/redis.conf
|
|
|
|
+ExecStop=/usr/local/redis/bin/redis-cli shutdown
|
|
|
|
+Restart=always
|
|
|
|
+
|
|
|
|
+[Install]
|
|
|
|
+WantedBy=multi-user.target
|
|
|
|
+```
|
|
|
|
+
|