Oracle问题记录(一)

oracle 如果没有启动监听服务,是不能被远程访问的,如果使用oci或者sql developer就会出错。

启动TNS监听:lsnrctl start

查看TNS监听:lsnrctl status

停止TNS监听:lsnrctl stop

oracle远程登录:


sqlplus usrname/[email protected]:port/sid

ip为目标oracle所在宿主机ip地址,port为目标oracle监听端口号,sid时目标oracle的sid。

其中,sid可以通过命令 show parameter instance_name;或者select instance_name from v$instance; 查看

oracle表空间,建立用户,授权

建立临时表空间:

CREATE TEMPORARY TABLESPACE dba_temp
TEMPFILE ‘D:\Oracle\oradata\DBA1\DATAFILE\DBA\DBA_TEMP.DBF‘
SIZE 64M
AUTOEXTEND ON
NEXT 64M MAXSIZE 512M
EXTENT MANAGEMENT LOCAL;

建立表空间:

CREATE TABLESPACE dba_data
LOGGING
DATAFILE ‘D:\Oracle\oradata\DBA1\DATAFILE\DBA\DBA.DBF‘ 
SIZE 128M 
AUTOEXTEND ON 
NEXT 128M MAXSIZE 1024M
EXTENT MANAGEMENT LOCAL;

创建用户:

CREATE USER test_user IDENTIFIED BY password
DEFAULT TABLESPACE dba_temp
TEMPORARY TABLESPACE dba_data;

授权:

GRANT 
  CREATE SESSION, CREATE ANY TABLE, CREATE ANY VIEW ,CREATE ANY INDEX, CREATE ANY PROCEDURE,
  ALTER ANY TABLE, ALTER ANY PROCEDURE,
  DROP ANY TABLE, DROP ANY VIEW, DROP ANY INDEX, DROP ANY PROCEDURE,
  SELECT ANY TABLE, INSERT ANY TABLE, UPDATE ANY TABLE, DELETE ANY TABLE
  TO test_user ;

授予dba权限:

GRANT dba TO test_user ;

注意:dba是oracle中的角色。将角色授予给某个用户,等同于这个用户拥有了这个角色的身份,可以使用一切角色可使用的资源。

都是在自己使用oracle遇到问题总结的,之后有时间会不断更新。接下来准备通过书籍系统的学习oracle,同时要快速掌握oci,下次发个oci的学习记录。

另外最近在项目组写代码时乱用锁,导致性能下降,以后如果有时间也会深入学习下多线程的知识,再共享给大家哈!!!

时间: 2024-08-04 07:18:43

Oracle问题记录(一)的相关文章

oracle中记录被另一个用户锁住的原因与解决办法

oracle数据中删除数据时提示“记录被另一个用户锁住” 解决方法: 1.查看数据库锁,诊断锁的来源及类型: select object_id,session_id,locked_mode from v$locked_object; 或者用以下命令: select b.owner,b.object_name,l.session_id,l.locked_mode from v$locked_object l, dba_objects b where b.object_id=l.object_id

oracle递归查询记录

1. start with  开始的id  connect by prior 开始的id=父id 2. level 级别 3.实例 select * from ( select a.*,level tt from biz_district a start with district_id=8 connect by prior district_id=parent_id ) where tt=3 select a.district_id, a.district_name, b.district_i

项目中oracle存储过程记录——常用语法备忘

项目中oracle存储过程记录--常用语法备忘 项目中需要写一个oracle存储过程,需求是收集一个复杂查询的内容(涉及到多张表),然后把符合条件的记录插入到目标表中.其中原表之一的日期字段是timestamp类型,目标表的字段是varchar2类型: 其中一些内容很常用,所以做下记录,供查找. 1.存储过程的格式 oracle存储过程和函数都可以实现,一般没有返回值,则采用存储过程,函数比sqlserver的功能强大.oracle变量定义最好加上前缀如V_,查询条件中变量名称和字段名称不能重复

[转]Oracle学习记录 九 Prc C学习

经过前面的了解,现在想用C语言来编程了,搜索了很多东西,后来决定先用Pro C来进行学习 在安装完Oracle数据库后就可以进行编程了,里面有一个命令proc就是对程序进行预编译的. 在这记一下,这是一个学习PL/SQL的网站,挺好的 http://www.cnblogs.com/huyong/archive/2012/07/30/2614563.html 创建用户是 create user xx identified by xx account unlock; grant connect, r

Oracle 查询记录是否存在的效率问题

最近要优化Oracle数据库的效率,然后在网上查了很多判断记录是否存在的高效率方法网上有很多的建议第一种方法,我做了一个测试,但是可能数据量不够大,42667条记录,不知道很大的数据量是什么一个情况 网上好多高效的建议方式 select * from item where item='1B241371X0021' and rownum<2; 但是我测试的结果: select * from item where item='1B241371X0021' and rownum<2; 1 rows 

Oracle 中记录用户登录信息

我们可以使用 Oracle Audit 函数来记录用户登录信息,但是如果开放了 Audit 函数将会使 Oracle 性能下降,甚至导致 Oracle 崩溃.那我们如何才能记录用户登录信息呢?其实我们可以通过建立触发器的方式来实现.方法如下: 1. 用 sys 用户登录 Oracle2. 创建记录用户登录信息的表CREATE TABLE LOG$INFORMATION (    ID        NUMBER(10),    USERNAME  VARCHAR2(30),    LOGINTI

ORACLE百万记录SQL语句优化技巧

1.对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引. 2.应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索引而进行全表扫描,如:select id from t where num is null可以在num上设置默认值0,确保表中num列没有null值,然后这样查询:select id from t where num=0 3.应尽量避免在 where 子句中使用!=或<>操作符,否则将引擎放弃使用

Oracle学习记录 五 Centos6.4 64bit下安装oracle

错误记录: Invalid source path '../stage/Components/oracle.jdk/1.5.0.17.0/1/DataFiles' specified for unzip. 这个错误应该是我只解压了第一个压缩包,没有解压第二个. 2. 还有一个问题就是按照开始安装的时候,说什么color的问题,这个我在网上看了些,不过,我直接把系统登出一次,重新用oracle登录就没事了. 3. [INS-32021] Insufficient disk space on thi

Mysql迁移到Oracle简单记录

因业务的扩展和客户的要求,公司需要将原运行于Mysql上的数据迁移至Oracle. 参加工作的最初几年短暂接触过Mysql,但不经常使用,最初的印象已经所剩无几了. 本文主要记录在数据库迁移过程中,遇到相关问题的解决办法.主要集中于数据类型的选择.部分函数的替代以及其他数据库之间差异的问题. 对于存在相同需求的同学,能够有一点点帮助,我会感到很欣慰 : ) 1.数据类型的选择. 数值类型: Mysql有两种类型的数字:整数(whole number)和实数(real number). 存储整数可