oracle基本命令集锦

一、oracle监听配置

A、 监听(D:\app\Administrator\product\11.2.0\dbhome_1\NETWORK\ADMIN\listener.ora.ora)

1、动态注册:不需要显示的配置listener.ora文件,实例MOUNT时,PMON进程就会根据

instance_name,service_name参数将实例和服务动态注册到listerer中。

2、静态注册:指实例启动时读取listener.ora配置文件,将实例和服务注册到监听程序。

B、 TNS(D:\app\Administrator\product\11.2.0\dbhome_1\NETWORK\ADMIN\tnsnames.ora)

1、CMD

2、LSNRCTL运行至LSNRCTL端

3、LSNRCTL>status 查看状态

4、LSNRCTL>stop  监听停止

5、LSNRCTL>start  启动监听

6、LSNRCTL>reload 重新启动

=========================================

二、登录

1、CMD下SYSDBY登录

sqlplus / as sysdba;         超级用户(sysdba)

sqlplus system/admin as sysdba;

sqlplus scott/[email protected];

Sqlplus /nolog;  进入sql模式

conn / as sysdba; 以DBA身份连接数据库

create user unary identified by 123;  创建unary用户,密码:123

alter user system identified by unary123; //修改帐号的密码

grant dba,sysdba to unary;         给与unary用户DBA权限

GRANT SELECT ON SCOTT.EMP TO unary; //把EMP这个表所有权给unary,用户赋予表查询权限

select distinct owner from all_objects; 查看当前系统用户

select username from dba_users; 查看当前所有用户

3、CONN登录

SQL> conn sys(用户名)/manager(密码)@orcl(实例名)as sysdba;  连接数据库

SQL> conn system/[email protected] as sysdba;

4、RMAN登录(鼠标右键CMD.EXE以“管理员方式登录”不加分号)

Rman>rman target sys/[email protected]

=========================================================================

三、Oracle设置自动归档

1、sqlplus system/123@orcl as sysdba           //管理员身份连接数据库

2、SQL> archive log list;              //查看当前归档模式,是归档还是非归档

3、SQL> shutdown immediate;                 //关闭数据库

4、SQL> startup mount;                       //启动数据库到mount状态

5、SQL> alter database archivelog/noarchivelog;   //启动/关闭自动归档模式

6、SQL>Alter system archive log current;         //切换当前日志并且自动归档

7、SQL> alter database open;                  //启动数据库,打开数据库并将其装入

8、SQL> Select status from v$instance;           //查看数据库是否打开-open

注意:Select instance_name from v$instance;     //查看oracle数据库名字,即SID_NAME = ORCL

==================================================

四、ORACLE数据库几种状态查看

SQL>show parameter db_name;    //查看oracle数据库名称命令 orcl

SQL>select status from v$instance;  //查看oracle当前数据库的状态 open

SQL>show parameter db_recover;  //查看oracle查看闪回恢复区的信息(默认:归档日志会存放到闪回恢复区

SQL>select name from v$datafile;   //查询数据库DBF文件位置

SQL>select open_mode from v$database; //查询数据库状态,打开和可写模式 open/write

SQL>select file#,name,status,enabled,checkpoint_change# from v$datafile;  //查询数据文件状态

SQL>select sum(bytes)/1024/1024/1024 as GB from v$datafile;  //查询数据文件(表空间)大小

SQL>select sum(bytes)/1024/1024/1024 as GB from dba_segments;  //查询有效数据大小

SQL>select * from v$version;                         //查询数据库版本信息

SQL>select instance_name from v$instance;                //查询当前数据库实例名称

SQL>select * from global_name;                    //查询全局数据库名称

SQL>select name from v$datafile;                  //查询数据文件位置

==================================================

SQL>show parameter db_recover;                //查看oracle数据库闪回区的路径及容量

SQL>alter system set db_recovery_file_dest_size=50G;       // 更改归档目录容量目标为50G,默认4G

