Rootop 服务器运维与web架构

2023-06-27
发表者 Venus
certbot申请证书及更新已关闭评论

certbot申请证书及更新

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
yum install -y epel-*
yum install certbot
 
# 申请证书
certbot certonly -d d1.rootop.org --webroot -w /usr/share/nginx/html/d1/ -m xxx@xxx.com -n
 
-d 指定域名
--webroot 是使用文件验证方式,会在网站根目录下自动创建文件夹及验证文件
-w 指定网站根目录路径
-m 指定一个邮箱
-n 不交互 申请
 
# nginx访问日志可以看到是进行文件验证
23.178.112.202 - - [27/Jun/2023:09:16:37 +0800] "GET /.well-known/acme-challenge/ziAcQFRDITwWwCjYzpeISyTXKmyX47lAM4xD0-cZOKA HTTP/1.1" 200 87 "-" "Mozilla/5.0 (compatible; Let's Encrypt validation server; +https://www.letsencrypt.org)" "-"
 
# 证书路径
/etc/letsencrypt/live/域名/
  
 
# 官网限制7天只能重复申请5次
# 证书到期前30天可以再次申请,也可以强制重新申请
 
certbot renew --force-renew --deploy-hook "nginx -t && nginx -s reload"
 
--deploy-hook 是申请证书以后执行一个命令,这里实现重启nginx重新载入证书。
 
# 查看当前所有证书的信息
certbot certificates
 
certbot 强制更新证书只用加上 --force-renewal 参数, 执行命令 certbot renew --force-renewal即可。
如果是想更新指定的证书使用参数 --cert-name x.x.com
certbot renew --cert-name x.x.com --force-renewal

2023-05-17
发表者 Venus
oracle创建表空间及用户已关闭评论

oracle创建表空间及用户

1
2
3
4
create tablespace api
datafile '/home/software/oracle/api.dbf'
size 1500M
autoextend on next 5M maxsize 3000M;

# 删除表空间

1
drop tablespace api including contents and datafiles

# 建用户

1
create user api_user_rw identified by 123456 default tablespace api;

# 赋权

1
2
3
4
5
6
7
8
9
10
grant connect,resource to api_user_rw;
grant create any sequence to api_user_rw;
grant create any table to api_user_rw;
grant delete any table to api_user_rw;
grant insert any table to api_user_rw;
grant select any table to api_user_rw;
grant unlimited tablespace to api_user_rw;
grant execute any procedure to api_user_rw;
grant update any table to api_user_rw;
grant create any view to api_user_rw;

 

2023-05-17
发表者 Venus
重启服务器后启动oracle步骤已关闭评论

重启服务器后启动oracle步骤

1、启动oracle监听:

1
lsnrctl start

2、创建数据库的时候,实例名叫 orcl,那么先设置一下oralce的sid

1
2
3
4
5
6
export ORACLE_SID=orcl # 安装时实例名
export ORACLE_SID=geek # 安装后新建的一个实例名
 
sqlplus sys as sysdba
 
SQL> startup  # 这步是启动oracle服务。如果startup启动被告知已经启动了,可以先输入 shutdown immediate;等shutdown结束之后,再输入startup。

3、过几秒钟等命令运行完成。这个时候,输入”select * from user_tables;”测试一下,看是否有查询结果。

# 查看当前实例名

1
SQL> select instance_name from v$instance;

# 查看所有创建的实例
1、通过查看文件夹方式(可以看到已启动未启动的)

1
2
3
4
[oracle@localhost ~]$ ll /home/software/oracle/oradata
total 0
drwxr-x--- 2 oracle dba 179 May 11 14:57 geek
drwxr-x--- 2 oracle dba 179 May 11 14:42 orcl

2、通过查看进程 (只能看到已启动的)

1
2
3
[oracle@localhost ~]$ ps aux | grep smon
oracle     2530  0.0  1.6 2087972 103580 ?      Ss   10:52   0:01 ora_smon_orcl
oracle     5135  0.0  1.4 2087972 91068 ?       Ss   11:31   0:00 ora_smon_geek

#监听端口
netca (oracle net configuration assistant)

# 创建数据库
dbca (database configuration assistant)

# 监听命令
listener control 简写lsnr ctl

启动监听:lsnrctl start
停止监听:lsnrctl stop
重启监听:lsnrctl reload
查看监听:lsnrctl status

# 安装时默认创建的几个账号
SYS
SYSTEM
SYSMAN
DBSNMP

2023-05-17
发表者 Venus
oracle中sql学习已关闭评论

oracle中sql学习

# 查询

1
2
SELECT * from "user_info" where "id" = 2;
SELECT * from "user_info" where "user_info"."id" = 2;

# 更新

1
2
3
4
5
6
7
8
9
10
11
/* 下面sql执行会报错 > ORA-00942: table or view does not exist */
/* 原因就是oracle数据库是区分大小写的,而且oracle的默认为大写的,也就是说在sql脚本上面写的sql语句,oracle运行的时候,它会自动转化为大写,参考 https://www.cnblogs.com/javJoker/p/7069321.html*/
update user_info set password = "666" where id = 3;
 
/* 把表名和字段名都加上双引号来区分大小写 */
/* 加上双引号后执行报错 > ORA-00904: "666": invalid identifier */
/* 解决方法就是把666这个值改为单引号,原因是 password字段的类型为VARCHAR2,只能用单引号 */
update "user_info" set "password" = "666" where "id" = 3;
 
/* 正常sql */
update "user_info" set "password" = '777' where "id" = 3;

# 插入

1
2
3
4
5
/* > ORA-00984: column not allowed here 原因是 username和password字段的类型为VARCHAR2,只能用单引号把值包起来 */
INSERT INTO "user_info" ("id","username","password") VALUES (4,"ccc",'111111');
 
/* 正常sql */
INSERT INTO "user_info" ("id","username","password") VALUES (4,'ccc','111111');

# 删除

1
2
3
4
5
6
/* as 别名问题,执行报错 > ORA-00933: SQL command not properly ended ,原因就是oracle里不需要as关键词,直接空格+别名即可 */
DELETE from "user_info" as ui where ui."id" = 4;
 
/* 正常sql */
delete from "user_info" where "id" = 4;
DELETE from "user_info" ui where ui."id" = 4;

 

2023-05-17
发表者 Venus
ORACLE_SID作用已关闭评论

ORACLE_SID作用

ORACLE_SID 是Oracle System Identifier的缩写
在Oracle系统中,ORACLE_SID以环境变量的形式出现,在特定版本的Oracle软件安装(也就是ORACLE_HOME)下,当Oracle实例启动时,操作系统上fork的进程必须通过这个SID将实例与其他实例区分开来,这就是SID的作用。

参考:  https://www.qycn.com/xzx/article/13626.html