搭建数据库
https://blog.youkuaiyun.com/ageeklet/article/details/81603482
搭建数据库过程中报错解决参考
1.dbca提示-bash: dbca: command not found
https://blog.youkuaiyun.com/shushugood/article/details/53020408
https://blog.youkuaiyun.com/zq199692288/article/details/78871046
https://blog.youkuaiyun.com/shushugood/article/details/53020408
我的是多个用户,本来是在oracle下运行dbca,但是运行的确实fb用户下的vi .bash_profile,文档里面的路径关系复制了进去,要看清楚路径是否正确(在ftp下看看找不找得到例如xftp工具)。只要路径正确,肯定可以把dbca弹出来。
2. Oracle 安装执行./runInstaller 提示SEVERE: [FATAL] web01: web01
http://www.bubuko.com/infodetail-1714256.html
3. [WARNING] - My Oracle Support Username/Email Address Not Specified
https://blog.youkuaiyun.com/qq_40687433/article/details/84236363
也有可能是自己的配置文件写的有问题 可以注释掉 自己重新写一个 可能就好使了
解决办法
SQL> startup
ORA-01078: failure in processing system parameters
LRM-00109: could not open parameter file ‘/u01/app/oracle/product/11.2.0/db/dbs/initorcl.ora’
4. linux 上执行DBCA报错ora-00600 ora-03114
linux上安装Oracle 11g,单机。在执行dbca后,在安装进度到12%的时候,报错ora-00600。查看日志信息,报错为ora-03114 not collect oracle。前期的准备都有的,怎么会报这个错呢,查了相关资料后,怀疑是主机名的问题,查看hostname 为bogon。在查看/etc/hosts ,和 /etc/sysconfig/network ,发现其中的主机名都是localhost.domain。改为bogon。在dbca界面继续执行安装。成功。
修改/etc/hosts ,/etc/sysconfig/network 文件可以在另外一个终端中执行。不会影响
5. centos 安装oracle 报Checking swap space: 0 MB available, 150 MB required. Failed
https://blog.youkuaiyun.com/qq_35893120/article/details/80655645
配置数据库
创建临时表空间
create temporary tablespace CRM_TEMP tempfile ‘/var/app/oradata/crm/CRM_TEMP.bdf’ size 1024m reuse autoextend on next 200m maxsize unlimited;
创建表空间
create tablespace CRM datafile ‘/var/app/oradata/crm/crm.dbf’ size 1024M reuse autoextend on next 400M maxsize unlimited default storage(initial 128k next 128k minextents 2 maxextents unlimited);
修改表空间大小
ALTER TABLESPACE CRM ADD DATAFILE ‘/var/app/oradata/crm/crm1.dbf’ SIZE 20480M;
创建用户绑定表空间
create user crm1 identified by abc123DEF default tablespace CRM temporary tablespace CRM_TEMP;
修改用户绑定表空间
alter user crm1 default tablespace CRM temporary tablespace CRM_TEMP;
分配用户权限
grant dba to crm1;
grant connect,resource to crm1;
grant select any table to crm1;
grant delete any table to crm1;
grant update any table to crm1;
grant insert any table to crm1;
登陆新用户
sqlplus crm1/abc123DEF@orcl11g
内部切换用户
conn crm1/abc123DEF@orcl11g
删除用户和用户下面的所有数据
drop user crm1 cascade;
参考文档
linux系统下创建oracle表空间和用户权限查询
https://kingxss.iteye.com/blog/1741076
配置oracle数据库报错解决参考
1.ORA-00845: MEMORY_TARGET not supported on this system:
https://www.cnblogs.com/killkill/archive/2010/09/10/1823690.html
2. ORA-00214: control file ‘/oradata/orcl/control02.ctl’ version 884 inconsistent with file '/orad:
https://blog.youkuaiyun.com/debimeng/article/details/79656458
https://blog.youkuaiyun.com/dba_monkey/article/details/60962322
3. ORA-00205错误解决:
https://blog.51cto.com/xjsunjie/538818
https://blog.youkuaiyun.com/u013082095/article/details/64442837
https://www.cnblogs.com/sparkbj/articles/6146247.html
4. ORA-32001:write to SPFILE requested but no SPFILE is in use:
https://blog.youkuaiyun.com/songyundong1993/article/details/53307931
5. ORA-01102: cannot mount database in EXCLUSIVE mode :
https://blog.youkuaiyun.com/linucle/article/details/8560548
6. ORA-01507: database not mounted:
https://blog.youkuaiyun.com/qq_27966627/article/details/51062822
https://www.cnblogs.com/thg999/p/9981766.html
7. ORA-00210,ORA-00202,ORA-27086错误:
ORA-00210: cannot open the specified control file
ORA-00202: control file: ‘/u01/app/oracle/oradata/orcl/control01.ctl‘
ORA-27086: unable to lock file - already in use
查看日志发现的
SQL> show parameter dump_dest
NAME TYPE VALUE
background_dump_dest string /var/app/diag/rdbms/orcl11g/or
a11g/trace
core_dump_dest string /var/app/diag/rdbms/orcl11g/or
a11g/cdump
user_dump_dest string /var/app/diag/rdbms/orcl11g/or
a11g/trace
http://www.mamicode.com/info-detail-1173983.html
8.oracle11g报错 ORA-01078和LRM-00109 解决方法:
https://blog.youkuaiyun.com/buffoon1900/article/details/51919869
oracle数据库命令记录
显示当前用户
SQL> show user;
USER is “SYS”
显示实例名称
SQL> select * from v$instance;
INSTANCE_NUMBER INSTANCE_NAME
HOST_NAME
VERSION STARTUP_T STATUS PAR THREAD# ARCHIVE LOG_SWITCH_WAIT
LOGINS SHU DATABASE_STATUS INSTANCE_ROLE ACTIVE_ST BLO
1 ora11g
localhost.localdomain
11.2.0.1.0 25-JUN-19 OPEN NO 1 STOPPED
ALLOWED NO ACTIVE PRIMARY_INSTANCE NORMAL NO
我们查该对象下有些什么表,就应该执行下列的语句:
SQL>select table_name from user_tables;
linux系统下创建oracle表空间和用户权限查询
https://www.cnblogs.com/gzggyy/p/3319315.html
查看数据库名称
SQL> show parameter db_name;
NAME TYPE VALUE
db_name string orcl11g
oracle数据库创建表
https://blog.youkuaiyun.com/qq_42914528/article/details/81509853
oracle数据库之数据插入、修改和删除
https://www.cnblogs.com/fighter007/p/8287780.html
oracle一个创建用户、创建表空间、授权、建表的完整过程
https://blog.youkuaiyun.com/skyuck/article/details/83799440
当前数据库名
SQL> select name from v$database;
NAME
ORCL11G
Oracle - 数据库的实例、表空间、用户、表之间关系
https://www.cnblogs.com/zouhao/p/3627522.html
查询当前数据库实例名:
SQL> select instance_name from v$instance;
INSTANCE_NAME
ora11g
一会看这个 这个通了 应该就能明白一些东西
oracle 连接数据库以及查看当前用户、当前数据库实例
https://blog.youkuaiyun.com/weixin_34372728/article/details/85968907
Oracle数据库 入门教程
https://blog.youkuaiyun.com/qq_42589612/article/details/80943957
命令行(cmd) 登录Oracle数据库命令总结
https://blog.youkuaiyun.com/CQL_K21/article/details/88688354
dos命令行连接操作ORACLE数据库
https://www.cnblogs.com/wanghongyun/p/6337143.html
linux系统下创建oracle表空间和用户权限查询
https://www.cnblogs.com/gzggyy/p/3319315.html
本地连接服务器上的oracle数据库
ORA-12514 TNS 监听程序当前无法识别
https://www.cnblogs.com/nichoc/p/6417505.html
https://www.cnblogs.com/qianyuliang/p/6520515.html
3. listener.ora------listener监听器进程的配置文件
关于listener进程就不多说了,接受远程对数据库的接入申请并转交给oracle的服务器进程。所以如果不是使用的远程的连接,listener进程就不是必需的,同样的如果关闭listener进程并不会影响已经存在的数据库连接。
例子:
#listener.ora Network Configuration File: #E:/oracle/product/10.1.0/Db_2/NETWORK/ADMIN/listener.ora
#Generated by Oracle configuration tools.
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(GLOBAL_DBNAME = ora)
(ORACLE_HOME = E:/oracle/product/10.1.0/Db_2)
(SID_NAME = ora)
)
)
LISTENER =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = hostname)(PORT = 1521))
)
LISTENER :监听名称,可以配置多个监听,多个监听的端口号要区分开来。
GLOBAL_DBNAME :全局数据库名。通过select * from global_name; 查询得出
ORACLE_HOME :oracle软件的跟目录
SID_NAME :服务器端(本机)的SID SELECT instance_name FROM v
i
n
s
t
a
n
c
e
;
P
R
O
T
O
C
O
L
:
监
听
协
议
,
一
般
都
使
用
T
C
P
H
O
S
T
:
本
机
I
P
地
址
,
双
机
时
候
使
用
浮
动
I
P
P
O
R
T
:
监
听
的
端
口
号
,
使
用
n
e
t
s
t
a
t
–
a
n
检
查
该
端
口
不
被
占
用
。
O
R
A
−
12514
:
T
N
S
:
监
听
程
序
当
前
无
法
识
别
连
接
描
述
符
中
请
求
的
服
务
正
在
查
l
s
n
r
c
t
l
s
t
a
r
t
命
令
找
不
到
也
有
可
能
是
配
置
用
户
的
的
命
令
切
换
到
o
r
a
c
l
e
用
户
下
面
可
以
再
查
一
下
命
令
找
不
到
,
一
定
是
环
境
变
量
没
有
配
置
对
,
或
者
由
于
没
有
正
常
关
闭
数
据
库
造
成
的
。
我
的
操
作
:
e
x
p
o
r
t
P
A
T
H
=
/
h
o
m
e
/
o
r
a
c
l
e
/
a
p
p
/
o
r
a
c
l
e
/
p
r
o
d
u
c
t
/
11.2.0
/
d
b
h
o
m
e
1
/
b
i
n
:
instance; PROTOCOL:监听协议,一般都使用TCP HOST:本机IP地址,双机时候使用浮动IP PORT:监听的端口号,使用netstat –an 检查该端口不被占用。 ORA-12514: TNS:监听程序当前无法识别连接描述符中请求的服务 正在查 lsnrctl start 命令找不到 也有可能是配置用户的的命令 切换到oracle用户下面 可以再查一下 命令找不到,一定是环境变量没有配置对,或者由于没有正常关闭数据库造成的。我的操作: export PATH=/home/oracle/app/oracle/product/11.2.0/dbhome_1/bin:
instance;PROTOCOL:监听协议,一般都使用TCPHOST:本机IP地址,双机时候使用浮动IPPORT:监听的端口号,使用netstat–an检查该端口不被占用。ORA−12514:TNS:监听程序当前无法识别连接描述符中请求的服务正在查lsnrctlstart命令找不到也有可能是配置用户的的命令切换到oracle用户下面可以再查一下命令找不到,一定是环境变量没有配置对,或者由于没有正常关闭数据库造成的。我的操作:exportPATH=/home/oracle/app/oracle/product/11.2.0/dbhome1/bin:PATH
export ORACLE_HOME=/home/oracle/app/oracle/product/11.2.0/dbhome_1
export ORACLE_SID=orcl
使用oracle用户临时配置上这三个环境变量,就可以正常的 lsnrctl start 启动监听。
$ sqlplus /nolog //登录sqlplus
SQL> connect /as sysdba //连接oracle
SQL> startup //起动数据库
妥了!
原文:https://blog.youkuaiyun.com/sdewendong/article/details/80978119
正确理解tnsnames.ora中的service_name
https://blog.youkuaiyun.com/qq_38136705/article/details/80211350
SQL> show parameter service_names
NAME TYPE VALUE
service_names string orcl11g.us.oracle.com
SQL> show parameter db_domain
NAME TYPE VALUE
db_domain string us.oracle.com
listener.ora/sqlnet.ora/tnsnames.ora配置文件详解
https://www.cnblogs.com/qianyuliang/p/6520515.html
如何查看Oracle数据库的SID
https://jingyan.baidu.com/article/f25ef2549a7e58482c1b82f7.html
虚拟机里面 连接这个成功了
conn hc_notify/hc_password@orcl11g
ora–12154 :TNS :could not resolve the connect identifier specified 错误处理
感觉这个靠谱
https://blog.youkuaiyun.com/loadrunn/article/details/7895726
连接的SERVICE_NAME 就是数据库里面的 service_name
感觉这个有用
https://www.cnblogs.com/nichoc/p/6417505.html
https://blog.youkuaiyun.com/qq_38136705/article/details/80211350
EM将配置数据上载到资料档案库出错
https://www.cnblogs.com/liuguosong/articles/5804497.html
连接服务器oracle数据库 ORA-12170: TNS:连接超时
一般是服务器的端口没开 可以使用
若是要通过telnet查某个端口是否打开,可以这样做:
如要查看 127.0.0.1 这个IP的 80 端口是否开启,可以在打开的dos命令行中输入 telnet 127.0.0.1 80,然后回车,若是出现以下这样,则证明这个端口开启了,也链接成功了。
测试一下
TELNET查看端口是否通
- 查看端口是否通畅 telnet IP 端口号 如:telnet 10.150.159.71 5516
2.查看本机是否开启某个端口:netstat -an |findstr “端口号” 或 netstat -na |find “端口号”
端口和IP的区别:
PL/SQL连不上,报 ORA-12170:TNS 连接超时
https://www.cnblogs.com/gw666/p/7889287.html
导入导出数据报错参考
1.取消dba权限
2.先执行导出的用户对象表
IMP-00017: 由于 ORACLE 错误 6550, 以下语句失败:
“DECLARE SREC DBMS_STATS.STATREC; BEGIN SREC.MINVAL := ‘09’; SREC.MAXVAL :=”
" ‘F5FC2EB1F0C0EB2020313532313338313236300D0A0D0AB9ABCBBED7E9D6AFD4’; SREC.E"
“AVS := 4; SREC.CHVALS := DBMS_STATS.CHARARRAY(’ 访客IP: 113.91.210.240 (查”
“看’,’ 8-27九月份报,到时QQ找我,这’,’ 5-13挂断’,’ 11-4 停机了’,’ 5-25 无”
“接’,’ 电话无人接听’,’-------------------------------
',‘1’,'1,10在太原,要面”
"授 不要直播可以’,‘1-13 无接’,'1-17没有打通过
IMP-00017: 由于 ORACLE 错误 6550解决办法
https://blog.youkuaiyun.com/qq_42909551/article/details/81985498
. . 正在导入表 “XY_XYDA”
IMP-00058: 遇到 ORACLE 错误 3113
ORA-03113: 通信通道的文件结尾
进程 ID: 16135
会话 ID: 17 序列号: 3022
IMP-00000: 未成功终止导入
Import finished on 2019/7/9 17:11:24
解决办法
这个可能也是表空间大小 设置小了
这个靠谱
ORA-00257归档日志写满的解决方法
https://www.cnblogs.com/xwdreamer/p/3804509.html
先导入用户表结构 再导入表数据
解决oracle数据库 ora-00054:resource busy and acquire with NOWAIT specified 错误
https://www.cnblogs.com/jiafuwei/p/7054545.html
解决ORA-00054: resource busy and acquire with NOWAIT specified需要注意
https://blog.youkuaiyun.com/stevendbaguo/article/details/23652959
oracle报ORA-00054资源繁忙错误解决办法
https://jingyan.baidu.com/article/d621e8da6f59a42864913f7b.html
Oracle 11g 删除归档日志
https://www.cnblogs.com/kofxxf/p/3614104.html
Oracle错误——ORA-03113:通信通道的文件结尾 解决办法
https://blog.youkuaiyun.com/evilcry2012/article/details/52788267
ORACLE归档与日志的路径查看
2018-11-19 13:37:30 llj13258438698 阅读数 1132
数据库归档路径查看命令
sql>archive log list;
日志路径查看
sql>show parameter dump_dest
文件为.tec结尾的文件
2,如果不是在默认位置,则可通过sql查询日志文件位置:
SQL> show parameter dump_dest
NAME TYPE
VALUE
background_dump_dest string
/home/oracle/oracle/admin/TESTDB/bdump
core_dump_dest string
/home/oracle/oracle/admin/TESTDB/cdump
user_dump_dest string
/home/oracle/oracle/admin/TESTDB/udump
其中background_dump_dest的value值即为日志文件存放位置
oracle数据库经常提示27102 out of memory问题的解决方法
2018-02-13 10:06:56 来源:标配的小号
收藏 我要投稿
网上有很多解决方案,但是我一个也看不懂,不知道写的什么鬼的东西,为什么一句话就能解决的事,非得长篇大论说原理是什么,看得一脸懵逼
我的解决方法入戏
vi /etc/sysctl.conf
修改kernel.shmall(共享内存总量)的值,该值原来为2097152,我把它给为4097152(暂时不知道应该改什么值,但是把这个值变大就对了,我就是随便吧第一位的2改为4,然后问题就自动解决)了,然后sqlplus / as sysdba
执行select status from v$instance;没有再提示out of memory错误,而是正常显示open
ORACLE删除当前用户下所有的表的方法
https://www.cnblogs.com/franson-2016/p/5925809.html
1、如果有删除用户的权限,则可以:
drop user user_name cascade;
加了cascade就可以把用户连带的数据全部删掉。
删除后再创建该用户。
–创建管理员用户
create user 用户名 identified by 密码 default tablespace space_data(表空间名称) temporary tablespace space_temp(临时表空间名称);
–授权
grant connect,dba to 用户名;
–修改限额
ALTER USER “用户名” QUOTA UNLIMITED ON SPACE_DATA(表空间名称);
–查看所有用户对象
select uo.object_name,uo.object_type from user_objects uo where uo.object_type<>‘LOB’ order by uo.object_type desc
2、如果没有删除用户的权限,则可以执行:
select ‘drop table ‘||table_name||’;’
from cat
where table_type=‘TABLE’
将会输出一批删除表的sql语句,这些SQL语句执行一下就可以了。(需要有drop table的权限)
解决ORA-01012:not logged on
2013年10月10日 09:54:00 weixin_34006468 阅读数 24
原文链接:https://my.oschina.net/psuyun/blog/167583
为什么80%的码农都做不了架构师?>>>
kill oracle 进程 或者关掉oracle
ps -ef|grep ora_dbw0_$ORACLE_SID
kill -9 pid
重新启动oracle
sqlplus sys as sysdba
startup;
转载于:https://my.oschina.net/psuyun/blog/167583
. . 正在导入表 "XY_TFXX"导入了 34 行
. . 正在导入表 "XY_XCQD"导入了 9108 行
. . 正在导入表 “XY_XYDA”
IMP-00058: 遇到 ORACLE 错误 3113
ORA-03113: 通信通道的文件结尾
进程 ID: 26976
会话 ID: 9 序列号: 11
IMP-00000: 未成功终止导入
Import finished on 2019/7/10 17:38:12
可能是表空间大小设置小了
Oracle数据库查看表空间sql语句
https://blog.youkuaiyun.com/zejunwzj/article/details/82349839
ORACLE system表空间满
https://www.cnblogs.com/Snowfun/p/8555085.html
添加数据文件时使用已存在的文件名的方法 ORA-00933
https://blog.youkuaiyun.com/lk_db/article/details/78529841
ORA-01940 无法删除当前已连接的用户之解决方案
https://www.cnblogs.com/lwlxqlccc/p/8694696.html
ORA-01940: cannot drop a user that is currently connected
https://blog.youkuaiyun.com/xionglang7/article/details/7804639
Connected to Oracle Database 11g Enterprise Edition Release 11.2.0.1.0
Connected as crm1@TESTNEW
SQL>
SQL> SELECT
2 a.tablespace_name “表空间名”,
3 total “表空间大小”,
4 free “表空间剩余大小”,
5 (total - free) “表空间使用大小”,
6 total / (1024 * 1024 * 1024) “表空间大小(G)”,
7 free / (1024 * 1024 * 1024) “表空间剩余大小(G)”,
8 (total - free) / (1024 * 1024 * 1024) “表空间使用大小(G)”,
9 round((total - free) / total, 4) * 100 “使用率 %”
10 FROM (SELECT tablespace_name, SUM(bytes) free
11 FROM dba_free_space
12 GROUP BY tablespace_name) a,
13 (SELECT tablespace_name, SUM(bytes) total
14 FROM dba_data_files
15 GROUP BY tablespace_name) b
16 WHERE
17 a. tablespace_name = b.tablespace_name;
表空间名 表空间大小 表空间剩余大小 表空间使用大小 表空间大小(G) 表空间剩余大小(G) 表空间使用大小(G) 使用率 %
SYSAUX 639631360 34144256 605487104 0.595703125 0.03179931640625 0.56390380859375 94.66
UNDOTBS1 382730240 355008512 27721728 0.3564453125 0.33062744140625 0.02581787109375 7.24
USERS 5242880 3866624 1376256 0.0048828125 0.00360107421875 0.00128173828125 26.25
SYSTEM 723517440 8192000 715325440 0.673828125 0.00762939453125 0.66619873046875 98.87
CRM 1468006400 459014144 1008992256 1.3671875 0.427490234375 0.939697265625 68.73
SQL> SELECT
2 a.tablespace_name “表空间名”,
3 total “表空间大小”,
4 free “表空间剩余大小”,
5 (total - free) “表空间使用大小”,
6 total / (1024 * 1024 * 1024) “表空间大小(G)”,
7 free / (1024 * 1024 * 1024) “表空间剩余大小(G)”,
8 (total - free) / (1024 * 1024 * 1024) “表空间使用大小(G)”,
9 round((total - free) / total, 4) * 100 “使用率 %”
10 FROM (SELECT tablespace_name, SUM(bytes) free
11 FROM dba_free_space
12 GROUP BY tablespace_name) a,
13 (SELECT tablespace_name, SUM(bytes) total
14 FROM dba_data_files
15 GROUP BY tablespace_name) b
16 WHERE
17 a. tablespace_name = b.tablespace_name;
表空间名 表空间大小 表空间剩余大小 表空间使用大小 表空间大小(G) 表空间剩余大小(G) 表空间使用大小(G) 使用率 %
SYSAUX 639631360 38076416 601554944 0.595703125 0.03546142578125 0.56024169921875 94.05
UNDOTBS1 1751121920 1701576704 49545216 1.630859375 1.584716796875 0.046142578125 2.83
USERS 5242880 3866624 1376256 0.0048828125 0.00360107421875 0.00128173828125 26.25
WYZCDB 104857600 103809024 1048576 0.09765625 0.0966796875 0.0009765625 1
SYSTEM 723517440 1507328 722010112 0.673828125 0.00140380859375 0.67242431640625 99.79
NOTIFYDB 104857600 103677952 1179648 0.09765625 0.0965576171875 0.0010986328125 1.13
CRM 1887436800 878444544 1008992256 1.7578125 0.818115234375 0.939697265625 53.46
7 rows selectedSELECT * FROM (SELECT SEGMENT_NAME, SUM(BYTES) / 1024 / 1024 MB FROM DBA_SEGMENTS WHERE TABLESPACE_NAME = ‘SYSTEM’ GROUP BY SEGMENT_NAME ORDER BY 2 DESC) WHERE ROWNUM < 10;
SQL> SELECT * FROM (SELECT SEGMENT_NAME, SUM(BYTES) / 1024 / 1024 MB FROM DBA_SEGMENTS WHERE TABLESPACE_NAME = ‘SYSTEM’ GROUP BY SEGMENT_NAME ORDER BY 2 DESC) WHERE ROWNUM < 10;
SEGMENT_NAME MB
IDL_UB1$ 240
SOURCE$ 64
IDL_UB2$ 30
C_TOID_VERSION# 23
C_OBJ#_INTCOL# 14
C_OBJ# 12
I_SOURCE1 select tablespace_name, sum(bytes) / 1024 / 1024 from dba_data_files group by tablespace_name; 12
ARGUMENT$ 11
JAVA
M
C
MC
MC 11
9 rows selected
SQL> select tablespace_name, sum(bytes) / 1024 / 1024 from dba_data_files group by tablespace_name;
TABLESPACE_NAME SUM(BYTES)/1024/1024
UNDOTBS1 1670
SYSAUX 610
USERS 5
WYZCDB 100
SYSTEM 690
NOTIFYDB 100
CRM 1800
7 rows selected
SQL>
oracle数据库当前被连接的用户无法删除怎么办
https://jingyan.baidu.com/article/27fa732651a8c346f8271f90.html
oracle-system表空间已满,如何解决?
https://blog.youkuaiyun.com/liuyanggo/article/details/80940403
Oracle 11g用exp无法导出空表的处理方法
https://www.cnblogs.com/xusweeter/p/5837437.html