手动建库:

找到官方文档,打开主索引

找到管理--create database

停止现有的数据库,释放内存

1.设置环境变量--ORACLE_SID

2.建立密码文件

3.建立文本的参数文件

4.建立二进制参数文件

5.建立参数文件中描述的路径

6.启动数据库到nomount

7.create database...

8.运行脚本: @$ORACLE_HOME/rdbms/admin/catalog 建立数据字典

@$ORACLE_HOME/rdbms/admin/catproc 建立应用的包

9.建立示例方案

conn system/abr/>@$ORACLE_HOME/sqlplus/admin/pupbld

conn / as sysdba

@$ORACLE_HOME/rdbms/admin/utlsampl.sql

打开官方文档

Supporting Documentation

Administratior's Guide

2 creating and configuring an Oracle Database

第三项:Creating a Database with the CREATE DATABASE Statement

Step 9: Issue the CREATE DATABASE Statement

1.关闭其他所有的数据库。

2.建立新数据库(yy)的密码文件

ORACLE用户执行

cd $ORACLE_HOME/dbs

rapwd file=orapwyy password=a

3.建立文本的参数文件

strings spfileqq.ora (找一个已经存在的参数文件,将内容粘贴修改即可)

修改对应的数据库名和文件路径。

具体见本文档下第3步详情。

4.设置环境变量:ORACLE_SID=yy

export ORACLE_SID=yy

5.建立二进制参数文件

conn / as sysdba

create spfile from pfile;

6.建立参数文件中描述的路径

cd /u01/app/oracle/admin

cp -r qq yy 进入到该目录下将qq目录复制重命名为yy

建立数据文件存放目录

cd /u01/app/oracle/oradata

mkdir yy

7.修改官方文档的手动建库脚本,改数据库名,路径,密码等。

具体见本文下面第7步详情

8.启动数据库到nomount,启动数据库到nomount阶段会写日志到$ORACLE_BASE/admin/实例名/adump目录

startup

报205错误

运行第7步修改后的 create database脚本创建数据库。

脚本执行完毕后数据库创建完成,建成一个裸库,没有数据字典

9.运行脚本: @$ORACLE_HOME/rdbms/admin/catalog 建立数据字典

@$ORACLE_HOME/rdbms/admin/catproc 建立应用的包

第3步详情:

.audit_file_dest='/u01/app/oracle/admin/yy/adump'.audit_trail='db'

.compatible='11.2.0.0.0'.control_files='/u01/app/oracle/oradata/yy/control01.ctl','/u01/app/oracle/oradata/yy/control02.ctl'

.db_block_size=8192.db_domain=''

.db_name='yy'.diagnostic_dest='/u01/app/oracle'

.open_cursors=300.pga_aggregate_target=308281344

.processes=150.remote_login_passwordfile='EXCLUSIVE'

.sga_target=924844032.undo_tablespace='UNDOTBS1'

第7步详情:

CREATE DATABASE yy

USER SYS IDENTIFIED BY a

USER SYSTEM IDENTIFIED BY a

LOGFILE GROUP 1 ('/u01/app/oracle/oradata/yy/redo01.log') SIZE 20M,

GROUP 2 ('/u01/app/oracle/oradata/yy/redo02.log') SIZE 20M,

GROUP 3 ('/u01/app/oracle/oradata/yy/redo03.log') SIZE 20M

CHARACTER SET US7ASCII

NATIONAL CHARACTER SET AL16UTF16

EXTENT MANAGEMENT LOCAL

DATAFILE '/u01/app/oracle/oradata/yy/system01.dbf' SIZE 325M REUSE

SYSAUX DATAFILE '/u01/app/oracle/oradata/yy/sysaux01.dbf' SIZE 325M REUSE

DEFAULT TABLESPACE users

DATAFILE '/u01/app/oracle/oradata/yy/users01.dbf'

SIZE 500M REUSE AUTOEXTEND ON MAXSIZE UNLIMITED

DEFAULT TEMPORARY TABLESPACE tempts1

TEMPFILE '/u01/app/oracle/oradata/yy/temp01.dbf'

SIZE 20M REUSE

UNDO TABLESPACE undotbs1