SQL>alter system set log_archive_dest_1=‘location=c:\archivelog‘;  //变更归档路径,重启数据库生效。alter database open;

SQL>alter system archive log current;        //手动产生归档日志

SQL>alter system switch logfile; 切换归档方式日志组;和以下命令结合使用。

SQL>alter system set log_archive_format=‘ARC%S_%R.%T_%D.log‘ scope=spfile;  生成归档日志文件

===================================================

如果可以登录任意的一个用户可以通过一下方法来知道当前有哪些用户

SQL>select distinct owner from all_objects 查看当前用户

oracle数据库新建表命令:

SQL>sql>create table unary(ItemNO number(2),ItemName varchar2(20));  创建 unary表格

SQL>sql>drop table unary  删除unary  删除表命令

SQL> select TABLE_NAME from all_tables;   查看当前库的所有数据表

===================================================

数据文件重定位

1. 脱机  Alter database datafile ‘c:\oracle\data02.dbf‘ offline;

2. 复制  Host copy c:\oracle\data02.dbf c:\oracle\oradata\ora10\data02.dbf

3. 修改控制文件中的文件名  Alter database rename file c:\oracle\data02.dbf  to  c:\oracle\oradata\ora10\data02.dbf

4. 同步文件头部与数据库  Recover datafile ‘c:\oracle\oradata\ora10\data02.dbf‘

5. 把它重新联机,以便可供使用  Alter database datafile ‘c:\oracle\oradata\ora10\data02.dbf‘ online;

===================================================

五、RMAN备份与恢复

1、RMAN登录(鼠标右键CMD.EXE以“管理员方式登录”不加分号)

Rman>rman target sys/[email protected]

或:cmd:> Rman target  /  nocatalog

delete obsolete;//删除备份集

Crosscheck backup //校验备份集

计划任务:

开始-输入“计划”,右击“microsoft”

C:\Users\Administrator>rman target sys/[email protected] cmdfile=‘D:\app\full.sql‘ log=‘D:\app\full.log‘

--------------------------------------------------------------------------------------

RMAN> change archivelog all crosscheck;   //当数据库无法备份时,交叉检测,保证备份集有效

RMAN> delete expired archivelog all;      //当数据库无法备份时,删除过期日志expired(过期的)

--------------------------------------------------------------------------------------

===================================================

如果ORACLE无法启动,可能是数据库恢复没有完成,操作如下:

RMAN> recover database;

RMAN> alter database open resetlogs;//重新打开数据库

数据库已打开

SQL> select open_mode from v$database;

===================================================

完全备份数据库指定路径:

RMAN> backup incremental level 0 database format ‘c:\bakup\database-%s-%T-%t-%U.

bak‘;

===================================================

//RMAN中执行,《查看备份集信息和删除过期与失效得备份集》

RMAN>List incarnation;            //查看生命周期

RMAN>list backup;                 //查看备份集信息

RMAN>report obsolete;             //列出过期的备份集

RMAN>delete noprompt obsolete;    //删除过期的备份集

RMAN>crosscheck backup;          //验证备份集有效性

RMAN>delete expired backup;       //删除失效的备份集

#RMAN恢复到指定时间点

run{

set until time "to_date(‘2017-01-14 21:10:00‘,‘yyyy-mm-dd hh24:mi:ss‘)";

restore database;

recover database;

}

alter database open resetlogs;

六、RMAN备份与恢复

A:概念:

1、完全备份:

对备份对象进行完全备份

2、增量备份:

每次备份的数据只是相对于上一次备份后新增加的和修改过的数据

3、差异备份:

每次备份的数据是相对于上一次全备份之后增加的和修改过的数据

4、日志备份:

自上次备份以来对数据库所做的改变。

B:备份:

1、完全备份:

