oracle数据库

ORACLE关闭启动的诡异错误

岁酱吖の 提交于 2020-03-30 06:24:52
在自己虚拟机搭建的ORACLE数据库环境下,折腾捣鼓做实验时,不知道什么特殊的改动、操作导致从SQL*PLUS里启动数据库实例时,报如下错误: 然后用startup nomout启动时,任然报ORA-10997,ORA-09968等错误,于是查看了一下ora相关进程,发现数据库的进程都在,也就是说 在某次关闭数据库时,出现了异常导致数据库实例根本没有关闭的情况下出现了该错误( (期间我使用shutdown immediate后,还没看到出结果,一不小心点错了,就将SecureCRT关闭了)) ,于是出现了下面一幕: 于是使用 shutdown immediate 命令关闭数据库,结果报ORA-24324、ORA-24323、ORA-01089等错误 SQL> shutdown immediate; ORA-24324: service handle not initialized ORA-24323: value not allowed ORA-01089: immediate shutdown in progress - no operations are permitted 于是使用shutdown abort命令来关闭数据库,结果报ORA-01031: insufficient privileges 于是通过CRT克隆一个会话后,重新登录数据库,然后使用shutdown

Oracle基础

江枫思渺然 提交于 2020-03-29 17:35:57
oracle简介: oracle是一个生产中间件和数据库的较大的生产商,oracle原本的含义:“神喻”,指的是神说的话。中国在商朝的时代,把一些刻龟壳上的文字当成是上天的指示,所以在中国将Oracle也翻译成“甲骨文”。 oracle公司的发展实际上还是依靠了IBM公司。 Oracle的创始人:LarryEllison,创办了oracle公司。 oracle安装:现在使用的Oracle使用的是10g版本,Oracle中的主要版本分为以下几个: Oracle8 Oeacle8i:i,Internet,表示此时Oracle公司正式进军互联网 Oracle9i:Oracle9i和8i相比是非常相似的 Oracle10g:g,表示网络技术。 例如:以百度搜索为准,现在想使用一个软件,但是此软件在离自己非常近的地方就存在了下载地址,但是与自己非常远的地方也同样存在一个下载地址,那么有没有可能现在通过搜索引擎没有搜索到离自己近的下载,而是使用了更远的下载。那么这样一来肯定会造成资源的浪费。 所以新的网络概念就是讲网络划分成一个个的网格,通过网格表示一个区域。 选择Oracle10g下的install目录中的setup.exe就可以执行Oracle的安装指令了。 如果不能安装有可能是防火墙造成的,此时可以将防火墙暂时禁用。 此时,将Oracle安装在D盘之中。 选择企业版进行安装

C#调用Oracle存储过程分页

余生颓废 提交于 2020-03-29 05:43:14
  直接调用Oracle中的存储过程完成对表的分页,对代码封闭程度高,执行高效.以下为C#分页类代码,包括Oracle数据库端存储过程PLSQL代码. // 程序调用示例: // int totalrows = 0; //总记录数 // int totalpages = 0; //总页数 // string tableName ="emp"; //Oracle表名 // int pagesize =5; //每页记录数 // int indexnowpage =2; //当前页码 // String strConnection = "DataSource =db1;User ID =LuGang; Password="GIS""; //连接字符串 // OracleConnection pOrclConnection = new OracleConnection(strConnection); // Pagination pPagintion = new Pagination("sp_cur2", pOrclConnection); //sp_cur2为储存过程名称 // DataTable datatable = pPagintion.Paging(tablename, pagesize, indexnowpage, ref totalrows, ref totalpages);

Oracle中创建DB LINK

会有一股神秘感。 提交于 2020-03-29 04:18:17
当用户要跨本地数据库,访问另外一个数据库表中的数据时,本地数据库中必须创建了远程数据库的dblink,通过dblink本地数据库可以像访问本地数据库一样访问远程数据库表中的数据。 下面讲介绍如何在本地数据库中创建dblink. 第一步:赋予权限 在创建database link之前,我们需要判断,登陆的用户是否具备创建database link 的权限,所以我们执行以下的语句: -- 查看用户是否具备创建database link 权限 select * from user_sys_privs where privilege like upper('%DATABASE LINK%') AND USERNAME='用户名'; 如果查询有返回行,则表示具备创建database link权限,否则,则需要使用sys登陆orcl为用户赋予创建权限: -- 给用户授予创建dblink的权限 grant create public database link to 用户名; 此时,再执行上面查看是否具备权限的sql语句,会发现有返回行,表示,用户已经具备创建database link的权限 第二步;创建database link 我所了解到的创建方式有两种:1)通过pl/sql developer图形化创建、2)通过sqlplus中的sql语句创建。下面介绍使用sql语句创建database

Oracle数据库的日期字段自动添加系统时间

非 Y 不嫁゛ 提交于 2020-03-29 03:00:11
//添加Oracle数据库字段是,日期字段自动添加系统时间 insert into 表名 (字段名) values(sysdate) //建表时,设置为自动添加时间 建表的时候指定默认值即可default sysdate 如: create table t1(d date default sysdate) //把表中的时间修改成自动添加系统时间 alter table t1 modify(d default sysdate) 来源: https://www.cnblogs.com/131409230414zzf/p/12590662.html

备份恢复