DATAFILE '/u01/app/oracle/oradata/yy/undotbs01.dbf'

SIZE 200M REUSE AUTOEXTEND ON MAXSIZE UNLIMITED;

实验2:掌握数据库启动3阶段

删除yy数据库的参数文件,将yy数据库的控制文件、数据文件、日志文件移动到其他位置。

原来的目录 $ORACLE_BASE/oradata/yy 新的目录:$ORACLE_BASE/oradata/tt

1.查看数据库位置

select name from v$datafile

union all

select name from v$controlfile

union all

select name from v$tempfile

union all

select member from v$logfile;

路径:/u01/app/oracle/oradata/tt/

2.关闭数据库

shutdown immediate;

3.删除数据库的参数文件,将数据库的数据文件、日志文件、控制文件移动到其他目录。

cd $ORACLE_HOME/dbs

rm -rf inityy.ora

rm -rf spfileyy.ora

cd $ORACLE_BASE/oradata

mv yy tt

4.指定实例名,启动数据库

startup

报错:ORA-01078找不到参数文件

根据 /u01/app/oracle/diag/rdbms/yy/yy/trace下的log文件创建新的参数文件。

cd $ORACLE_HOME/dbs

vi inityy.ora 将刚才所看log文件的以下部分粘贴到该文本中,保存退出。

processes = 150

sga_target = 884M

control_files = "/u01/app/oracle/oradata/yy/control01.ctl"

control_files = "/u01/app/oracle/oradata/yy/control02.ctl"

db_block_size = 8192

compatible = "11.2.0.0.0"

undo_tablespace = "UNDOTBS1"

remote_login_passwordfile= "EXCLUSIVE"

db_domain = ""

audit_file_dest = "/u01/app/oracle/admin/yy/adump"

audit_trail = "DB"

db_name = "yy"

open_cursors = 300

pga_aggregate_target = 294M

diagnostic_dest = "/u01/app/oracle"

注:该步骤说明在数据库启动到numount阶段就需要参数文件。

5.在第四步创建好文本参数文件后,以SYS身份连接到数据库,创建二进制参数文件,启动数据库。

export ORACLE_SID=yy

sqlplus / as sysdba

create spfile from pfile;

startup

报错:ORA-00205 控制文件错误

查看数据库的状态:数据库处于STARTED状态。

该步骤说明:在启动到nomount阶段时,只要参数文件无误即可。

在mount数据库时,需要用到控制文件。

6.修改参数文件中控制文件的位置:

alter system set control_files='/u01/app/oracle/oradata/tt/control01.ctl',

'/u01/app/oracle/oradata/tt/control02.ctl' scope=spfile;

7.上一步修改完成后关闭数据库,再次启动。

shutdown abort;

startup nomount; 成功

alter database mount; 成功

alter database opne; 报错

报错:ORA-01157不能找到数据文件,原因是数据文件已经被移动到其他路径。

8.修改数据库,重新指定数据库的数据文件的位置:(所有的数据文件和日志文件均要执行,可以写脚本来完成)

alter database rename file '/u01/app/oracle/oradata/tt/undotbs01.dbf'

to'/u01/app/oracle/oradata/yy/undotbs01.dbf';

9.重新指定路径成功后打开数据库

alter database open;

dump目录/u01/app/oracle/diag/rdbms/yy/yy/trace

修改参数control_files=新路径

启动数据库 mount成功 open报错

修改数据文件,临时文件,数据文件

/u01/app/oracle/oradata/rr/control01.ctl

/u01/app/oracle/oradata/rr/control01.ctl

select 'alter database rename file '''||name||''''||chr(10)||' to''' ||

replace(name,'tt','yy')||''';' from v$datafile

union all

select 'alter database rename file '''||name||''''||chr(10)||' to''' ||

replace(name,'tt','yy')||''';' from v$tempfile

union all

select 'alter database rename file '''||member||''''||chr(10)||' to''' ||

replace(member,'tt','yy')||''';' from v$logfile ;

select 'alter database rename file '''||name||''''||chr(10)||' to '''||

'/newdb'||substr(name,instr(name,'/',-1))||';' from v$datafile;

段 segment

范围 extend

一次分配的,连续的,ORACLE块

一个段最少有一个范围,可以有很多个范围

