Postgres
启动关闭连接服务
pg_ctl
目录
$PGDATA为数据库存放路径,环境变量可配置,或手动输入地址
关闭服务
pg_ctl stop -D $PGDATA
smart: 等所有的连接中止后,关闭数据库。如果客户端连接不终止, 则无法关闭数据库。
fast: 快速关闭数据库, 断开客户端的连接,让已有的事务回滚,然后正常关闭数据库, 没有提交的数据, 在重启之后并不能查到。
immediate: 立即关闭数据库,立即停止数据库进程,直接退出,下次启动时会进行实例恢复。 smart最为安全,但最慢, 需要将所有连接都断开后,才会关库,默认关库模式。 fast强制中断会话,而不管有操作有没有提交,在做系统维护(系统维护时一般应用都正常关闭了,或者不再会有事务操作。)时,需要这种模式来关闭数据库。 immediate最暴力的方式,不管数据有没有落盘(POSGRE是遵循WAL机制),就直接关掉, 待启动时进行实例恢复, 如果在关库前有大量的事务没有写入磁盘, 那这个恢复过程可能会非常的漫长。 |
启动服务
pg_ctl start -D $PGDATA
psql
psql -h 127.0.0.1 -U postgres -d fengdos -p 5432 // 打开fengdos数据库
pg_dump备份还原数据库
PostgreSQL: Documentation: 9.6: pg_dump
PostgreSQL: Documentation: 9.6: pg_restore
1.pg_dump -h localhost -p 5432 -U sde sde > sde1230.dump 2.创建数据库sde,用户sde,创建表空间, 3.psql -d sde -U sde -f 1230.dmp |
备份的方式不同,还原的方式也不同
赋予用户权限
GRANT SELECT,INSERT,DELETE,UPDATE ON ALL TABLES IN SCHEMA "public" TO insightopr; GRANT ALL PRIVILEGES ON ALL SEQUENCES in schema "public" to insightopr; |
撤销用户权限
revoke all on all tables in schema public,firma1 from "vantaa" cascade; revoke all on all sequences in schema public,firma1 from "vantaa" cascade; revoke all on database idd from "vantaa" cascade; revoke all on all functions in schema public,firma1 from "vantaa" cascade; revoke all on schema public,firma1 from "vantaa" cascade; REASSIGN OWNED BY insightopr TO postgres; drop user insightopr; |
查询所有注释
-- 查询所有表注释 SELECT tb.table_name, d.description FROM information_schema.tables tb JOIN pg_class c ON c.relname = tb.table_name LEFT JOIN pg_description d ON d.objoid = c.oid AND d.objsubid = '0' WHERE tb.table_schema = 'test_schema'; -- 查询所有列注释 SELECT col.table_name, col.column_name, col.ordinal_position AS o, d.description FROM information_schema.columns col JOIN pg_class c ON c.relname = col.table_name LEFT JOIN pg_description d ON d.objoid = c.oid AND d.objsubid = col.ordinal_position WHERE col.table_schema = 'test_schema' ORDER BY col.table_name, col.ordinal_position; -- 查询所有没注释的表 SELECT tb.table_name, d.description FROM information_schema.tables tb JOIN pg_class c ON c.relname = tb.table_name LEFT JOIN pg_description d ON d.objoid = c.oid AND d.objsubid = '0' WHERE tb.table_schema = 'test_schema' AND d.description IS NULL; -- 查询所有没注释的列 SELECT col.table_name, col.column_name, col.ordinal_position AS o, d.description FROM information_schema.columns col JOIN pg_class c ON c.relname = col.table_name LEFT JOIN pg_description d ON d.objoid = c.oid AND d.objsubid = col.ordinal_position WHERE col.table_schema = 'test_schema' AND description IS NULL ORDER BY col.table_name, col.ordinal_position; |
修改密码
alter user postgres with password '123';
日期相关
转字符串
to_char(now(),’yyyymmddHHmiss’)
Linux
查看版本
cat /etc/redhat-release
查看运行的进程
ps -ef|grep java
kill pid
方法二
ps -aux|grep java
查看端口
netstat -anp|grep 8080
netstat -tunlp | grep 端口号
- -t (tcp) 仅显示tcp相关选项
- -u (udp)仅显示udp相关选项
- -n 拒绝显示别名,能显示数字的全部转化为数字
- -l 仅列出在Listen(监听)的服务状态
- -p 显示建立相关链接的程序名
防火墙相关
查看状态
systemctl status firewalld
# 开启
service firewalld start
# 重启
service firewalld restart
# 关闭
service firewalld stop
# 查询端口是否开放
firewall-cmd --query-port=8080/tcp
# 开放80端口
firewall-cmd --permanent --add-port=80/tcp
# 移除端口
firewall-cmd --permanent --remove-port=8080/tcp
#重启防火墙(修改配置后要重启防火墙)
firewall-cmd --reload
# 参数解释
1、firwall-cmd:是Linux提供的操作firewall的一个工具;
2、--permanent:表示设置为持久;
3、--add-port:标识添加的端口;
查看服务的状态
systemctl status tomcat.service
查找文件命令
find /dir -name *.txt
unzip解压
unzip -d /abc abc.zip 解压abc.zip到abc目录
tar解压
tar -xzvf abc.tar -C directory 解压到directory目录
tar压缩
tar –cvf jpg.tar *.jpg //将目录里所有jpg文件打包成jpg.tar
快捷方式
ln -s /home/terraria_server/1353/Linux /root
则会在root目录下创建一个名为Linux的快捷方式
ln -s /home/terraria_server/1353/Linux /root/terraria-server
在root下创建terraria-server快捷方式
rm /lndir 可以删除对应的软连接
rpm 查看、删除、安装rpm软件
rpm -qa|grep -i tomcat
rpm -e tomcat
rpm -ivh your_package_name
yum 安装删除软件
yum search tomcat
yum install tomcat:版本号
yum remove tomcat
ss 命令
ss | less 显示所有连接
ss -lnt
ss -aA udp 显示udp连接
rz命令 xshell传输文件命令
yum install lrzsz
网络配置目录
/etc/sysconfig/network-scripts/ifconfig-ens*
vim替换命令
%s@abc@def@
将abc替换成def
Yum 下载依赖非安装
yum install --downloadonly --downloaddir=/data/oracleRpmFrom12cR2 rpmName
批量安装
rpm -Uvh --force --nodeps *.rpm
文件头部增加内容
sed -i '1i\Insert this line' file.txt
文件尾部添加一行字符
echo "Append this line" >> file.txt
清空文件内容
> test.txt
统计文件大小
df -h 各分区情况 du -h /directory 该目录大小 fdisk -l 挂载点 df /directory 该目录是挂载在哪个分区及占用的大小 |
分割文件
split -b 500m mapv1.1.tar newfile
合并分割后的
cat newfile* > orifile
虚拟机配置上网
TYPE=Ethernet BOOTPROTO=static DEFROUTE=yes PEERDNS=yes PEERROUTES=yes IPV4_FAILURE_FATAL=no IPV6INIT=yes IPV6_AUTOCONF=yes IPV6_DEFROUTE=yes IPV6_PEERDNS=yes IPV6_PEERROUTES=yes IPV6_FAILURE_FATAL=no IPV6_ADDR_GEN_MODE=stable-privacy NAME=ens33 IPADDR=192.168.163.136 GATEWAY=192.168.163.2 NETMASK=255.255.255.0 UUID=04168473-eb11-42e0-9dbe-03b9b0f210a8 DEVICE=ens33 ONBOOT=yes
#主DNS nameserver 8.8.8.8 #备DNS nameserver 114.114.114.114 search localdomain
|
配置yum源
https://www.cnblogs.com/wdjsbk/p/9629931.html |
Scp传文件
本地到远程
目录
scp -r local_folder remote_username@remote_ip:remote_folder
文件
scp local_file remote_username@remote_ip:remote_folder
远程到本地
scp -r www.runoob.com:/home/root/others/ /home/space/music/
linux配置脚本自启
方式一
|
systemctl
docker
查看版本号
docker –version
使用帮助
docker –help
查看docker对象详细方法
docker container
查看正在运行的容器
docker container ls
docker ps
查看镜像
docker image ls
docker images
导入镜像
docker import docker_MapServer.tar gisuni/mapserver:v1.1
docker安装后的服务 ??
systemctl status docker-latests
docker服务 重启
systemctl restart docker
mysql需要设置root密码
运行容器
参考资料: Docker run 命令 | 菜鸟教程
docker run --name 容器名 -i -t -p 主机端口:容器端口 -d -v 主机目录:容器目录:ro 镜像ID或镜像名:TAG
# --name 指定容器名,可自定义,不指定自动命名
# -i 以交互模式运行容器
# -t 分配一个伪终端,即命令行,通常-it组合来使用
# -p 指定映射端口,讲主机端口映射到容器内的端口
# -d 后台运行容器
# -v 指定挂载主机目录到容器目录,默认为rw读写模式,ro表示只读
# -h 容器主机名称
docker run –name tomcat8 -it -p 8080:7777 -d -v /data/webapps:/data/tomcat/webapps:rw 7878ewyurwer
运行多个端口
docker run --name tomcat -it -d -p 8080:8080 -p 80:80
交互模式进入容器
docker container exec -it tom /bin/bash
docker exec -it tom /bin/bash
查看容器信息
docker inspect tom
运行,退出即删除容器
docker run --rm -it tomcat
查看容器监听的端口
docker port tomcat
运行自动映射容器端口
docker run --name tom -P tomcat [ P 的使用
网络
Container网络使用某容器的共享的端口
docker run –name tom -it -d -p 8080:8080 -p 80:80
docker run --name tom -d --network container:tom pro [使用已运行的tom容器的端口,不用在指定端口了
Host网络 与宿主机同网络
docker run --name tom -d –network host tomcat
自定义容器主机名
docker run --name tom -d -p 8080:8080 -h lanhost tomcat [容器主机名为lanhost,
删除容器
docker rm -f 容器ID或容器名
修改容器名
docker rename oldname newname
删除镜像
docker rmi -f 镜像ID或镜像名称:TAG
日志
docker logs 容器名称
docker logs -f tomcat [实时获取
获取镜像tag
#!/bin/sh repo_url=https://registry.hub.docker.com/v1/repositories image_name=$1 curl -s ${repo_url}/${image_name}/tags | json_reformat | grep name | awk '{print $2}' | sed -e 's/"//g' |
提交镜像
docker commit -m=”this tom” -a=”lan” tom tomcat
Tom为容器名称
Tomcat 为创建的新镜像
创建镜像
在 dockerfile 文件所在的目录”.”指的是上下文路径
docker build -t tomcat:19 .
排除镜像问题
docker run -d centos /bin/sh -c "while true; do echo hello world; sleep 1; done"
或直接使用 -it 运行
网络情况
docker network ls
默认是桥接模式
共享网络模式
不映射端口情况
docker run –name tom -it –network host tomcat
重新加载docker配置
systemctl daemon-reload
systemctl restart docker
导入导出成镜像
若是只想备份images,使用save、load即可
若是在启动容器后,容器内容有变化,需要备份,则使用export、import
docker save > nginx.tar nginx:latest
docker load -i nginx.tar
其中-o和>表示输出到文件,nginx.tar为目标文件,nginx:latest是源镜像名(name:tag)
docker export -o nginx-test.tar nginx-test
其中-o表示输出到文件,nginx-test.tar为目标文件,nginx-test是源容器名(name)
docker import nginx-test.tar nginx:imp
dockerfile
ADD 命令 会自动解压文件。
拷贝文件夹:如 ADD /ana/tomcat /usr/local 会将tomcat目录下的所有内容拷贝到local下,但不会带tomcat目录
容器导出成镜像,挂载的文件好像不会导出?
docker里的日期
同步宿主机的内存
docker cp /etc/localtime 87986863838b:/etc/
docker内存占用
docker stats 容器名称
文件复制
容器—》宿主机
docker cp 容器id:文件路径 宿主机路径
宿主机—》容器
docker cp 宿主机文件路径 容器id:路径
dockerfile
暴露多个端口
EXPOSE 8080
EXPOSE 22
EXPOSE 8009
docker run -P -d imgname [使用大写P会随机映射端口
docker run --name tomcat -it -d -p 8080:8080 -p 80:80
docker的安装
配置加速镜像 Vi /etc/docker/daemon.json { "registry-mirrors": ["https://zfzbet67.mirror.aliyuncs.com"] } 重载此配置文件; systemctl daemon-reload 重启docker服务 systemctl restart docker.service |
docker资源占用情况
docker stats
docker空间不足的解决办法
docker磁盘空间不足解决办法 - 骑马挎枪打天下 - 博客园
oracle
初始化oracle用户环境
source ~/.bash_profile
监听器
1、lsnrctl status:检查当前监听器的状态 2、lsnrctl start [listener-name] 启动所有的监听器,可以指定名字来启动特定的监听器 3、lsnrctl stop [listener-name] 关闭所有的监听器,可以指定名字来关闭特定的监听器 4、lsnrctl reload 重启监听器,此命令可以代替lsnrctl stop,lsnrctl start 5、lsnrctl help 可以显示所有可用的监听器命令 |
监听配置文件的关系
参考资料: https://www.cnblogs.com/qq3245792286/p/6212617.html
位置: /u01/app/oracle/product/12/db_1/network/admin
通过非本机客户端连接时,需先通过监听器进入.若本机直连,则可以不通过监听器
如: sqlplus / as sysdba; 若是sqlplus abc/abc@pdbsde 则走监听器
listener.ora |
tnsnames.ora |
sqlnet.ora |
sqlnet.ora
NAMES.DIRECTORY_PATH= (TNSNAMES, EZCONNECT) SQLNET.ALLOWED_LOGON_VERSION=8 SEC_CASE_SENSITIVE_LOGON=true #SQLNET.AUTHENTICATION_SERVICES =all |
该配置中NAMES.DIRECTORY_PATH定义了客户端连接时读取配置的方式, TNSNAMES表示从
tnsnames.ora中读取
listener.ora
监听器缺省以tcp/ip为协议地址且端口号为1521运行
LISTENER = (DESCRIPTION_LIST = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.163.130)(PORT = 1521)) (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521)) ) ) |
如(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC))所示的一个
IPC 协议地址的监听 是为了外部进程调用用的 在数据库安装时自动设定
不需要改动
查询所有用户
select username from dba_users
查询所有表空间
select * from dba_tablespaces;
修改密码
alter user 用户名 identified by 新密码;
修改用户默认表空间
alter user sde default tablespace sde;
修改表空间名称
alter tablespace xxx_tablespace rename to xxx;
impdb/expdb导出导入的目录创建
create directory dpdata1 as 'C:\data' create or replace directory dbbak as 'db_bak'; select * from dba_directories; |
查看服务名称/数据库名称/实例名称等
show parameter name
存储过程相关
无参
create or replace produre abc as begin end |
有参
create or replace produre abc() as begin end |
pdb相关
创建pdb
1先查询现有的数据文件状况 select name from v$datafile; 2. 查看现有pdb数据库情况 select con_id, dbid, guid, name , open_mode from v$pdbs; 3. 新建一个pdb,名称pdbsde;注意这里创建的路径,请参考上面的查询路径
MAXSIZE 可以用unlimited 4 查看PDB数据库状态,此时为关闭状态;随后打开,使其状态改为为read write select con_id, dbid, guid, name , open_mode from v$pdbs; 修改状态 alter pluggable database pdbsde open; 再次查询 select con_id, dbid, guid, name , open_mode from v$pdbs; 设置pdb自动启动
切换到pdb库 alter session set container= pdbsde; 创建表空间sde
Pdb库下创建sde管理员用户并关联sde表空间 create user sde identified by sdeGis#2020 default tablespace sde; grant dba to sde; |
查询字段
select * from user_tables t where t.table_name not in ( --空间表 select A.table_name from user_tab_columns A where A.data_type like 'ST_GEOMETRY' group by A.table_name --order by A.table_name ) order by table_name |
查询所有表
sqlplus 设置行大小
set linesize 32767