0
点赞
收藏
分享

微信扫一扫

ORACLE上课笔记

Java旺 2022-04-04 阅读 30

ORACLE部分

第一天

第一部分、数据库打开与关闭

一、数据库连接、打开、关闭

1、自动打开数据库

在操作系统的服务列表选中  OracleServiceTEST》右键》启动或者停止。

 说明:默认情况下,电脑打开后,该服务也相应自动启动数据库,

2、手动连接数据库

使用命令的方式打开数据库,便于在维护过程中配置参数和恢复等。

打开CMD界面,超级管理员连接数据库,方法一:SQLPLIS SYS/密码@连接服务名 AS SYSDBA;方法二 :SQLPLUS / AS SYSDBA  (空密码方式登录必须在服务器端,同时受D:\app\Administrator\product\11.2.0\dbhome_1\NETWORK\ADMIN\sqlnet.ora文件 的SQLNET.AUTHENTICATION_SERVICES = (none) 或 (NTS)  参数进行限制登录模式);

   补充:普通用户登录方法:SQLPLUS 用户名/密码@连接服务名;

 3、手工打开数据库

手动打开数据库又分为一次性启动和分步骤启动两种方法,启动数据库都需要通过上述方法2, 使用超级管理员连接数据。

(1)、一次性启动:startup

(2)、分步骤系统:

A、SRART  NOMOUNT ;

功能:操作系统分配内存,定义常用参数,

调用文件:参数文件SPFILE

补充:参数文件有种类型:PFILE(文本型:D:\app\Administrator\admin\TEST\pfile\init.ora) 和SPFILE(二进制:D:\app\Administrator\product\11.2.0\dbhome_1\database\SPFILETEST.ORA)

;在SPFILE丢失的情况怎么处理:通过PFILE文件先打开数据库到NOMOUNT 状态,再使用命令创建SPFILE: create spfile from  pfile='D:\app\Administrator\admin\TEST\pfile\init.ora';

 B、ALTER DATABASE MOUNT;

功能:装载数据库、检查和验证控制文件内容、解析数据库文件的路径信息等。

    调用文件:控制文件

补充文件:保存数据库维护的字典库。路径(通过参数文件参数control_files定义): D:\app\Administrator\oradata\TEST\CONTROL01.CTL; D:\app\Administrator\flash_recovery_area\TEST\CONTROL02.CTL;

两个文件内容一样;数据库实例只要有一个控制文件就可以启动;

常规恢复:控制文件只坏一个情况下:(1)可以通过复制正常的控制文件替换坏的控制文件;(2)通过修改control_files参数,指引到正常的控制文件。(3)、重新创建控制文件(后期讲)

C、ALTER DATABASE OPEN;

检查数据文件、日志文件等是否存在,并比对SCN号后正常打开数据库,只要打开数据库后,客户端才能连接。

3、关闭数据库

 使用:SHUDOWN  IMMEDIATE;  别用SHUTDOWN  ABORT  , startup  force( SHUTDOWN  ABORT> startup )

二、网络配置

1、监听程序(只需在服务器端配置)

监听局域网络中客户端的数据库连接请求,类似人的耳朵。

(1)、在操作系统》服务》OracleOraDb11g_home1TNSListener;(2) 配置文件路径:D:\app\Administrator\product\11.2.0\dbhome_1\NETWORK\ADMIN\listener.ora;

LISTENER =

  (DESCRIPTION_LIST =

    (DESCRIPTION =

      (ADDRESS = (PROTOCOL = TCP)(HOST = WIN-BCDEKL9DCET)(PORT = 1521))

      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))

    )

  )

HOST:主机名,IP地址(推荐)

PORT:默认1521,可以自定义

 配置监听工具:NETCA 、netmgr( 静态监听配置 )

启动两种方法:1、服务》选中监听》右键启动;2、命令启动 Cmd> lsnrctl 》启动:start ,关闭:STOP,状态查询:status

2、网络服务名(客户端广播)

用于客户端连接服务器数据库指向的定义;文件路径:

D:\app\Administrator\product\11.2.0\dbhome_1\NETWORK\ADMIN\tnsnames.ora

配置工具:NETCA 、netmgr

TEST1 =

  (DESCRIPTION =

    (ADDRESS_LIST =

      (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.10.10)(PORT = 1521))

    )

    (CONNECT_DATA =

      (SERVICE_NAME = TEST)

    )

  )

TEST1:服务别名

HOST:服务器的IP地址(于监听地址匹配);

PORT:端口号,与服务器监听端口对应;

SERVICE_NAME:实例名

补充:为了提高工作效率,实际工作中是安装完Oracle客户端后,直接复制配置好的tnsnames.ora文件到客户端相应的路径下即可。

三、常用参数调整

1、密码大小写:

SQL> SHOW PARAMETER  CASE

NAME                                 TYPE        VALUE

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

sec_case_sensitive_logon             boolean     TRUE