范围有3种模式

1.建立对象时,分配的叫做初始范围

2.数据增长时,分配额外的范围

3.手工分配范围

conn / as sysdba

grant select any dictionary to scott

conn scott/tiger

select from dba_free_space where tablespace_name='USERS';

2.create table t1 as select from emp;

create table t2 as select from emp;

3.select extent_id,file_id,block_id,blocks from dba_extents

where segment_name='T1';

4.insert into t1 select from t1;

insert into t2 select * from t2;

select extent_id,file_id,block_id,blocks from dba_extents

where segment_name='T1';

select extent_id,file_id,block_id,blocks from dba_extents

where segment_name='T2';

手动分配空间:

alter table t1 allocate extent; 不指定大小,系统根据表已有大小分配。

alter table t1 allocate extent(size 2G); 指定大小

块 block

SET LONG 1000

SQL> SELECT DBMS_METADATA.GET_DDL('TABLE','T2') FROM DUAL;

CREATE TABLE T1 SEGMENT CREATION IMMEDIATE AS SELECT * FROM EMP where 0=9;

SHOW PARAMETER SEGMENT

ALTER SYSTEM SET deferred_segment_creation=FALSE;

范围回收3模式

1.手工回收未使用的范围(崭新的)

alter table t1 allocate extent(size 10m);

alter table t1 deallocate unused;

tabs=user_tables

select table_name,initial_extent from tabs where table_name='T2';

create table t2 storage(initial 1m) as select * from emp;

2.truncate table t1;(保留初始范围)

3.drop table t1 purge;(彻底删除空间)

alter table t2 allocate extent(size 10m);

select extent_id,file_id,block_id,blocks from dba_extents

where segment_name='T2';

DELETE

1.DML

2.产生大量的回退

3.产生大量日志

4.可以rollback

5.手工commit;

6.不回收空间

7.不回收高水位

8.可以有条件删除

TRUNCATE

1.DDL

2.产生少的回退

3.产生少量日志

4.不可以rollback

5.自动commit;

6.回收空间

7.回收高水位

8.不可以有条件删除

show parameter rec

alter system set recyclebin=off scope=spfile;

块:

数据库存储的基本空间,默认是8K,建库时指定

rowid行标识

是根据数据存在的位置计算出来的

18位64进制字符串

AAASdN AAE AAAACr AAA

对象 文件 块 行

select rowid,ename,dbms_rowid.rowid_block_number(rowid) block# from emp;

ROWID_BLOCK_NUMBER

ROWID_OBJECT

ROWID_RELATIVE_FNO

ROWID_ROW_NUMBER

select rowid,ename,dbms_rowid.rowid_block_number(rowid) a,

dbms_rowid.ROWID_OBJECT(rowid) o,

dbms_rowid.ROWID_RELATIVE_FNO(rowid) f,

dbms_rowid.ROWID_ROW_NUMBER(rowid) r from emp;

select dbms_rowid.rowid_create(0,75335,4,151,0),

dbms_rowid.rowid_create(1,75335,4,151,0) from dual;

conn scott/123456;

drop table t1 purge;

create table t1 as select from emp;

insert into t1 select from emp where deptno=10;

commit;

select ename,sal from t1 order by 1;

delete from t1 wai where rowid

ERROR:

ORA-09925: Unable to create audit trail file

Linux-x86_64 Error: 2: No such file or directory

Additional information: 9925

ORA-01075: you are currently logged on