run{

allocate channel ch1 device type disk;

backup incremental level 0 database format ‘D:\app\Administrator\BACKUP\database-%s-%T-%t-%U-%d.bak‘;

sql ‘alter system archive log current‘; \\

backup  archivelog all format ‘D:\app\Administrator\BACKUP\archlog-%s-%T-%t-%U-.bak‘ delete all input;

backup current controlfile format ‘D:\app\Administrator\BACKUP\ctrlfile-%s-%T-%t-%U-.bak‘;  \\备份控制文件命令

release channel ch1;                                                  \\释放通道

report obsolete;

delete noprompt obsolete;

crosscheck backup;

delete noprompt expired backup;

}

2、差异备份

run{

allocate channel ch1 device type disk;

backup incremental level 1 database format ‘D:\app\Administrator\BACKUP\database-%s-%T-%t-%U-.bak‘;

sql ‘alter system archive log current‘;

backup  archivelog all format ‘D:\app\Administrator\BACKUP\archlog-%s-%T-%t-%U-%d.bak‘ delete all input;

backup current controlfile format ‘D:\app\Administrator\BACKUP\ctrlfile-%s-%T-%t-%U-%d.bak‘;

release channel ch1;

}

3、增量备份

run{

allocate channel ch1 device type disk;

backup incremental level 1 cumulative database format ‘D:\app\Administrator\BACKUP\database-%s-%T-%t-%U-%d.bak‘;

sql ‘alter system archive log current‘;

backup  archivelog all format ‘D:\app\Administrator\BACKUP\archlog-%s-%T-%t-%U-%d.bak‘ delete all input;

backup current controlfile format ‘D:\app\Administrator\BACKUP\ctrlfile-%s-%T-%t-%U-%d.bak‘;

release channel ch1;

}

4、归档日志备份

run{

allocate channel ch1 device type disk;

sql ‘alter system archive log current‘;

Backup archivelog from time "to_date(‘2017-01-14 18:07:00‘, ‘yyyy-mm-dd hh24:mi:ss‘)"

format ‘D:\app\Administrator\BACKUP\archlog-%s-%T-%t-%U-%d.bak‘ delete all input;

backup current controlfile format ‘D:\app\Administrator\BACKUP\ctrlfile-%s-%T-%t-%U-%d.bak‘;

release channel ch1;

}

七、如何启动或关闭oracle的归档(ARCHIVELOG)模式

A:开启归档模式

1、CMD>  sqlplus sys/[email protected] as sysdba

2、SQL> archive log list;

3、SQL> shutdown immediate; 关闭数据库

4、SQL> startup mount; 启动数据库到mount状态

5、SQL> alter database archivelog;启动归档模式

6、SQL> alter database open; 启动数据库

B:关闭归档模式

1、SQL> shutdown immediate;        2、SQL> startup mount;

3、SQL> alter database noarchivelog;   4、SQL> alter database open;

C: 启动|关闭 数据库实例:分为三个步骤

1、启动实例、加载数据库、打开数据库。 STARTUP [nomount | mount | open ]

2、关闭数据库、卸载数据库、关闭Oracle实例。SHUTDOWN [normal | transactional | immediate ]

时间: 2024-10-08 01:19:01

oracle基本命令集锦的相关文章

oracle 函数集锦

oracle的函數很多﹐特整理出來﹕ abs(m)  m的绝对值mod(m,n) m被n除后的余数power(m,n) m的n次方round(m[,n]) m四舍五入至小数点后n位的值(n缺省为0)trunc(m[,n]) m截断n位小数位的值(n缺省为0) 字符函数: initcap(st) 返回st将每个单词的首字母大写,所有其他字母小写lower(st) 返回st将每个单词的字母全部小写upper(st) 返回st将每个单词的字母全部大写concat(st1,st2)  返回st为st2接

oracle 基本命令之(1)