SQL> alter system set sec_case_sensitive_logon=false;

系统已更改。

SQL> SHOW PARAMETER CASE

NAME                                 TYPE        VALUE

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

sec_case_sensitive_logon             boolean     FALSE

SQL>

2、密码180天限制

--1

SELECT  *  FROM  dba_profiles  WHERE  profile='DEFAULT'  AND  resource_name='PASSWORD_LIFE_TIME';

--180 天到期

 

更改密码为无期

--2

ALTER  PROFILE  DEFAULT  LIMIT  PASSWORD_LIFE_TIME  UNLIMITED;

3、空表分配空间,避免空表不导出

alter system set deferred_segment_creation=false;

四、数据库文件

1、参数文件(PFILE和SPFILE)

参考数据库启动部分

2、控制文件

参考数据库启动部分

3、数据文件

  功能:保存数据的单位;

  两种数据文件(大小限制32G):

A 常规数据文件(保存数据): SELECT * FROM V$DATAFILE 

B 临时数据文件(临时表和排序时调用): SELECT * FROM V$tempFILE

4、在线日志文件

    功能:记录数据库的变化,便于恢复。

SELECT * FROM v$logfile

SELECT * FROM v$log

   特点:文件循环使用,一个实例至少两个日志文件。

  手动切换日志:alter system switch logfile;

 5、归档日志文件

   功能:在线日志的备份;

   归档与非归档区别:归档模式将在线日志按照策略进行备份形成归档日志文件,便于数据库恢复。

6、密码文件

功能:主要用于验证超级管理员的连接

路径:D:\app\Administrator\product\11.2.0\dbhome_1\database\PWDTEST.ora

密码文件手工创建: orapwd file=pwdTEST.ora password=AQA entries=2 

五、数据库实例

1、查看数据库SGA: SQL> SHOW PARAMETER SGA

NAME                                 TYPE        VALUE

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

sga_max_size                         big integer 1G

sga_target                           big integer 0  /*自动管理模式*/

2、查看数据库pGA:

SQL> SHOW PARAMETER pga

NAME                                 TYPE        VALUE

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

pga_aggregate_target                 big integer 0  /*自动管理模式*/

第二天

第一部分 备份和还原数据库

1、exp / IMP

功能:定时备份、不完成恢复;

缺点:备份慢、恢复慢,备份数据恢复有丢失。

2、冷备份

功能:用于停机全库备份,

要求:生产数据库和目标数据库的环境一致(操作系统、实例名、数据库版本、各主要数据文件的路径),需要停数据库(用户停止系统操作)

步骤:1、停止数据库 (shutdown immediate);

 2、备份数据文件、控制文件、日志文件;(D:\app\Administrator\oradata\TEST)

     3、备份参数文件SPFILE; D:\app\Administrator\product\11.2.0\dbhome_1\database\SPFILETEST.ORA

3、expdp / impdp;

功能:主要用于数据库版本升级、跨平台迁移、也可以用户备份与恢复。

优点:备份时间较快、

步骤:

1、通过管理员权限 创建目录: CREATE DIRECTORY EXPDP AS   'E:\DATABASEBACKUP\EXPDP' (路径在服务器中是有效的, 通过 SELECT * FROM DBA_DIRECTORIES 查看创建情况。);

2、将该目录授权给相应用户: grant all ON   DIRECTORY  EXPDP TO  system;

     3、备份脚本:

D:\app\Administrator\product\11.2.0\dbhome_1\BIN\expdp.exe  USERID=SYSTEM/AQA@TEST DIRECTORY=EXPDP DUMPFILE=(EXPDP01.DMP,EXPDP02.DMP,EXPDP03.DMP,EXPDP04.DMP) LOGFILE=TESTEXPDPLOG.LOG FULL=Y  PARALLEL=4  REUSE_DUMPFILES=Y

USERID:定义连接备份数据库的用户名、密码等;

DIRECTORY :调用上述创建和授权目录名(expdp);

DUMPFILE:备份的文件名(建议并发备份并定义多个文件名);

LOGFILE:定义备份日志的文件名

FULL :=y,全库备份

PARALLEL:并发数(建议与DUMPFILE文件数一致),不超过CPU核数;

REUSE_DUMPFILES:=y,自动覆盖以前的DUMPFILE文件。

4、rman

功能:通过全库备份+归档日志+在线日志的结合,实现完全恢复。强烈推荐。

步骤: 1、将数据库设置为归档模式。

     

SQL> shutdown immediate;

数据库已经关闭。

已经卸载数据库。

ORACLE 例程已经关闭。

SQL> startup mount;

ORACLE 例程已经启动。

Total System Global Area 1071333376 bytes

Fixed Size                  1375792 bytes

Variable Size             553648592 bytes

Database Buffers          511705088 bytes

Redo Buffers                4603904 bytes

数据库装载完毕。

SQL> archive log list;