oracle证书洛阳,ORACLE手工建库相关推荐

  1. oracle手工建库窍门,Oracle手工建库教程

    Oracle手工建库教程 发布时间:2020-05-23 11:45:00 来源:亿速云 阅读:156 作者:鸽子 系统环境: 操作系统: RedHat EL6 Oracle:  Oracle 10g ...

  2. Oracle手工建库

    环境准备 手工建库的前提是ORACLE软件已经正确安装到操作系统中,只是需要我们利用ORACLE软件提供的一些工具和脚本来创建一个数据库,创建这个数据库可以运行DBCA工具图形化创建,也可以使用CRE ...

  3. t oracle删除吗,Oracle 11g 手工建库与删库

    Oracle 11g 手工建库与删库 在前一篇文章中提到阅读Oracle 11gR2 Administrator's Guide(文档编号E25494-01)时,简单描述了DDL_LOCK_TIMEO ...

  4. oracle 9i 手工建库,简单记录Oracle 9i数据库手工建库过程

    简单记录Oracle 9i数据库手工建库过程Oracle 9i手工建库 By Oracle老菜 今天客户要用oracle 9.2.0.5,aix 6.1已经不支持了,只好从别的数据库把软件拷贝过来重编 ...

  5. oracle 建库,Oracle手工建库步骤

    Oracle手工建库步骤,创建数据库所需的目录,包括数据文件存放目录,日志存放目录,归档存放目录等,开始执行create database 命 Oracle手工建库步骤: 1.创建数据库所需的目录,包 ...

  6. oracle手动 建库_Oracle 手工建库步骤

    可参考官方文档操作 管理员指南创建并配置数据库 使用建库语句创建数据库 1-14为官方文档手工建库步骤,9为建库语句 步骤1:指定实例标识符(SID) 步骤2:确保设置了所需的环境变量 第3步:选择数 ...

  7. oracle 手工建库 图文,Oracle手工建库

    一般都是使用dbca建库的,但是练习使用手工建库,可以让我们更深入了解Oracle数据库创建过程所做的详细工作,让我们可以更深刻理解Oracle数据库的文件结构.好了话不多说了,现在开始吧! 创建数据 ...

  8. oracle 手工建库 图文,图文并茂——Oracle 10g手工建库

    Oracle 10g数据库软件的安装,我们已经都非常熟悉了,今天让我们来演示Linux平台下的手工建库环节,首先用我们的oracle帐户登录系统,将目录切换至$ORACLE_HOME/dbs目录,并启 ...

  9. linux的oracle怎么建库,linux下oracle手工建库过程

    1.创建目录 $ORACLE_BASE/admin/ $ORACLE_BASE/oradata $ORACLE_BASE/flash_recovery_area 2.建初始化参数文件 cd   $OR ...

最新文章

  1. Hadoop Backup Node
  2. 在 win10 环境下,设置自己写的 程序 开机自动 启动的方法
  3. 如何在Linux中恢复一个删除了的文件
  4. html get请求_99% 的人都理解错了 HTTP 中 GET 与 POST 的区别【面试必问】
  5. 特斯拉车顶维权女车主称被恐吓 将公布特斯拉提供的不完整数据
  6. php投票的进度条,小程序实现投票进度条
  7. 二进制安装 kubernetes 1.12(四) - 部署 Node 节点组件
  8. Ilist 和list的区别归纳总结
  9. PCL:RANSAC 空间直线拟合
  10. python批量获取百度贴吧_python网络爬虫案例:批量爬取百度贴吧页面数据
  11. Q116:PBRT-V3场景描述文件.pbrt格式解析
  12. Git和码云项目平台使用文档
  13. 项目实战-电商(网上书城)
  14. 章鱼网络应用链|为什么 DEIP 会选择章鱼网络?
  15. 计算机每天早上自动开机,win10设置每天自动开机(电脑可以设置自动开机时间)...
  16. 如何解决VS下载速度慢
  17. 大数据Hadoop之——EFAK和Confluent KSQL简单使用(kafka listeners 和 advertised.listeners)
  18. 沈航数值-17-18年A-有答案
  19. PS2021中文汉化版软件安装教程
  20. java75-GUL文本框和标签

热门文章

  1. 名校教授:把研究生扔到河里,游过去的就成为博士
  2. 杨辉再发声明:承认听取付向东报告后受其“鼓舞”,为没及时沟通向其致歉...
  3. 西南联大数学名师的“治学经验之谈”及启示
  4. 加州理工学院对高超声速飞行的早期研究
  5. 学习人工智能不走捷径,走大道的方式
  6. 再看那个用代码把人类送上月球的女人——Margaret Hamilton
  7. 小米平板android最新版本,想要翻身还需努力 小米平板2安卓版评测
  8. 3w最简单led灯电路图_Mixly 第19课 光感应灯——光敏电阻使用
  9. Java 调用 Impala - JDBC 调用Impala
  10. 计算图像的直方图,求峰值点