Oracle12c例程管理、手工创建数据库、控制文件等笔记

例程管理

一、关闭例程
4种模式
正常关闭        shutdown normal
事务性关闭        transactional
立即            immediate
中止退出            abort(不做检查点,可能会丢数据,不建议)

二、启动
3个阶段
1    例程启动(nomount)
需要读初始化文件
只能访问一部分动态性能视图(内容来自内存)
2    加载数据库(mount)
需要访问控制文件
可以访问所有的动态性能视图
3    打开数据库(open)
需要访问联机redo log文件和数据文件
可以访问所有的文件

4    以只读方式打开数据库    startup open read only(mount状态,alter database open read only)
select name,open_mode from v$database;
5    以受限模式打开数据库,维护模式维护人员可连接    startup restrict(alter system enable/disable restricted session)
rovoke/grant    restricted session to <user>;
6    记录ddl语句
xml    /u01/app/oracle/diag/rdms/db12c/db12c/log/ddl
文本文件    /u01/app/oracle/diag/rdms/db12c/db12c/log
跟踪DDL语句,XML DDL log,Text DDL
7    常用查看警告日志文件的方法
adrci命令
show alert -tail 30

三、例程配置
1    初始化参数文件,优先用二进制文件
1)文本文件    pfile    init<sid>.ora    ---initdb12c.ora
2)二进制文件    spfile    spfile<sid>.ora    ---spfiledb12c.ora

2    查看初始化参数(show parameter)
3    了解初始化参数的含义
4    修改初始化参数
scope语句
1)    memory
2)    spfile
3)    both

对于spfile,默认值是both
对于pfile,默认值是memory

5    将初始化参数还原成默认值
6    修复错误的初始化参数:根据spfile创建一个pfile(create pfile from spfile)
7    初始化错误,查看警告日志
8    根据pfile创建spfile(create spfile from pfile)
9    例程启动时选择初始化参数文件的顺序startup
1)    spfile<sid>.ora
2)    spfile.ora
3)    init<sid>.ora
10    利用指定的初始化参数启动


11    结果集缓存(11g以后)
result_cache_mode:off/manual/force

12    列式存储
set autot on
inmemory
13    整库(强制)缓存
v$database    force_full_db_caching
alter database (no) force full database caching

create table t1 pctfree 99 pctused 1 as select * from dba_objects;
exec dbms_stats.gather_table_status('sys','t1');
查看该表的数据块总数和OBJECT_ID
select count(distinct(dbms_rowid.rowid_bloack_number(rowid))) bloacks from t1;
select object_id from dba_objects where object_name='t1' and owner='sys';
select count(*) from v$bh where objd= ;
alter database force full database caching;(mount)

14    ADR(自动诊断资料档案库)
命令行:adrci

ips create package

select name from v$datafile

警告日志:重大的数据库事件、内部错误、数据坏块、死锁

15    后台进程跟踪文件trace file
16    用户进程跟踪文件
desc dbms_system
select sid,serial# from v$session where USERNAME='scott';
exec dbms_system.set_sql_trace_in_session(sid,serial#,true);
exec dbms_system.set_sql_trace_in_session(sid,serial#,false);

select s.sid,s.serial#,s.username,p.spid,from v$session s,v$process p
where s.paddr=p.addr and s.username='scott';

使用tkprof工具将.trc文件转换成易懂的文本文件
tkprof /u01/app/oracle/diag/rdbms/orc12c/orc12c/trace/orc12c_ora_11582.trc /u01/demo/trace01.txt sys=no

11582
语句执行的阶段:PRS、exe、fch

 

四、手工创建数据库
1    S
2    创建/编辑 一个初始化参数文件
3    创建相应的目录结构 mkdir -p
4    启动例程
5    执行创建数据库的语句

6    创建数据字典
    $ORACLE_HOME/rdbms/admin
    调用脚本@?/rdbms/admin/catalog
7    创建口令验证文件
orapwd file=orapwssales password=admin@123
8    创建spfile
create spfile from pfile
shutdown immediate
9    创建oracle的内部包
    @?/rdbms/admin/catproc.sql
10    创建scott方案
    @?/rdbms/admin/utlsampl
11    加载用户概要文件信息(@?/sqlplus/admin/pupbld.sql)
conn system/manager(alter user system identified by xxxx)
12    配置监听器(服务器端)和服务名(客户端)
    动态注册、静态注册listener.ora
    netmgr配置
13    配置EM Express
select dbms_xdb.sethttpport from dual;
execute dbms_xdb.sethttpport(9876);
http://192.168.23.120:9876

五、管理控制文件
1    控制文件的作用——instance与database的控制关系
2    控制文件的内容
3    查看控制文件的名称和内容
oradebug
4    控制文件的多路复用

alter system set control_files=路径 scope=spfile

5    重建控制文件
练习:
1    查看控制文件的位置和名称
select name from v$controlfile;
2    查看控制文件的内容
oradebug setmypid
oradebug tracefile_name
3    控制文件的多路复用
alter system set control_files='/u01/app/oracle/oradata/sales/control01.ctl','/u01/app/oracle/recovery_area/sales/control02.ctl','/u01/demo/control03.ctl' scope=spfile;

cp /u01/app/oracle/oradata/sales/control01.ctl /u01/demo/control03.ctl
4    重建控制文件
alter database backup controlfile to trace as 'u01/demo/create_controlf.sql';

shutdown
rm 3个控制文件

startup

CREATE CONTROLFILE REUSE DATABASE "SALES" NORESETLOGS  NOARCHIVELOG
    MAXLOGFILES 16
    MAXLOGMEMBERS 2
    MAXDATAFILES 30
    MAXINSTANCES 1
    MAXLOGHISTORY 292
LOGFILE
  GROUP 1 '/u01/app/oracle/oradata/sales/redo01.log'  SIZE 10M BLOCKSIZE 512,
  GROUP 2 '/u01/app/oracle/oradata/sales/redo02.log'  SIZE 10M BLOCKSIZE 512,
  GROUP 3 '/u01/app/oracle/oradata/sales/redo03.log'  SIZE 10M BLOCKSIZE 512
-- STANDBY LOGFILE
DATAFILE
  '/u01/app/oracle/oradata/sales/system01.dbf',
  '/u01/app/oracle/oradata/sales/sysaux01.dbf',
  '/u01/app/oracle/oradata/sales/undotbs01.dbf'
CHARACTER SET US7ASCII
;

select status from v$instance;

 

create database sales
datafile '/u01/app/oracle/oradata/sales/system01.dbf' size 400m
sysaux datafile '/u01/app/oracle/oradata/sales/sysaux01.dbf' size 400m
undo tablespace undotbs1 datafile '/u01/app/oracle/oradata/sales/undotbs01.dbf' size 50m
default temporary tablespace temp tempfile '/u01/app/oracle/oradata/sales/temp01.dbf' size 50m
logfile
group 1 ('/u01/app/oracle/oradata/sales/redo01.log') size 10m,
group 2 ('/u01/app/oracle/oradata/sales/redo02.log') size 10m,
group 3 ('/u01/app/oracle/oradata/sales/redo03.log') size 10m;

/u01/app/oracle/admin/sales/adump
/u01/app/oracle/oradata/sales
/u01/app/oracle/recovery_area/sales

创建默认表空间:
system
sysaux
undo tablespace
:1,$ s/orc12c/sales_lsx/g

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值