oracle 简单操作

临时抱佛脚

shell登录SQLPLUS
 


1.C: > sqlplus "/as sysdba"   --以操作系统权限认证的oracle sys管理员登陆

2.C: > sqlplus /nolog             --不在cmd或者terminal当中暴露密码的登陆方式
SQL> conn /as sysdba
SQL> conn sys/password as sysdba

3.C: > sqlplus scott/tiger      --非管理员用户登陆

4.C: > sqlplus scott/tiger@orcl    --非管理员用户使用tns别名登陆

5.C: > sqlplus sys/password@orcl as sysdba --管理员用户使用tns别名登陆

6.C: > sqlplus                       --不显露密码的登陆方式
Enter user-name:sys
Enter password:password as sysdba     --以sys用户登陆的话 必须要加上 as sysdba 子句

7.使用ip登录
Oracle服务器地址: 192.168.0.181 端口:1521
用户名:bt2020
密码:password123
服务名SID: dbsvr
不用netmgr创建服务名,直接在命令行写IP地址端口和服务名,执行文件filelist.sql的命令行如下:
C: > sqlplus  bt2020/[email protected]:1521/dbsvr @filelist.sql
使用系统用户sys连接时必须加 as sysdba
C: > sqlplus  sys/[email protected]:1521/dbsvr as sysdba


数据库状态
 
select status from v$instance;查看数据库的状态

数据库根本没启动:
 ERROR at line 1:
ORA-01034: ORACLE not available
Process ID: 0
Session ID: 0 Serial number: 0

数据库在nomount状态
STATUS
------------
STARTED

数据库在mount状态
STATUS
------------
MOUNTED


数据库为open状态
STATUS
------------
OPEN
(前面数据库状态变化为alter database mount/open   启动命令为startup XXXXX   )


select open_mode from v$database;查看数据库的读写状态


OPEN_MODE
--------------------
READ WRITE     回显状态显示数据库为读写模式
 

查看所有表空间及表空间大小
 
select tablespace_name ,sum(bytes) / 1024 / 1024 as MB from dba_data_files group by tablespace_name

查看所有表空间对应的数据文件
 
select tablespace_name,file_name from dba_data_files

汇总统计数据文件、日志文件、临时文件
 
select sum(GB) as total 
from (select sum(bytes)/1024/1024/1024 as GB from DBA_DATA_FILES
union all
select sum(bytes)/1024/1024/1024 from DBA_TEMP_FILES
union all
select sum(bytes)/1024/1024/1024 from v$log
);

使用DBF文件异机还原数据库
http://t.zoukankan.com/hustsay23-p-2237748

ORACLE数据库和SQL SERVER最大的区别是后者完成什么任务都很简单 图形界面一步步操作就可以 而ORACLE却需要你真正的了解它 知道你做的每一步操作的意义

冷备份 应该说是ORACLE数据库里面最简单的一种备份方式

它常用的用途是本机或异机需要重装一个同样的数据库,那么用冷备份就很方便

下面用我本子进行一次实际的冷备份,然后还原到虚拟机上

                  本子(源)       虚拟机(目标)

操作系统      WIN7              WINDOWS 2003

ORACLE      11gR2            11gR2

安装根目录   D:\oracle11g    D:\oracle11g

数据库        orcl                  未创建数据库

可以看到除了操作系统版本不同,其他都一样,这种在还原的时候碰到的问题会最少,按步骤操作一般没有一点问题

另外就是数据库在虚拟机上还没有创建,到时候创建一个orcl数据库就可以(创建过程中的配置选项应该无所谓,因为还原的时候会被覆盖)

下面是操作的详细步骤:

步骤1:

查看源主机上orcl数据库需要备份的各文件位置,冷备份需要备份包括控制文件,参数文件,密码文件,数据文件,联机重做日志文件

控制文件

SQL: select * from V$CONTROLFILE

Result:

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

D:\ORACLE11G\ORADATA\ORCL\CONTROL01.CTL

D:\ORACLE11G\FLASH_RECOVERY_AREA\ORCL\CONTROL02.CTL

参数文件

SQL: select * from V$PARAMETER where name like '%spfile%'

Result:

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

D:\ORACLE11G\PRODUCT\11.2.0\DBHOME_1\DATABASE\SPFILEORCL.ORA

密码文件

D:\Oracle11g\product\11.2.0\dbhome_1\database\PWDorcl.ora

数据文件

SQL: select * from V$DATAFILE

Result:

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

D:\ORACLE11G\ORADATA\ORCL\SYSTEM01.DBF

D:\ORACLE11G\ORADATA\ORCL\SYSAUX01.DBF

D:\ORACLE11G\ORADATA\ORCL\UNDOTBS01.DBF

D:\ORACLE11G\ORADATA\ORCL\USERS01.DBF

D:\ORACLE11G\ORADATA\ORCL\EXAMPLE01.DBF

D:\ORACLE11G\ORADATA\ORCL\STUDYDEMO_DATA01.DBF

联机重做日志文件

SQL: select * from V$LOGFILE

Result:

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

D:\ORACLE11G\ORADATA\ORCL\REDO03.LOG

D:\ORACLE11G\ORADATA\ORCL\REDO02.LOG

D:\ORACLE11G\ORADATA\ORCL\REDO01.LOG

将上述文件备份出来

步骤2:

因为目标机只是装了oracle软件,没有装数据库,所以需要建一个和源主机同名的数据库orcl

装完数据库后实例是启动的,需要先关闭(使用shutdown immediate命令)

然后就是复制源主机上备份的文件到目标主机相应的目录 至此冷备份其实就还原成功了

然后通过启动数据库确认冷备份还原成功

先启动监听程序

$lsnrctl
start

再启动数据库

startup open