本篇文章很适合想从基础学起oracle 的小白 喜欢可以仔细读九妹本篇文章 九妹将每天更新oracle 防伪码---- 奋青春,焕自我,拼无悔! 基本命令 查看oracle 当前状态信息  select   status from v$instance; 开启 startup 关闭 shutdown  immediate 查看控制文件信息 desc v$controlfile: 多路复用制文件的方法(相当于备份) 之后关闭oracle 退出oracle 使用命令将文件复制到新的位置 cd /op

【Oracle错误集锦】:ORA-12154: TNS: 无法解析指定的连接标识符

相信这个错误大家都不陌生,只要安装使用过Oracle的估计都遇到过这个问题,一般出现在用PL/SQL连接Oracle数据库的时候发生的. 导致这个错误的原因以及解决方案都是多种多样的,我也是三番五次的遇到过这个问题,今天就把ORA-12154的解决方案总结一下. 1.首先查看服务器端,Oracle服务和监听服务是否启动.Win+R,输入services.msc,查看服务.检查下图中的两个服务是否正在运行. 2.通过Sql Plus连接数据库试试,排除服务端的错误.如果Sql Plus连接能成功,

【Oracle错误集锦】:ORA-00119 & ORA-00132

有时候老天就是爱和你开玩笑,昨天好不容易配置好Oracle,能够用PL/SQL正常登录使用,今天突然就不行了.并且错误十分诡异,没有提示什么错误代码.输入用户名密码,点击登录后PL/SQL没有反映,直接卡死. 我就郁闷了,都不给提示怎么解决问题呢.突然想到Oracle肯定会有记录日志的地方.去查看一下应该会有惊喜. Oracle日志位置:D:\app\NiuNiu\product\11.2.0\dbhome_1\database\oradim.log 果然发现了两个错误: Tue Jun 23

Oracle函数集锦

1.wmsys.wm_concat函数 将列转为行.例子: --表里的数据如下 SQL> select * from idtable; ID NAME ---------- ------------------------------ 10 ab 10 bc 10 cd 20 hi 20 ij 20 mn --函数的执行效果 SQL>select id,wmsys.wm_concat(name) name from idtable group by id; ID NAME ----------

Oracle基本命令符

(1)连接命令:1> conn[ect]:用法,conn 用户名/密码@网络服务名 [as sysdba/sysoper],当用特权用户身份连接时,必须带上as sysdba或者as sysoperSQL> conn sys/lipeng @orcl as sysdba;2> disc[onnect]:该命令用来断开与当前数据库的连接3>passw[ord]:该命令用于修改用户的密码,如果要想修改其他用户的密码,需要用sys/system登录4>show user:显示当前用

【Oracle错误集锦】:PLSQL无法直连64位Oracle11g数据库

今天安装完Oracle 11g数据库后,用plsql连接数据库死活都连接不上.并且plsql客户端登录窗口的Database下拉框还为空.见下图: Oracle服务和监听已经开启,并且检查了相关的配置都没有问题. 后来去网上搜索了下,发现有人说plsql不能直接连接64位 Oracle 11g数据库.因为plsql是32位的,要想连接64位的数据库还需要安装一个32位的Oracle客户端..记得以前使用Oracle10g 数据库的时候就没有这个事啊,用plsql就可以直接连接数据库. 解决方案:

Oracle用法集锦

查询第一条数据 select * from tableName where rownum <= 1 修改列名: ALTER TABLE BD_PRI RENAME COLUMN EU_PRIMD TO CODE 修改列类型: ALTER TABLE TableName MODIFY(CODE VARCHAR(20))

oracle语句集锦

1.行转列(PIVOT函数) 语法: TABLE_SOURCE PIVOT(聚合函数(value_column) FOR pivot_column IN( < column_list > )) 效果图: --行转列 select * from SalesList pivot( max(salesNum) for shangPin in ( --shangPin 即要转成列的字段 '上衣' as 上衣, --max(salesNum) 此处必须为聚合函数, '裤子' as 裤子, --in ()