Oracle 常用命令 及近期使用问题集合

简介:
一、 删除一个表?一个库?
drop table table_name;
drop table database_name;

二、删除一个用户下所有的数据?
最好先停掉库,shutdown immediate; && startup 这样能保证没有用户连接
或者 SELECT SID,SERIAL# FROM V$SESSION WHERE USERNAME=\'USERNAME\'; 查询到连接
  SID    SERIAL#
---------- ----------
        24      25341
结束此用户的所有会话
SQL>ALTER SYSTEM KILL SESSION \'24,25341\';
System altered.
再删除:DROP USER USERNAME CASCADE;

三、 创建用户并授权 (本例给连接,修改,管理员)
create user username identified by passwd;
grant connect,resource,dba to username;
commit;

四、如何设置字符集?
查看客户端字符集环境:
select * from nls_instance_parameters;其来源于v$parameter
设置过程
SVRMGR> SHUTDOWN IMMEDIATE;
SVRMGR> STARTUP MOUNT; 
SVRMGR> ALTER SYSTEM ENABLE RESTRICTED SESSION; 
SVRMGR> ALTER SYSTEM SET JOB_QUEUE_PROCESSES=0; 
SVRMGR> ALTER SYSTEM SET AQ_TM_PROCESSES=0; 
SVRMGR> ALTER DATABASE OPEN; 
SVRMGR> ALTER DATABASE CHARACTER SET zhs16gbk; 
SVRMGR> SHUTDOWN IMMEDIATE; 
SVRMGR> STARTUP; 
如果报以下的错:
SQL> alter database character set zhs16gbk;
alter database character set zhs16gbk
*
ERROR at line 1:
ORA-12712: new character set must be a superset of old character set
处理方法:
SQL> ALTER DATABASE character set INTERNAL_USE zhs16gbk; # 使用INTERNAL_USE可以跳过超集的检查,ALTER DATABASE character set INTERNAL_USE

五、查询实例?所有库名?表名?
select * from v$database;  show parameter db;  // 查看当前的所有数据库:
show parameter optimizer; //显示设置信息
select   table_name   from   user_tables;     //当前用户的表   
select   table_name   from   all_tables;     //所有用户的表   
select   table_name   from   dba_tables;       //包括系统表
看字段名与数据类型:   
desc   talbename;   
查看主键:   
select * from user_constraints where constraint_type=\'P\' and TABLE_name=upper(\'TRD_USER\')   
查看表空间的sql语句
col tablespace_name format a10;
select f.tablespace_name,a.total,u.used,f.free,round((u.used/a.total)*100) \"% used\",
  round((f.free/a.total)*100) \"% Free\" 
  from
  (select tablespace_name, sum(bytes/(1024*1024)) total 
       from dba_data_files group by tablespace_name) a,
  (select tablespace_name, round(sum(bytes/(1024*1024))) used 
       from dba_extents group by tablespace_name) u,
  (select tablespace_name, round(sum(bytes/(1024*1024))) free 
       from dba_free_space group by tablespace_name) f
WHERE a.tablespace_name = f.tablespace_name
and a.tablespace_name = u.tablespace_name;

六、增加表空间
为表空间增加数据文件:
alter tablespace users add datafile \'/u01/oracle/oradata/trds/system01.dbf\' size 1000M;
增加表空间原有数据文件尺寸:
alter database datafile \'/u01/oracle/oradata/trds/system01.dbf\' resize 1000M;

七、数据库临时表空间的数据文件的丢失 
当数据库的临时表空间的数据文件丢失也会引起ORA-01157的错误。因为数据库对临时表空间的数据文件不会发生检查点,所以这个时候数据库照样能够打开。这种情况下的解决方法是逻辑上删除临时表
空间的数据文件,并且重新增加一个新的临时表空间的数据文件。 
例如: 
SELECT * FROM DBA_OBJECTS ORDER BY OBJECT_NAME; 
select * from dba_objects order by object_name; 
* ERROR at line 1: 
ORA-01157: cannot identify/lock data file 5 - see DBWR trace file 
ORA-01110: data file 5: \'/Oracle/oradata/temp01.dbf\'
ALTER DATABASE TEMPFILE \'/oracle/oradata/temp01.dbf\'  DROP; 
SELECT TABLESPACE_NAME,FILE_NAME FROM DBA_TEMP_FILES; 
ALTER TABLESPACE TEMP ADD TEMPFILE ‘/Oracle/oradata/temp01.dbf‘ SIZE 100M;

八、 查看ORACLE 用户连接数
select count(*) from v$session   #连接数
Select count(*) from v$session where status=\'ACTIVE\' #并发连接数
查看oracle 数据库状态
select status from v$instance;
select open_mode from v$database;

九、 PLS-213: package STANDARD not accessible报错解决方法
sqlplus /nolog 
SQL> connect / as sysdba 
SQL> $ORACLE_HOME/rdbms/admin/catalog.sql 
SQL> $ORACLE_HOME/rdbms/admin/catproc.sql 
SQL> $ORACLE_HOME/rdbms/admin/catexp.sql 