数据库日志模式             非存档模式

自动存档             禁用

存档终点            USE_DB_RECOVERY_FILE_DEST

最早的联机日志序列     8

当前日志序列           10

SQL> alter database archivelog;

数据库已更改。

SQL> archive log list;

数据库日志模式            存档模式

自动存档             启用

存档终点            USE_DB_RECOVERY_FILE_DEST

最早的联机日志序列     8

下一个存档日志序列   10

当前日志序列           10

SQL> alter database open;

数据库已更改。

SQL>

注意事项:默认归档文件保存位置(D:\app\Administrator\flash_recovery_area\TEST\ARCHIVELOG),其保存归档日志的大小受 db_recovery_file_dest_size 参数控制。实际工作中建议归档日志的路径自定义:alter system set log_archive_dest_1='location=E:\DATABASEBACKUP\archivelog' 

 2、RMAN 登录

  RMAN TARGET=超级管理员 /密码@网络服务名 (服务器端可以空密码登录:>RMAN TARGET / )

 3、备份数据库

BACKUP  DATABASE

4、还原数据文件、还原数据库、还原控制文件、还原参数文件

restore datafile 文件号 (V$DATAFILE查看)

5、恢复数据库

通过归档日志和在线日志同步数据库的数据

recover database

6、打开数据库,恢复完成。

第二部分、数据库对象

1、表空间

创建表空间:CREATE TABLESPACE Chongqing DATAFILE 'D:\APP\ADMINISTRATOR\ORADATA\TEST\tudi1.dbf'  SIZE 30M AUTOEXTEND ON NEXT 2m

补充:创建表空间必须先一个数据文件;

新增数据文件:alter  TABLESPACE Chongqing add  DATAFILE 'D:\APP\ADMINISTRATOR\ORADATA\TEST\tudi2.dbf'  SIZE 50M AUTOEXTEND ON NEXT 2m

查询表空间的方法:select * from v$tablespace

表空间与数据文件的关系:一对多,select a.NAME ,A.TS# ,B.NAME,B.FILE#  from  v$tablespace a,  v$datafile b where a.TS#=b.TS# 

例:

CREATE TABLESPACE Chongqing DATAFILE D:\app\Administrator\oradata\orcl\tudi1.dbf'  SIZE 30M AUTOEXTEND ON NEXT 32m  MAXSIZE 2048m

   EXTEND MANAGEMENT LOCAL;

Size 大小

autoextend on 自动扩展容量

next 32m 表示一次自动扩展的大小

maxsize 2048m 最大2G

extent management local 本地管理

使用户在某表空间上有使用权限:
alter user 用户名 quota unlimited on 表空间; 

2、表

创建表:

Create Table zlsoft

(

ID         NUMBER(4,3) not null,

创建日期   DATE DEFAULT SYSDATE,

名称       VARCHAR2(30)

) tablespace chongqing;

添加列

    ALTER TABLE zlsoft  ADD     (属性 VARCHAR2(100));

修改列 

    ALTER TABLE zlsoft MODIFY    (属性 VARCHAR2(150));

删除列     

    ALTER TABLE zlsoft DROP COLUMN 属性;

 删除列会直接删除该列的数据 

删除表

删除表用DROP TABLE语句,表中的所有数据和表的数据结构会被删除,表的所有索引会被删除,DROP TABLE语句不能回滚,   1、进行回收站,recycle。                                                      

重命名表

 RENAME employees_bak  TO test;

    注:RENAME命令也适用于视图、序列和同义词的重命名。 

截断表

TRUNCATE TABLE test;

TRUNCATE TABLE 语句删除表中的所有记录,释放表占用的存储空间,         TRUNCATE TABLE语句不能回滚,比用DELETE语句删除所有记录快。 2、无法回滚、也无法通过回收站,数据块已经被标记为clean

3、视图

分类:普通视图和物化视图

视图的优点

    1、通过限制对表的行预定义集合的存取,为表提供附加的安全性。

    2、隐藏数据复杂性。

    3、为用户简化命令。

    4、为基本表的数据提供另一种观察角度,创建视图支持列的别名。 

    5、可将应用隔离于基本表定义的修改。

    6、用于不用视图无法表示的查询。

    7、可用于保存复杂查询。

创建视图

     使用CREATE VIEW语句创建视图,支持列别名。例如:

    Create  view table_space as 

select a.NAME as  table01  ,A.TS# ,B.NAME as datafile,B.FILE#  from  v$tablespace a,  v$datafile b where a.TS#=b.TS# 

修改视图

   create OR REPLACE  view table_space as 

select a.NAME as  table_SPCAE  ,A.TS# ,B.NAME as datafile,B.FILE#  from  v$tablespace a,  v$datafile b where a.TS#=b.TS# 

删除视图

    删除视图用DROP VIEW语句,删除视图不会丢失数据。例如:

    DROP VIEW table_space 

举报

相关推荐

0 条评论