隐身守侯 提交于 2020-03-28 23:29:22
配置可恢复性 控制文件 SQL> show parameter control_files SQL> select * from v$controlfile; 1,修改路径: $ cd $ORACLE_HOME/dbs $ cp spfileorcl.ora spfileorcl.ora.bak SQL> alter system set control_files='/u01/app/oracle/oradata/orcl/control01.ctl', '/home/oracle/control02.ctl' scope=spfile; SQL> shutdown immediate $ mv /u01/app/oracle/fast_recovery_area/orcl/control02.ctl /home/oracle/control02.ctl SQL> startup SQL> show parameter control_files SQL> select * from v$controlfile; 2,增加镜像: SQL> alter system set control_files='/u01/app/oracle/oradata/orcl/control01.ctl', '/home/oracle/control02.ctl', '/home/oracle

Pyhon2.7访问Oracle

有些话、适合烂在心里 提交于 2020-03-28 20:40:43
操作系统版本:rhel6.5 python版本:2.7 数据库和客户端版本:11.2.0.4 1、安装cx_Oracle模块 从https://pypi.org/project/cx-Oracle/#files 下载所需的包cx_Oracle-7.3.0.tar.gz 解压 tar -zxvf cx_Oracle-7.3.0.tar.gz 安装 cd cx_Oracle-7.3.0 python2 setup.py install 2、链接数据库的脚本 [root@ty14165 ty]# cat conn.py # -*- coding:utf-8 -*- import cx_Oracle as cx db = cx.connect('ty/tytest@hostname:1521/db') cur = db.cursor() sql = 'select ip from tytab' cur.execute(sql) rs = cur.fetchall() print rs cur.close() db.close() 3、执行结果 [root@ty14165 ty]# python2 conn.py [('192.168.14.165',), ('192.168.14.166',)] 执行过程如果有下面报错,可能是Oracle客户端没安装或者配置有问题 cx_Oracle

谈一下如何设计Oracle 分区表

為{幸葍}努か 提交于 2020-03-28 16:23:38
在谈设计Oracle分区表之间先区分一下 分区表 和 表空间 的个概念: 表空间 :表空间是一个或多个数据文件的集合,所有数据对象都存放在指定的表空间中,但主要存放表,故称表空间。 分区表 :分区致力于解决支持极大表和索引的关键问题。它采用他们分解成较小和易于管理的称为分区的片(piece)的方法。一旦分区被定义,SQL语句就可以访问的操作某一个分区而不是整个表,因而提高管理的效率。分区对于数据仓库应用程序非常有效,因为他们常常存储和分析巨量的历史数据。当表中的数据量不断增大,查询数据的速度就会变慢,应用程序的性能就会下降,这时就应该考虑对表进行分区。表进行分区后,逻辑上表仍然是一张完整的表,只是将表中的数据在物理上存放到多个表空间(物理文件上),这样查询数据时,不至于每次都扫描整张表。 表分区的具体作用 : Oracle的分区表功能通过改善可管理性、性能和可用性,从而为各式应用程序带来了极大的好处。 通常,分区可以使某些查询以及维护操作的性能大大提高。此外,分区还可以极大简化常见的管理任务,分区是构建千兆字节数据系统或超高可用性系统的关键工具。 分区功能能够将表、索引或索引组织表进一步细分为段,这些数据库对象的段叫做分区。每个分区有自己的名称,还可以选择自己的存储特性。从数据库管理员的角度来看,一个分区后的对象具有多个段,这些段既可进行集体管理,也可单独管理

SQL*Loader

梦想与她 提交于 2020-03-28 15:21:47
SQL*Loader 1外部表简介 ⑴外部表并不实际存在,外部文件中的数据字段只是映射的外部表列,并不是实际装载到其中 ⑵涉及外部表,只能用select,不能用insert、update、delete ⑶外部表是只读表,不能进行索引 2.SQL*Loader生成外部表创建语句 external_table=not_used 默认值 external_table=generate_only不装载任何数据, 而是生成控制文件中描述的装载外部表所需的所有SQL语句, 并将这些SQL语句放入SQL*Loader日志文件 external_table=execute 执行这些SQL语句以创建外部表并进行装载 external_table=generate_only选项在SQL*Loader日志文件中输出一下信息: ①create directory语句 ②外部表的完整create table语句,并带有必要的access parameters ③装载Oracle表的insert语句 ④目录和外部表的delete语句 创建test_emp表 SCOTT@ora11g>select dbms_metadata.get_ddl('TABLE','EMP') from dual; DBMS_METADATA.GET_DDL('TABLE','EMP') -----------------------

java 启动项目报错:Cannot create PoolableConnectionFactory

柔情痞子 提交于 2020-03-27 19:26:31
场景: java 项目,链接 oracle 12c 数据库 使用 plsql development 和 dbvisualizer 和 sqlplus 都可以链接数据库 但是启动 java 项目使用 jdbc 链接却报错:Cannot create PoolableConnectionFactory 原因: 环境变量 ORACLE_SID 配置问题 解决过程: 1.查看 oracle 服务器的 ORACLE_SID 配置是否是当前配置的实例 echo $ORACLE_SID 一般配置文件 vim ~/.bash_profile 2.查看数据库是否启动 lsnrctl status 3.查看监听配置 cd $ORACLE_HOME/network/admin cat listener.ora 来源: https://www.cnblogs.com/etangyushan/p/12583694.html