十、 运行lsnrctl start 出现
TNSLSNR for Linux: Version 8.1.7.0.0 - Production
System parameter file is /oracle/product/8.1.7/network/admin/listener.ora
Log messages written to /oracle/product/8.1.7/network/log/listener.log
Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC)))
Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=LinServer)(PORT=1521)))
Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=LinServer)(PORT=2481))(PROTOCOL_STACK=(PRESENTATION=GIOP)(SESSION=RAW)))
TNS-01201: Listener cannot find executable /oracle/product/8.1.7/bin/extproc for SID PLSExtProc
把binl里的extprocO 做一个叫extproc的link

十一、 oemapp相关命令,如下:
oemapp dbastudio
oemapp console 
oemapp txtm
本文转自守住每一天51CTO博客,原文链接:http://blog.51cto.com/liuyu/240672,如需转载请自行联系原作者
相关文章
|
7月前
|
Oracle 关系型数据库 分布式数据库
PolarDB常见问题之PolarDB(Oracle兼容版) 执行命令报错如何解决
PolarDB是阿里云推出的下一代关系型数据库,具有高性能、高可用性和弹性伸缩能力,适用于大规模数据处理场景。本汇总囊括了PolarDB使用中用户可能遭遇的一系列常见问题及解答,旨在为数据库管理员和开发者提供全面的问题指导,确保数据库平稳运行和优化使用体验。
|
4月前
|
运维 Oracle 前端开发
Oracle 11g RAC集群日常运维命令总结
Oracle 11g RAC集群日常运维命令总结
106 2
|
4月前
|
SQL 运维 Oracle
入门级Oracle 11g日常运维命令总结
入门级Oracle 11g日常运维命令总结
155 1
|
6月前
|
SQL Oracle 关系型数据库
探索 Linux 命令 `db_archive`:Oracle 数据库归档日志的工具
探索 Linux 中的 `db_archive`,实际与 Oracle 数据库归档日志管理相关。在 Oracle 中,归档日志用于恢复,当在线重做日志满时自动归档。管理员可使用 SQL*Plus 查看归档模式,通过 `RMAN` 进行备份和恢复操作。管理归档日志需谨慎,避免数据丢失。了解归档管理对 Oracle 管理员至关重要,确保故障时能快速恢复数据库。
|
7月前
|
SQL Oracle 关系型数据库
Oracle SQL*Plus的SET命令:你的数据库会话“调色板”
【4月更文挑战第19天】Oracle SQL*Plus的SET命令是数据库会话的“调色板”,用于设置输出格式、反馈信息和各种偏好。它能调整PAGESIZE和LINESIZE以优化显示,控制ECHO和FEEDBACK开关以定制反馈,以及统计命令执行时间(TIMING)和调试SQL(VERIFY)。更高级的选项如HEADING和COLSEP可改善输出的可读性。通过灵活运用SET命令,能提升工作效率和体验,是数据库管理员和开发者的必备工具。
|
7月前
|
SQL Oracle 关系型数据库
Oracle SQL*Plus的HELP命令:你的数据库“百事通”
【4月更文挑战第19天】`Oracle SQL*Plus` 的 `HELP` 命令是数据库查询的强大工具,犹如“百事通”。在遇到困惑时,`HELP` 可提供详细命令解释和用法示例,解答基础到高级的 SQL 和 PL/SQL 疑问。它还是“活字典”,揭示命令关联与区别,如 `SET` 和 `ALTER SESSION`。此外,`HELP` 解释数据库概念,如“事务”,并支持模糊查询。无论新手还是专家,`HELP` 都是数据库探索的得力助手。
|
SQL Oracle 关系型数据库
Oracle杂谈二 SQL*PLUS命令的使用大全
Oracle杂谈二 SQL*PLUS命令的使用大全
74 0
|
7月前
|
SQL Oracle 关系型数据库
Oracle spool格式化数据命令
在这个示例中,通过设置不同的 `SET`命令参数,你可以控制输出的格式,包括每页行数、每行字符数、列分隔符等。你也可以使用其他的 `SET`命令参数来进一步定制输出格式。
76 0
|
7月前
|
SQL Oracle 关系型数据库
Oracle SQL*Plus的TTITLE和BTITLE命令:为你的数据报告加上精美的“画框”
【4月更文挑战第19天】`SQL*Plus`的`TTITLE`和`BTITLE`命令用于为数据报告添加吸引人的标题和边框。
|
7月前
|
SQL Oracle 关系型数据库
Oracle SQL*Plus的COLUMN命令:数据展示的“化妆师”
【4月更文挑战第19天】Oracle SQL*Plus的COLUMN命令是数据展示的利器,能美化和格式化输出。它可定制列标题、调整显示格式(如数字的小数位数和日期格式),添加前缀和后缀(如货币符号),以及控制列宽和是否折行,使得数据呈现更直观、专业。利用COLUMN命令,能将原始数据转化为易于理解和视觉吸引力强的展示形式。

推荐镜像

更多