`
garydo
  • 浏览: 160455 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

Oracle常见问题总结

阅读更多
SQL语句
1.       获取有哪些用户在使用数据库
select username from v$session;
2.       获取数据库的SID
select name from v$database;

3.       查看最大会话数
SELECT * FROM V$PARAMETER WHERE NAME LIKE 'proc%';

4.       查看数据库中所有用户及所有表
Select owner, table_name from dba_tables;

5.       分辨某个用户是从哪台机器登陆ORACLE的
SELECT machine , terminal FROM V$SESSION;

6.       查询每个用户的权限
SELECT * FROM DBA_SYS_PRIVS;

7.       查询当前用户对象
SELECT * FROM USER_OBJECTS;

表空间管理和用户管理

8.       查询表空间信息
SELECT * FROM DBA_DATA_FILES;

9.       运行SQLPLUS时不用输入用户名和密码,进入之后使用CONNECT
         SQLPLUS /NOLOG
        SQL>CONNECT SCOTT/TIGER
10.       把表移到另一个表空间
ALTER TABLE TABLENAME MOVE TABLESPACE TABLESPACENAME;
11.   创建表
CREAE TABLE TABLENAME
(COLUMN1 COLUTYPE DEFAULT(VALUE) NOT NULL)
(COLUMN2 COLUTYPE DEFAULT(VALUE) NOT NULL);
12.   建立主键
ALTER TABLE TABLENAME
ADD CONSTRAINT CONSTRAINTNAME PRIMARY KEY(COLUMN1,COLUMN2)

13.   删除约束
ALTER TABLE TABLENAME  DROP CONSTRAINT constraintname;
DROP TABLE TABLENAEM CASCADE CONSTRAINTS;(删除表后将所用的外键删除)

14.   给表增加列
ALTER TABLE TABLENAME
ADD COLUMN COLUTYPE DEFAULT(VALUE) NOT NULL;

15.   给列增加缺省值
ALTER TABLE TABLENAME
MODIFY COLUMNNAME  DEFAULT(VALUE) NOT NULL;

16.   建立主键
ALTER TABLE TABLENAME
ADD CONSTRAINT CONSTRAINTNAME PRIMARY KEY(COLUMN1,COLUMN2)
17.   给表增加外键
ALTER TABLE  TABLENAME
ADD CONSTRAINT  CONSTRAINTNAME
FOREIGN KEY(COLUMN) REFERENCES TABLE1NAME(COLUMN1);

18.   重新建立索引
ALTER INDEX INDEXNAME REBUILD TABLESPACE  TABLESPACE;

19.   创建用户、赋予权限
CREATE USER USER_DATA PROFILE DEFAULT IDENTIFIED BY  USER_DATA
    DEFAULT
    TABLESPACE USER_DATA  TEMPORARY
    TABLESPACE USER_DATA  ACCOUNT UNLOCK;

GRANT CONNECT TO USER_DATA;
GRANT RESOURCE TO USER_DATA;
20.   修改数据文件大小
ALTER DATABASE
DATAFILE 'c:\USERS01113.DBF' RESIZE 40M;

21.   删除表空间
DROP TABLESPACE USER_DATA INCLUDING CONTENTS;
22.   增加数据文件
ALTER TABLESPACE  USER_DATA
  ADD DATAFILE 'c:\USERS01113.DBF' SIZE 50M;
ALTER TABLESPACE USER_DATA
  ADD DATAFILE 'c:\USERS01114.DBF'  SIZE 50M
  AUTOEXTEND ON
23.   查看表空间和数据文件
select file_name,tablespace_name,autoextensible from dba_data_files;

24.   在SQLPLUS中调用存储过程
SET SERVEROUTPUT ON
declare
out_param varchar2(100);
begin
your_proc(1,out_param);
dbms_output.put_line(out_param);
end;
/
SET SERVEROUTPUT OFF

25.   查看当前会话

(1)    userenv() 函数
select userenv('language') from dual 字符集
        select userenv('isdba') from dual 是否DBA
        select userenv('sessionid') from dual sessionid
        select userenv('TERMINAL') from dual 客户端名字
        select userenv('INSTANCE') from dual 实例数

(2)    SYS_CONTEXT() 函数
select SYS_CONTEXT('USERENV','CURRENT_SCHEMA')  from dual;  当前模式
        select SYS_CONTEXT('USERENV','CURRENT_SCHEMAID')  from dual;  当前模式ID
        select SYS_CONTEXT('USERENV','CURRENT_USER')  from dual; 当前用户
        select SYS_CONTEXT('USERENV','DB_NAME')  from dual; 数据库
        select SYS_CONTEXT('USERENV','HOST')  from dual; 主机
select SYS_CONTEXT('USERENV','IP_ADDRESS')  from dual; 查看IP

26.   使用OEM备份或者EXP的步骤

WIN2000下:
(1). 控制面板――>管理工具―― >计算机管理――>本地用户和组――>用户――>新建用户sys和sysman(sys和sysman 的帐号要和登陆数据库的帐号相同);
(2).控制面板――>管理工具―― >本地安全策略――>本地策略――>用户权利指派――>
作为批处理作业登陆――>添加sys和sysman两个帐号。
(3).使用Enterprise Manager配置辅助工具
开始→程序→Oracle - OraHome81→Enterprise Manager→Configuration Assistant
a、使用Configuration Assistant工具来创建一个新的资料档案库。
(4).控制面板――>管理工具―― > 服务,查看OracleOraHome81ManagementServer是否启动,如果没有启动,则手动启动该服务。
(5).以sysman/oem_temp(default)登陆DBA Studio
(第二个选项:登陆到Oracle Management Server),立即修改密码为你刚才在NT下建的用户sysman的密码。
(6). 以sysman/ *** (bluesky) 从开始→程序→Oracle - OraHome81→Console 登陆到 控制台。
在 系统→首选项→首选身份证明(我的首选身份设置如下:)
DEFAULT节点:name:sysman
DEFAULT数据库:name:sys
(7). 在搜索/添加结点后,以sysman/ *** 登陆到该结点,以sys/ *** as sysdba登陆数据库(也就是在首选身份设置的结果)。
(8). 在工具→备份管理→向导→预定义备份策略(自定义备份策略)→提交备份计划
(9).从开始→程序→Oracle - OraHome81→Console 登陆到控制台,查看活动(历史记录)可以看到你的备份是否成功,如果不成功,可以点击备份看明细。(我第一次也没成功,后来我修改系统的临时目录 C:\WINNT\Temp→c:\temp\systmp,重新启动机器就ok了)

27.   修改表的列名
Oracle9i:
alter table xxx rename column xx to yy;
Oracle8i & lower version
connect sys/passed;
update col$ set name=xx where obj#=对象id and name = 字段
(一般不要这样用,会造成意想不到的结果)
注:最好是删除再建立新的列

28.   ORACLE的登录问题,用户名和密码
可以直接输入:
    internal/oracle@serivce_name
  sys/change_on_install@serivce_name
  system/manager@serivce_name
  scott/tiger@serivce_name
注意:
9i中没有internal/oracle
如果选择典型安装则有 scott用户
如果自定义可以不安装  scott用户
如果是本机则可以省略@serivce_name
oem:(ORACLE ENTERPRISE MANAGER)
sysman/oem_temp

29.   如何在Windows 2000下将Oracle完全卸载?
一、系统环境:
(1)、操作系统:Windows 2000 Server,机器内存128M
(2)、数据库: Oracle 8i R2 (8.1.6) for NT 企业版
(3)、安装路径:D:\ORACLE
二、卸载步骤:
(1)、开始->设置->控制面板->管理工具->服务
   停止所有Oracle服务。
(2)、开始->程序->Oracle - OraHome81->Oracle Installation Products->Universal Installer
   卸装所有Oracle产品
(3)、运行regedit,选择HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE,按del键删除这个入口。
(4)、运行regedit,选择HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services,滚动这个列表,删除所有Oracle入口
(5)、从桌面上、STARTUP(启动)组、程序菜单中,删除所有有关Oracle的组和图标
(6)、重新启动计算机,重起后才能完全删除Oracle所在目录
(7)、删除与Oracle有关的文件,选择Oracle所在的缺省目录C:\Oracle,删除这个入口目录及所有子目录,
  并从Windows 2000目录(一般为C:\WINNT)下删除以下文件
  ORACLE.INI、oradim80.INI
(8)、WIN.INI文件中若有[ORACLE]的标记段,删除该段
--------------------------------------------------------------------

30.   exp与imp的具体用法

exp username/password@mzbs_61 full=y file=yourdata.dmp grants=y rows=y
imp username/password full=y ignore=y file=yourdata.dmp grants=y
exp mzbs/mzbs@mzbs_61 file = c:\zzzzzzz.dmp grants = y rows = y
imp mzbs/mzbs@mzbs_61 file = c:\zzzzzzz.dmp grants = y ignore=y  FULL=Y

(1)
exp参数:
关键字   说明(默认) 
----------------------------------------------
USERID   用户名/口令
FULL   导出整个文件 (N)
BUFFER   数据缓冲区的大小
OWNER   所有者用户名列表
FILE   输出文件 (EXPDAT.DMP)
TABLES   表名列表
COMPRESS  导入一个范围 (Y)
RECORDLENGTH  IO 记录的长度
GRANTS   导出权限 (Y)
INCTYPE   增量导出类型
INDEXES   导出索引 (Y)
RECORD   跟踪增量导出 (Y)
ROWS   导出数据行 (Y)
PARFILE   参数文件名
CONSTRAINTS  导出限制 (Y)
CONSISTENT  交叉表一致性
LOG   屏幕输出的日志文件
STATISTICS  分析对象 (ESTIMATE)
DIRECT   直接路径 (N)
TRIGGERS  导出触发器 (Y)
FEEDBACK  显示每 x 行 (0) 的进度
FILESIZE  各转储文件的最大尺寸
QUERY   选定导出表子集的子句
imp参数:
关键字   说明(默认) 
----------------------------------------------
USERID   用户名/口令
FULL   导入整个文件 (N)
BUFFER   数据缓冲区大小
FROMUSER  所有人用户名列表
FILE   输入文件 (EXPDAT.DMP)
TOUSER   用户名列表
SHOW   只列出文件内容 (N)
TABLES   表名列表
IGNORE   忽略创建错误 (N)
RECORDLENGTH  IO 记录的长度
GRANTS   导入权限 (Y)
INCTYPE   增量导入类型
INDEXES   导入索引 (Y)
COMMIT   提交数组插入 (N)
ROWS   导入数据行 (Y)
PARFILE   参数文件名
LOG   屏幕输出的日志文件
CONSTRAINTS  导入限制 (Y)
DESTROY   覆盖表空间数据文件 (N)
INDEXFILE  将表/索引信息写入指定的文件
SKIP_UNUSABLE_INDEXES 跳过不可用索引的维护 (N)
ANALYZE   执行转储文件中的 ANALYZE 语句 (Y)
FEEDBACK  显示每 x 行 (0) 的进度
TOID_NOVALIDATE  跳过指定类型 id 的校验
FILESIZE  各转储文件的最大尺寸
RECALCULATE_STATISTICS 重新计算统计值 (N)
(2)
一、建立一个expdata.sql文件
USERID=RMTAFIS/3       这里写你的用户名和密码
BUFFER=32768
OWNER=RMTAFIS         这里写导出的用户
FILE=E:\Exp\RMTAFIS.DMP      导出的文件,可以是相对路径
ROWs=Y
GRANTS=Y
COMPRESS=Y
CONSISTENT=Y
二、建立一个expdata.bat
exp parfile=expdata.sql
如果是805
exp80 parfile=expdata.sql
双击expdata.bat就导出数据了

30.   全数据库的导入与导出
exp username/password full=y file=yourdata.dmp grants=y rows=y
imp username/password full=y ignore=y file=yourdata.dmp grants=y

31.   单引号的插入问题
SQL> insert into a values('i''m good');       --两个''可以表示一个'
SQL> insert into a values('i'||chr(39)||'m good'); --chr(39)代表字符'
SQL> insert into a values('a'||'&'||'b');     

32.   ORACLE动态库及配置文件
Tnsnames.ora CORE35O.DLL NASNSNT.DLL NAUNTSNT.DLL NCRNT.DLL Nlnt.dll NLSRTL32.DLL Nnfdnt.dll NNFNNT.DLL NSNT.DLL NTNT.DLL NTTNT.DLL CIW32.DLL Ora73.dll OTRACE73.DLL Sqlnet.ora Sqltnsnt.dll CORE35.DLL
分享到:
评论

相关推荐

    ORACLE常见问题整理

    ### ORACLE常见问题整理 #### Oracle数据库备份与还原操作 **一、数据库备份** Oracle数据库备份是维护数据库安全稳定运行的重要环节,主要包括两种常见的备份方式: 1. **使用`exp`命令进行备份**:这种方式...

    oracle常见问题大全

    首先,让我们来看“Oracle常见傻瓜问题”。这通常涉及到初级用户在日常操作中遇到的简单但困扰的问题,例如登录失败、SQL语句错误、权限不足等。解决这些问题需要理解Oracle的用户管理、权限模型以及SQL语法基础。...

    ORACLE数据库常见问题汇总.doc

    以下详细介绍了ORACLE数据库在处理锁问题方面的常见问题汇总: 1. 锁的概念及其影响 锁是ORACLE数据库用来控制多个用户同时访问同一数据资源的一种机制。锁的类型分为DML锁(数据操纵语言锁)和DDL锁(数据定义...

    oracle迁移达梦常见问题汇总

    本文主要结合之前一次oracle迁移达梦的项目,将碰到的问题以及一系列踩过的坑列举出来供大家参考,数据库版本是达梦7。(本文中涉及到的部分对象名已用sch1,tab1等方式替换) 1、整体情况 迁移过程中失败任务数低于5%...

    Oracle BIEE常见问题解决办法汇总

    Oracle BIEE 常见问题解决办法汇总 问题1:提示组合 * 添加筛选器选择对应的列 * 在筛选器属性页面,运算符中选择提示 知识点: 在 Oracle BIEE 中,添加筛选器可以根据需要选择对应的列,并在筛选器属性页面中...

    Oracle常见错误总结

    本文将总结一些常见的Oracle错误及其解决方案。 首先,我们来看第一个错误:ORA-28056。这个错误通常发生在审计功能尝试将记录写入Windows事件日志时失败。错误信息“OSD-160222236: Message 160222236 not found; ...

    常见oracle问题的总结

    常见的oracle问题汇总,如下所示: 1. Oracle安裝完成后的初始口令? 2. ORACLE9IAS WEB CACHE的初始默认用户和密码? 3. oracle 8.0.5怎么创建数据库? 4. oracle 8.1.7怎么创建数据库? 10. 用什么语句查询字段呢? ...

    oracle常见问题解决方法(个人总结)word文档

    本文将基于提供的资源,总结一些常见的Oracle问题及其解决方案。 首先,Oracle数据库的iSQL*Plus和Enterprise Manager 10g Database Control是两个重要的管理工具。iSQL*Plus是一个基于Web的数据库管理工具,允许...

    Oracle 常见故障解决方法

    下面总结了一些常见的 Oracle 故障解决方法: 1. 解决 Instance 间 Select 问题 在 RAC 过程中,发现个问题。其中有一张表约有 500 万条记录,如果其中的一个 Instance 去 Select 后,另外 2 个 Instance 在去 ...

    oracle数据库常见命令

    ### Oracle数据库常见命令详解 #### 一、导出数据库 Oracle数据库中经常需要用到的数据操作之一就是数据的备份与恢复,其中导出数据是一项非常重要的功能。以下是一些关于Oracle数据库导出命令的基本介绍: - **...

    Oracle常见问题解决方案汇总

    以上就是Oracle常见问题及其解决方案的汇总。希望本文的内容能够帮助到学习或工作中遇到Oracle数据库问题的朋友们,为大家提供一定的参考价值。同时,我们也鼓励大家对Oracle数据库的维护和管理持续学习和深入研究,...

    JDBC连接Oracle数据库常见问题及解决方法

    本文将对 JDBC 连接 Oracle 数据库常见问题进行总结和解决方法的介绍。以下是针对不同问题的解决方案: 1. Jbuilder 正确连接 Oracle 数据库需要注意的几个问题 在使用 Jbuilder 连接 Oracle 数据库时,需要注意...

    自己总结的oracle常见异常处理步骤

    oracle异常处理步骤自己总结的,不太成熟,大家可以不看,只是我的备忘录

    oracle sql项目开发中常见问题总结

    在Oracle SQL项目开发中,经常会遇到各种问题,以下是一些常见的问题及其解决方案: 1. **查询包含特殊字符的数据** 当需要查询包含特殊字符(如%或_)的数据时,可以使用`LIKE`关键字配合`ESCAPE`来指定特殊字符...

    Linux下安装oracle的常见问题小结

    本文主要针对三个常见的错误进行了总结和解决方案的提供。 **错误一:缺少libXp.so.6动态链接库** 这个问题出现在尝试运行Oracle安装程序时,系统提示找不到libXp.so.6共享对象文件。在RHEL5之前的版本,可以通过...

    Oracle常见报错分析

    Oracle常见报错分析 Oracle 是一款功能强大且广泛应用的关系型数据库管理系统,由 Larry Ellison 和 Bob Miner 于 1979 年创立。 Oracle 数据库管理系统广泛应用于各个行业,包括金融、电信、医疗、政府等领域。 ...

    oracle biee常见问题解答

    ### Oracle BIEE 常见问题解答 #### 一、仪表板操作与配置 **1. 仪表板分组下拉显示** - **解决办法**:为了实现仪表板分组下拉显示的功能,需要对`instanceconfig.xml`进行配置。具体来说,在此配置文件中加入`...

    Oracle常见用法

    以下是对Oracle中一些常见用法的详细说明: **SQL查询语句**: SQL(Structured Query Language)是用于管理和处理关系数据库的标准语言。在Oracle中,`SELECT`语句是最基本的查询命令,用于从数据库中检索数据。 ...

Global site tag (gtag.js) - Google Analytics