/* 2008/05/26
*Oracle 备份与恢复培训教程 Kenny Smith,Stephan Haisley著 周琪、韩岷、李渝琳等译
*第3章:专项练习之一
*/
练习3.1:安装Oracle软件
略
练习3.2:创建jxfgw数据库
1、启动数据库的配置助手
Windows>G:\oracle\product\10.2.0\db_1\BIN\launch.exe G:\oracle\product\10.2.0\db_1\a
ssistants\dbca dbca.cl
Linux>/oracle/10.2.0/bin/dbassist &
2、配置数据库配置助手
按默认操作
3、创建数据库
练习3.3:查看数据库
连接方式:
本地连接:
SQL> connect sys/mzl as sysdba
已连接。
Net8连接:
SQL> connect sys/mzl@jxfgw as sysdba
ERROR:
ORA-12154: TNS: 无法解析指定的连接标识符
警告: 您不再连接到 ORACLE。
出现上面的错误,如果$ORACLE_HOME/network/admin/下的tnsnames.ora和listener.ora配置正确,则是环境变量出的问题,在$ORACLE_HOME/bin/下运行即可。
如:
G:\oracle\product\10.2.0\db_1\BIN>sqlplus /nolog
SQL*Plus: Release 10.2.0.1.0 - Production on 星期日 3月 30 18:01:59 2008
Copyright (c) 1982, 2005, Oracle. All rights reserved.
SQL> connect sys/mzl@jxfgw as sysdba
已连接。
注释:连接命令中的@符号指示数据库连接使用Net8,如果没有指定Net8连接字符,连接命令将连接到由Oracle_SID环境变量定义的数据库。
查数据库名称和归档日志模式:
SQL> select name,log_mode from v$database;
NAME LOG_MODE
--------- ------------
JXFGW ARCHIVELOG
查版本:
SQL> select * from v$version;
BANNER
----------------------------------------------------------------
Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Prod
PL/SQL Release 10.2.0.1.0 - Production
CORE 10.2.0.1.0 Production
TNS for 32-bit Windows: Version 10.2.0.1.0 - Production
NLSRTL Version 10.2.0.1.0 - Production
查数据文件及大小:
SQL> select name,bytes/1024/1024 "MB" from v$datafile;
NAME MB
---------------------------------------------------------- ----------
G:\ORACLE\PRODUCT\10.2.0\ORADATA\JXFGW\SYSTEM01.DBF 1070
G:\ORACLE\PRODUCT\10.2.0\ORADATA\JXFGW\UNDOTBS01.DBF 120
G:\ORACLE\PRODUCT\10.2.0\ORADATA\JXFGW\SYSAUX01.DBF 280
G:\ORACLE\PRODUCT\10.2.0\ORADATA\JXFGW\USERS01.DBF 88.75
G:\ORACLE\PRODUCT\10.2.0\ORADATA\JXFGW\RISENET.ORA 300
G:\ORACLE\PRODUCT\10.2.0\ORADATA\JXFGW\RISENET_JXFGW.ORA 992
G:\ORACLE\PRODUCT\10.2.0\ORADATA\JXFGW\PERFSTAT.DBF 500
已选择7行。
或者:
SQL> select file_name,bytes/1024/1024 "MB" from dba_data_files;
FILE_NAME MB
---------------------------------------------------------- ----------
G:\ORACLE\PRODUCT\10.2.0\ORADATA\JXFGW\USERS01.DBF 88.75
G:\ORACLE\PRODUCT\10.2.0\ORADATA\JXFGW\SYSAUX01.DBF 280
G:\ORACLE\PRODUCT\10.2.0\ORADATA\JXFGW\UNDOTBS01.DBF 120
G:\ORACLE\PRODUCT\10.2.0\ORADATA\JXFGW\SYSTEM01.DBF 1070
G:\ORACLE\PRODUCT\10.2.0\ORADATA\JXFGW\RISENET.ORA 300
G:\ORACLE\PRODUCT\10.2.0\ORADATA\JXFGW\RISENET_JXFGW.ORA 992
G:\ORACLE\PRODUCT\10.2.0\ORADATA\JXFGW\PERFSTAT.DBF 500
已选择7行。
许多v$动态视图在数据库控制文件加载而数据库未打开时可用。
表空间:
SQL> select ts#,name from v$tablespace;
TS# NAME
---------- ----------------------------------------------------------
0 SYSTEM
1 UNDOTBS1
2 SYSAUX
4 USERS
3 TEMP
6 RISENET
7 RISENET_JXFGW
10 PERFSTAT
已选择8行。
或
SQL> select tablespace_name,block_size from dba_tablespaces
TABLESPACE_NAME BLOCK_SIZE
------------------------------ ----------
SYSTEM 8192
UNDOTBS1 8192
SYSAUX 8192
TEMP 8192
USERS 8192
RISENET 8192
RISENET_JXFGW 8192
PERFSTAT 8192
已选择8行。
联机在线重做日志
SQL> select group#,status,member from v$logfile;
GROUP# STATUS MEMBER
---------- ------- --------------------------------------------------
3 STALE G:\ORACLE\PRODUCT\10.2.0\ORADATA\JXFGW\REDO03.LOG
2 G:\ORACLE\PRODUCT\10.2.0\ORADATA\JXFGW\REDO02.LOG
1 STALE G:\ORACLE\PRODUCT\10.2.0\ORADATA\JXFGW\REDO01.LOG
联机在线重做日志位置和大小:
SQL> select member,bytes/1024/1024 "MB" from v$logfile lf,v$log l
2 where lf.group#=l.group#;
MEMBER MB
-------------------------------------------------- ----------
G:\ORACLE\PRODUCT\10.2.0\ORADATA\JXFGW\REDO03.LOG 50
G:\ORACLE\PRODUCT\10.2.0\ORADATA\JXFGW\REDO02.LOG 50
G:\ORACLE\PRODUCT\10.2.0\ORADATA\JXFGW\REDO01.LOG 50
控制文件:
SQL> select status,name,block_size/1024 "block_size KB" from v$controlfile;
STATUS NAME block_size KB
------- ---------------------------------------------------------- -------------
G:\ORACLE\PRODUCT\10.2.0\ORADATA\JXFGW\CONTROL01.CTL 16
G:\ORACLE\PRODUCT\10.2.0\ORADATA\JXFGW\CONTROL02.CTL 16
G:\ORACLE\PRODUCT\10.2.0\ORADATA\JXFGW\CONTROL03.CTL 16
注意:动态视图的名称从不使用复数,数据字典名称通常使用复数。
1、数据库信息:v$database,v$instance
2、数据库参数信息:v$parameter
3、表空间信息:v$tablespace,dba_tablespaces
4、数据文件信息:v$datafile,v$tempfile,v$datafile_header,dba_data_files,dba_temp_files
5、重做日志文件信息:v$log,v$logfile,v$log_history
6、控制文件信息:v$controlfile
7、数据库恢复信息:v$recovery_file_status,v$recovery_log,v$recovery_progress,v$recovery_log,v$recover_file
一些重要文件:
1、参数文件init.ora.2212008135755位于$ORACLE_BASE/admin/jxfgw/pfile目录下
2、告警日志alert_JXFGW.log位于$ORACLE_BASE/admin/jxfgw/bdump目录下
3、口令文件:在windows下%ORACLE_HOME%\database\PWDjxfgw.ora,在linux下$ORACLE_HOME/dbs/PWDjxfgw.ora,文件为二进制,无法查看。
练习3.4:修改jxfgw数据库
1、更改口令
SQL> alter user sys identified by practice;
用户已更改。
2、添加数据文件
SQL> alter tablespace users add datafile
2 'G:\ORACLE\PRODUCT\10.2.0\ORADATA\JXFGW\user02.dbf' size 10M;
表空间已更改。
3、创建scott用户
SQL> @G:\oracle\product\10.2.0\db_1\RDBMS\ADMIN\utlsampl
4、创建tina用户
SQL> grant connect,resource,unlimited tablespace to tina
2 identified by panda;
授权成功。
SQL> alter user tina default tablespace risenet;
用户已更改。
SQL> alter user tina temporary tablespace temp;
用户已更改。
5、创建tina的对象
SQL> connect tina/panda
已连接。
SQL> drop table date_log;
SQL> create table date_log
2 (create_date date constraint create_date_pk primary key);
表已创建。
SQL> create or replace procedure create_date_log_row
2 is
3 --Purpose:insert a row with the current date/time into date_log.
4 begin
5 insert into date_log(create_date) values(sysdate);
6 end;
7 /
过程已创建。
6、生产数据库行为
SQL> insert into tina.date_log values(sysdate);
已创建 1 行。
SQL> select * from date_log;
CREATE_DATE
--------------
31-3月 -08
SQL> execute tina.create_date_log_row;
PL/SQL 过程已成功完成。
SQL> select * from date_log;
CREATE_DATE
--------------
31-3月 -08
31-3月 -08
创建和安排任务:
SQL> variable jobno number;
SQL> begin
2 --Run the job every 10 minutes
3 dbms_job.submit(:jobno,'create_date_log_row;',sysdate,'(sysdate+1/(24*6))
;
4 commit;
5 end;
6 /
PL/SQL 过程已成功完成。
SQL> print jobno
JOBNO
----------
41
SQL> alter system set job_queue_processes=2;
系统已更改。
参数job_queue_processes启动两个oracle调度进程
SQL> connect tina/panda
已连接。
SQL> select job,what from user_jobs;
JOB WHAT
---------- --------------------------------------------------
41 create_date_log_row;
中断停止任务:
SQL> execute dbms_job.broken(41,true);
PL/SQL 过程已成功完成。
oracle不再运行该项任务,直到你使用下面代码改变它的中断状态:
SQL> execute dbms_job.broken(41,false,sysdate);
PL/SQL 过程已成功完成。
动态视图和数据字典视图的区别是什么?
A、大多数动态视图在数据库加载而未打开时使用;字典视图不是这样
B、动态视图显示当前控制文件或内存结构中的信息;字典视图显示system表空间的信息
C、所有的动态视图都以字符v$开头;大多数字典视图以DBA_、ALL_或USER_开头
D、动态视图有一个单数名;大多数字典视图有一个复数名。
答案:ABCD
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/12778571/viewspace-310403/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/12778571/viewspace-310403/