导航
# 一、free 命令 作用 在Linux终端环境下,使用free命令可以看到系统实际使用内存的情况,一般使用free -m命令查看内存占用情况(以兆(MB)为单位)。 # 二、系统内存计算 ## 1、实际数据详解 这里我使用“free -h”命令查看(以合适的单位显示内存使用情况),如下图 [![Linux内存查看](https://minedeed.com/content/uploadfile/202107/thum-fe8c1626346086.png)](https://minedeed.com/content/uploadfile/202107/fe8c1626346086.png) 解释: 第一行Mem数据: total:内存总数,图中为7.8G used:已经使用的内存数,图中为7.6G free:空闲的内存数,图中为210M shared:多个进程共享的内存,图中为160K buffers:用于块设备数据缓冲,记录文件系统的metadata,图中为219M cached:用于文件内容的缓冲,图中为4.0G 第二行数据:内存的使用情况 -buffers/cache:被程序实际使用的内存数,即used - buffers - cached;图中为3.4G +buffers/cache:可以挪用的内存数,即free + buffers + cached;图中为4.4G 第三行数据:交换分区的使用情况,也就是虚拟内存 补充: 缓冲与缓存区别:数据的流向不同 缓存:磁盘 -->> 内存 -->> CPU 缓冲:CPU -->> 内存 -->> 磁盘 ## 2、公式 总内存:total = used + free 实际内存占用:total - free - buffers - cached 实际可用内存:buffers + cached + free
# 导出导入操作 ## 导出数据 expdp 数据库用户名/密码 directory=虚拟目录 dumpfile=dump文件名.dmp logfile=日志文件名.log schemas=schemas名称 ## 数据库连接工具中创建表空间、用户、赋予权限 ### 创建表空间 create tablespace 表空间名称 logging datafile 数据文件位置,例如:'/data/oracle/db/表空间.dbf' size 100m autoextend on next 32m maxsize 500m extent management local; ### 创建数据库用户 create user 用户名 identified by 密码 default tablespace 表空间名称 temporary tablespace temp; ### 数据库用户授权 grant connect,dba to 用户; ### 导入目录授权 grant read,write to directory 虚拟目录 to 用户; ## 导入数据 impdp 新用户/密码 directory=虚拟目录 dumpfile=导出dump文件名.dmp logfile=导入日志.log remap_schema=被导入schema:新用户schema remap_tablespace=导出的表空间:新建的表空间 schemas=导出的schemas # 异常及问题解决 ORA-39171: 作业出现可恢复的等待。 ORA-01653: 表 A.COURSE 无法通过 1024 (在表空间 B_DATA 中) 扩展 网络上搜索了下异常,大概的意思是B用户的表空间不足了; 首先我们来看第一个问题: ## 一、表空间容量是否够用? ### 1、查看表空间的名字及文件所在位置 select tablespace_name, file_id, file_name, round(bytes / (1024 * 1024), 0) total_space from sys.dba_data_files where tablespace_name = 'B_DATA' ### 2、查询表空间信息 select username, default_tablespace, t.* from dba_users t ### 3、查询当前表空间下使用情况 SELECT a.tablespace_name, a.bytes/1024/1024 "sum MB", (a.bytes-b.bytes)/1024/1024 "used MB", b.bytes/1024/1024 "free MB", ROUND (((a.bytes-b.bytes)/a.bytes)*100,2) "used%" FROM ( SELECT tablespace_name, SUM(bytes) bytes FROM dba_data_files GROUP BY tablespace_name) a, ( SELECT tablespace_name, SUM(bytes) bytes, MAX (bytes) largest FROM dba_free_space GROUP BY tablespace_name)b WHERE a.tablespace_name=b.tablespace_name AND b.tablespace_name='B_DATA' ORDER BY ((a.bytes-b.bytes)/a.bytes) DESC; ### 4、扩展表空间的方式 #### ①、扩大表空间 alter database datafile '/data/oracle/db/B_DATA.DBF' resize 20480m; #### ②、增加新的数据文件 alter tablespace add datafile '/data/oracle/db/B_DATA_01.DBF' size 20480m; #### ③、设置表空间的自动增长 alter database datafile '/data/oracle/db/B_DATA.DBF' autoextend on next 100m maxsize 20480m; 我使用的是第一种,直接扩大表空间,再次查看日志时,数据已经导入到新的表空间中了。 再来看第二个问题,就是导入到A用户的表COURSE,表空间却是B_DATA,而不是A_DATA; ## 二、修复表空间问题 ### 1、指定表空间复制表结构及数据 CREATE TABLE COURSE_A TABLESPACE A_DATA AS SELECT * FROM COURSE; ### 2、删除表 DROP TABLE COURSE; ### 3、修改表名称 ALTER TABLE COURSE_A RENAME TO COURSE; 至此,Oracle导出导入库操作以及问题解决完成。
# 一、无法启动 Disconnected from the target VM, address: '127.0.0.1:9719', transport: 'socket' 启动后直接中断连接,开始以为是端口号被占用,所以修改端口号,仍然没有效果; 其他服务启动时,日志配置报错“RuntimeException in Action for tag [property] StringIndexOutOfBoundsException”;排查发现是定义property时,日志存储路径用了反斜杠“\”,改为斜杠“/”后,启动正常。 而网关服务中日志存储路径也修改好了,其他的配置没有,Nacos注册中心本地也在单例运行,所以仍然判断是日志配置文件有问题,导致服务无法启动。 网络上有篇文章,讲是缺少开发、测试环境的配置,排查本地工程时,发现也有配置: 但是,比对后发现有个关键的配置没有添加 在springProfile中添加之后,启动后也有日志输出 # 2、启动过程中报错: 异常如下: Property: spring.cloud.gateway.routes[0].uri Value: null Reason: 不能为null 排查application.yml配置文件,发现也有配置路由,仔细看了下异常信息,发现配置路由时书写错误。 错误配置: spring: cloud: gateway: routes:# 路由配置 - id: service-core url: lb://service-core predicates: - Path=/*/core/** uri写成了url,故此无法启动;修改后可以正常启动。 正确的配置: spring: cloud: gateway: routes:# 路由配置 - id: service-core uri: lb://service-core predicates: - Path=/*/core/**
恭喜您成功安装了emlog,这是系统自动生成的演示文章。编辑或者删除它,然后开始您的创作吧!