sql数据库

记一次异机rman还原后的操作

情到浓时终转凉″ 提交于 2020-02-03 19:36:32
当时从主库通过rman备份到目前测试库还原之后,由于备份是在备库备份的,所以数据库还原后状态为readonly,standby_file_management参数为auto。 首先需要通过alter database clear logfile group 日志组;让数据库在磁盘创建日志文件。 出现问题1、重做日志物理文件不存在,当时日志组4状态为current,无法在readonly模式下进行更改操作。问题2、参数文件的undo表空间与控制文件的不对应 SQL> alter database rename file '/redo1/redo/redo04a.log' to '/u3/redo1/redo/redo04a.log'; alter database rename file '/redo1/redo/redo04a.log' to '/u3/redo1/redo/redo04a.log' * ERROR at line 1: ORA-01511: error in renaming log/data files ORA-01621: cannot rename member of current log if database is open ORA-00312: online log 4 thread 1: '/redo1/redo/redo04a.log' ORA

sparkSQL来完成对Hive的操作

生来就可爱ヽ(ⅴ<●) 提交于 2020-02-03 16:02:51
接下来做的操作是:(这个操作,将程序打成jar包到集群中运行) (1)编写spark程序在线上的hive中创建表并导入数据 (2)查询hive中的数据 (3)将查询结果保存到MySQL中 代码: object SparkSqlTest { def main(args: Array[String]): Unit = { //屏蔽多余的日志 Logger.getLogger("org.apache.hadoop").setLevel(Level.WARN) Logger.getLogger("org.apache.spark").setLevel(Level.WARN) Logger.getLogger("org.project-spark").setLevel(Level.WARN) //构建编程入口 val conf: SparkConf = new SparkConf() conf.setAppName("SparkSqlTest") val spark: SparkSession = SparkSession.builder().config(conf) .enableHiveSupport() //这句话表示支持hive .getOrCreate() //创建sqlcontext对象 val sqlContext: SQLContext = spark.sqlContext

数据库SQL实战5

冷暖自知 提交于 2020-02-03 15:15:32
1、获取select * from employees对应的执行计划 explain select * from employees 2、将employees表的所有员工的last_name和first_name拼接起来作为Name,中间以一个空格区分 CREATE TABLE employees ( emp_no int(11) NOT NULL, birth_date date NOT NULL, first_name varchar(14) NOT NULL, last_name varchar(16) NOT NULL, gender char(1) NOT NULL, hire_date date NOT NULL, PRIMARY KEY ( emp_no )); select e1.last_name || ' ' || e2.first_name from employees e1 , employees e2 where e1.emp_no = e2.emp_no 3、创建一个actor表,包含如下列信息 create table actor ( actor_id smallint(5) not null primary key, first_name varchar(45) not null, last_name varchar(45) not null,

RobotFramework自动化测试框架-DatabaseLibrary库的使用(对数据库的操作)

爱⌒轻易说出口 提交于 2020-02-03 03:25:11
在自动化过程中,我们经常需要连接不同的数据库,并且对数据库进行很多不同的操作,RobotFramework中,提供了DatabaseLibrary这个库来操作数据库,我们可以按照官网中的说明来安装DatabaseLibrary库,在浏览器中访问 http://franz-see.github.io/Robotframework-Database-Library/ 页面,即可以看到该库的相关安装说明和API介绍。 在使用DatabaseLibrary库时,需要在测试套件中,预先导入该库,才可以在用例中使用DatabaseLibrary库中的关键字,这里以Mysql数据库为例,讲述Databaselibrary库的使用 要链接到mysql,除了要导入DatabaseLibrary库外,还需要安装pure-Python MySQL client library,可以通过https://github.com/PyMySQL/PyMySQL 下载该库,并且进行安装,或者直接通过cmd命令行pip install PyMySQL来进行安装 1.1.1 如何连接数据库 1、可以通过DatabaseLibrary库中的Connect To Database关键字来链接一个mysql数据库,此处以链接本机mysql库为例 数据库用户名:root 数据库密码:root Mysql数据库端口:3306

Anti SQL Inject

风格不统一 提交于 2020-02-03 02:39:04
1.Web 应用程序执行时如果发生异常,通过配置严禁将任何技术信息暴露: Web.Config: < customErrors mode ="RemoteOnly" /> 2.在客户端应用程序 2.1 程序代码中一定要拼接 "参数化 SQL" ,并采取安全的"命令参数式" ADO.Net API ,连接数据库并提交该查询,另外今后尽量减少应用程序拼接 SQL,而多使用存储过程。 参阅如下代码: Code private void cmdLogin_Click( object sender, System.EventArgs e) { string strCnx = ConfigurationSettings.AppSettings[ " cnxNWindBad " ]; using (SqlConnection cnx = new SqlConnection(strCnx)) { SqlParameter prm; cnx.Open(); string TableName = " [users] " ; string strQry = // 注意 @username 和 @password 就是前面所指参数化 SQL 中的参数 // 可以理解为是 "字段值" 的"值占位符",不要用它去占位表名、列名、以及关键字 // 同时用户交互录入的也的确只能是 "字段值" // 这样 ADO

sql注入入门

旧时模样 提交于 2020-02-03 02:24:31
一、判断注入类型 一般查询语句,字符型和数值型 1.+-数值,如1+1,1+2 2.后面添加‘1 and 1 = 1' 和 ’1 and 1 = 2' 进行查询,若1=1返回正确而1=2返回错误则为数值型 3.加'#,若返回正确则为字符型 二、查列数(有待考证) order by num num为数值 三、确定字段位置 select * from auth_user where username = 'lisi' and 1 = 2 union select 1,2,3,4,5,6,7,8,9,10,11; and 1=2是为了避免一些只显示一行的页面过滤掉后面的联合查询的数据,所以让前面的查询条件永远为false union就是合并操作,完整语义就是使用union合并两个select的结果集,前者为空 四、获取数据库信息 database():查看当前数据库名称 version():查看数据库版本信息 user():返回当前数据库连接的用户 char():将ASCII码转化成字符,用于分隔每个字段的内容 select * from auth_user where username = 'lisi' and 1 = 2 union select user(),database(),3,4,5,6,7,8,9,10,11; 查询所有表名 select * from auth_user

JDBC

大城市里の小女人 提交于 2020-02-03 00:50:32
JDBC的一些讲解 Connection Statement ResultSet JDBC: java database connectivity java和数据库的连接的桥梁 作用 : 可以为多种关系型数据库dbms提供统一的访问方式,用java来操作 Connection Statement PrepareStatement ResultSet JDBC DriverManager: 管理不同的数据库驱动 数据库驱动: 不是java提供的,是由相应的数据库厂商提供的,连接数据库,直接操作数据库 类/接口: DriverManager : 管理JDBC驱动 Connection : 连接 由DriverManager产生 Statement(prepareStatement) : 增删改查 由connection产生 CallableStatement :调用数据库中的存储函数/调用过程 由connection产生 ResultSet : 返回结果集的信息 由prepareStatement产生 Connection产生操作数据库的对象 Connection产生statement对象:connection.createStatement(); Connection产生PreparedStatement对象:connection.createprepareStatement();

数据库编程——java

馋奶兔 提交于 2020-02-02 22:46:12
目录 一、SQL常见语句: 二、构建数据库操作步骤: 三、SQL中字符串拼接 四、事务处理 五、数据库类型 六、数据库连接池 一、SQL常见语句: 建表:create table t1(a int ,b varchar(20))); 插入:insert into t1(a,b) values(1,'abc'); 选择:select a from t1; 条件选择:select a,b from t1 where a>1; 删除:delete from t1 where a = 10 and b='ab'; 更新:update t1 set a=2, b='cd' where a=1 and b='ab'; 删表:drop table t1; 字段类型: int 4个字节 double 8个字节 datetime时间7个字节 varchar 字符串 JDBC是数据库和Java连接方法是最主流的。 连接数据库的连接字符串: jdbc:oracle:thin:@127.0.0.1:1234:dbname jdbc:mysql://localhost:1234/mydb jbdc:sqlserner://localhost:1234;DatabaseName=dbname 二、构建数据库操作步骤: 1.注册驱动,建桥 2.构建数据库指定者 3.执行SQL语句。

2020年寒假假期总结0202

允我心安 提交于 2020-02-02 13:32:07
  Java连接hive简单操作   首先在使用java连接前我们需要在虚拟机上开启hiveserver2(hiveserver2需要安装),hiveserve2的作用是实现hive可以进行并发操作,否则没有办法实现java对hive的操作。   使用命令:hiveserver2即可打开hiveserver2服务,需要注意的是,开启服务后这个命令窗口就会被占用,即出现一下情况:   此时已经代表服务已经开启,我们就不需要动这个终端窗口了,可以再开一个,因为下面这个窗口会显示你的hive操作是否成功,成功此时ok,错误会显示错误原因。即下图   注意点:如果在启动hive出现:cannot access /usr/local/spark/lib/spark-assembly-*.jar: No such file or directory,是因为这个jar包在新版本的spark中的位置已经改变!我们要做的只是将hive中的启动文件中的sparkAssemblyPath这一行更改为你安装的spark的jar包路径即可。我们找到hive文件夹下的bin目录,打开hive文件,找到这句话 # add Spark assembly jar to the classpath if [[ -n "$SPARK_HOME" ]] then sparkAssemblyPath=`ls ${SPARK

python连接Greenplum数据库

邮差的信 提交于 2020-02-02 05:55:37
配置greenplum客户端认证 配置pg_hba.conf cd /home/gpadmin/gpdbdata/master/gpseg-1 vim pg_hba.conf 增加 host all gpadmin 10.1.201.55/32 trust [gpadmin@ gpseg-1]$ export PGDATA=/home/gpadmin/gpdbdata/master/gpseg-1 [gpadmin@ gpseg-1]$ pg_ctl reload -D $PGDATA server signaled 使用Psycopg2访问数据库 Psycopg2 是 Python 语言下最常用的连接PostgreSQL数据库连接库,Psycopg2 的底层是由 C 语言封装 PostgreSQL 的标准库 libpq 实现的, 运行速度非常快,Psycopg2支持大型多线程应用的大量并发Insert和Update操作,Psycopg2完全兼容 DB API 2.0  安装Psycopg2 pip install psycopg2 Psycopg2使用参考文档 http://initd.org/psycopg/docs/index.html Psycopg2 连接PostgreSQL数据库接口 Psycopg2提供的操作数据库的两个重要类是 Connection , Cursor