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
create tablespace api datafile '/home/software/oracle/api.dbf' size 1500M autoextend on next 5M maxsize 3000M;
# 删除表空间
drop tablespace api including contents and datafiles
# 建用户
create user api_user_rw identified by 123456 default tablespace api;
# 赋权
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;
1、启动oracle监听:
lsnrctl start
2、创建数据库的时候,实例名叫 orcl,那么先设置一下oralce的sid
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;”测试一下,看是否有查询结果。
# 查看当前实例名
SQL> select instance_name from v$instance;
# 查看所有创建的实例
1、通过查看文件夹方式(可以看到已启动未启动的)
[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、通过查看进程 (只能看到已启动的)
[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
# 查询
SELECT * from "user_info" where "id" = 2; SELECT * from "user_info" where "user_info"."id" = 2;
# 更新
/* 下面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;
# 插入
/* > 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');
# 删除
/* 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;
ORACLE_SID 是Oracle System Identifier的缩写
在Oracle系统中,ORACLE_SID以环境变量的形式出现,在特定版本的Oracle软件安装(也就是ORACLE_HOME)下,当Oracle实例启动时,操作系统上fork的进程必须通过这个SID将实例与其他实例区分开来,这就是SID的作用。
参考: https://www.qycn.com/xzx/article/13626.html