简便实现Oracle数据库文件移动方法数据库教程

时间:2023年06月25日

/

来源:Jingle

/

编辑:本站小编

收藏本文

下载本文

下面是小编为大家整理的简便实现Oracle数据库文件移动方法数据库教程,本文共7篇,仅供参考,喜欢可以收藏与分享哟!本文原稿由网友“Jingle”提供。

篇1:简便实现Oracle数据库文件移动方法数据库教程

oracle|数据|数据库

Oracle数据库在使用过程中,随着数据的增加数据库文件也逐渐增加,在达到一定大小后有可能会造成硬盘空间不足;那么这时我们可以把数据库文件移动到另一个大的硬盘分区中,

简便实现Oracle数据库文件移动方法数据库教程

。下面我就以Oracle for Windows版本中把C盘的数据库文件移动到D盘为例介绍Oracle数据库文件移动的方法和步骤。

1.在sqlplus中连接到要移动文件的Oracle数据库,然后执行如下SQL语句查看Oracle数据库文件位置:

SQL>select file_name from sys.dba_data_files;FILE_NAME--------------------------------------------------------------C:\\ORA8\\ORADATA\\ORACLE\\USERS01.DBFC:\\ORA8\\ORADATA\\ORACLE\\DR01.DBFC:\\ORA8\\ORADATA\\ORACLE\\TOOLS01.DBFC:\\ORA8\\ORADATA\\ORACLE\\INDX01.DBFC:\\ORA8\\ORADATA\\ORACLE\\RBS01.DBFC:\\ORA8\\ORADATA\\ORACLE\\TEMP01.DBFC:\\ORA8\\ORADATA\\ORACLE\\SYSTEM01.DBF

查询到7记录.

记录要移动的文件的位置和名称。

2.下面我们以把文件“C:\\ORA8\\ORADATA\\ORACLE\\USERS01.DBF”移动到“D:\\ORADATA\\USERS01.DBF”为例介绍,要移动其它文件,请安相同的方法(根据实际情况修改文件路径和名称)操作即可,

<1>首先让所有的用户停止连接该数据库,关闭数据库。在命令行窗口中输入:

C:\\svrmgrl(回车)SVRMGR>connect internal(回车)SVRMGR>shutdown immediate(回车)#等待数据库提示关闭SVRMGR>exit

<2>从“C:\\ORA8\\ORADATA\\ORACLE\”目录下找到文件“USERS01.DBF”,然后复制到目录“D:\\ORADATA\”下面。如果移动多个文件,重复该步骤。

<3>进入命令窗口,按以下内容输入:

C:\\svrmgrl(回车)

SVRMGR>connect internal(回车)

SVRMGR>startup mount(回车)

#等待数据库提示装载成功

SVRMGR>alter database rename file 'C:\\ORA8\\ORADATA\\ORACLE\\USERS01.DBF' to 'D:\\ORADATA\\USERS01.DBF';

#提示语句已处理后,如果要移动多个文件,修改文件路径和名称后重复执行上面的语句。完成后打开数据库。

SVRMGR>alter database open;

SVRMGR>exit

数据库文件移动成功。

篇2:在移动数据库文件之前使用spdetachdb / spattachdb数据库教程

经常更新和优化的数据库可以以更快的速度运行,然而,将数据库直接从一个比较小的磁盘转移到另一个比较大的磁盘,这样的想法是不可能实现的。在转移数据库之前,你必须将数据库断开所有的操作。使用sp_detach_db存储程序可以将数据库从SQL Server 分离开来,从而达到数据库的离线操作。同样可以运行另一个存储程序sp_attach_db将数据库重新连接。

Sp_detach_db是一个功能强大的存储程序,它只能由系统管理人员运行。除了具备“分离”功能之外,这一程序在分离数据库之前也自动运行所有表的UPDATE STATISTICS,

以下的范例分离了MyDatabase数据库:

EXEC sp_detach_db 'MyDatabase'

现在可以转移我们的数据库到一个新的磁盘并重新连接它们。连接数据库操作可能比较复杂,除了提供数据库名称,你可以选择SQL Server数据库文件的位置。

在以下的范例中,我们可以从一个新位置D:\\AnyFolder\\:重新连接数据库。

execsp_attach_db 'MyDatabase',

@filename1='D:\\AnyFolder\\MyDatabase_Data.MDF',

@filename2='D:\\AnyFolder\\MyDatabase_Log.LDF'

篇3:实现Oracle数据库复制数据库

我们经常希望把各地的数据入库后进行统一的应用,现在可以用复制技术来解决这个问题。但实现数据库复制也是要有一些条件的。 首先,数据库要具备高级复制功能(用system身份登录数据库,查看v$option视图,如果其中Advanced replication为TRUE,则支持高级复

我们经常希望把各地的数据入库后进行统一的应用。现在可以用复制技术来解决这个问题。但实现数据库复制也是要有一些条件的。

首先,数据库要具备高级复制功能(用system身份登录数据库,查看v$option视图,如果其中Advanced replication为TRUE,则支持高级复制功能;否则不支持)。

如果具备高级复制功能,数据库要进行一些参数初始化。

db_domain = test.com.cn 指明数据库的域名(默认的是WORLD),这里可以用您公司的域名;global_names = true 它要求数据库链接(database link)和被连接的数据库名称一致,现在全局数据库名:db_name+”.”+db_domain ;

跟数据库job执行有关的参数:

job_queue_processes = 1;

job_queue_interval = 60;

distributed_transactions = 10;

open_links = 4

第一行定义SNP进程的启动个数为n。系统缺省值为0,正常定义范围为0~36,根据任务的多少,可以配置不同的数值。第二行定义系统每隔N秒唤醒该进程一次。系统缺省值为60秒,正常范围为1~3600秒。事实上,该进程执行完当前任务后,就进入睡眠状态,睡眠一段时间后,由系统的总控负责将其唤醒。如果修改了以上这几个参数,需要重新启动数据库以使参数生效。

做完了初步的准备,我们来实现数据库同步复制。

假设在Inte.net上有两个数据库:一个叫中国(China),一个叫日本(Japan)。

具体配置如下:

数据库名:China、Japan

数据库域名 test.com.cn

数据库sid号 China、Japan

Listener端口号 1521

服务器ip地址 10.1.0.100 10.1.0.200

确认两个数据库之间可以互相访问,在tnsnames.ora里设置数据库连接字符串。

中国这边的数据库连接字符串是以下的格式:

Japan =

(DESCRIPTION =

(ADDRESS_LIST =

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

)

(CONNECT_DATA =

(SERVICE_NAME = Japan)

)

)

运行$tnsping Japan,出现以下提示符:

Attempting to contact (ADDRESS=(PROTOCOL=TCP)(HOST=10.1.1.200)(PORT=1521))

OK(n毫秒)

表明中国数据库可以访问日本数据库。在日本那边也同样配置,确认$tnsping China 是通的。

改数据库全局名称,建公共的数据库链接。

用system身份登录China数据库

SQL>alter database rename global_name to China.test.com.cn;

用system身份登录Japan数据库:

SQL>alter database rename global_name to Japan.test.com.cn;

用system身份登录China数据库。

SQL>create public database link Japan.test.com.cn using 'Japan';

测试数据库全局名称和公共的数据库链接。

SQL>select * from global_name@Japan.test.com.cn;

返回结果为Japan.test.com.cn就对了。

用system身份登录Japan数据库:

SQL>create public database link China.test.com.cn using 'China';

测试数据库全局名称和公共的数据库链接。

SQL>select * from global_name@China.test.com.cn;

返回结果为China.test.com.cn就对了。

建立管理数据库复制的用户repadmin,并赋权,

用system身份登录China数据库:

SQL>create user repadmin identified by repadmin default tablespace users temporary tablespace temp;

SQL>execute dbms_defer_sys.register_propagator('repadmin');

SQL>grantexecute any procedure to repadmin;

SQL>execute dbms_repcat_admin.grant_admin_any_repgroup('repadmin');

SQL>grant comment any table to repadmin;

SQL>grant lock any table to repadmin;

同样用system身份登录Japan数据库,运行以上的命令,管理数据库复制的用户repadmin,并赋权。

在数据库复制的用户repadmin下创建私有的数据库链接。

用repadmin身份登录China数据库。

SQL>create database link Japan.test.com.cn connect to repadmin identified

在Japan数据库那边同样运行以上①,②,③。

在Japan数据库scott用户下创建主关键字的序列号,范围避免和China的冲突。

SQL>create sequence dept_no increment by 1 start with 45 maxvalue 99 cycle nocache;

在Japan数据库scott用户下插入初始化数据。

SQL>insert into dept values (dept_no.nextval,'sales','chicago');

SQL>insert into dept values (dept_no.nextval,'operations','boston');

SQL>commit;

创建要复制的组scott_mg,加入数据库对象,产生对象的复制支持。

用repadmin身份登录China数据库,创建主复制组scott_mg:

SQL>execute dbms_repcat.create_master_repgroup('scott_mg');

在复制组scott_mg里加入数据库对象:

SQL>execute dbms_repcat.create_master_repobject(sname=>'scott',oname=>'dept', type=>'table',use_existing_object=>true,gname=>'scott_mg');

参数说明:

sname 实现数据库复制的用户名称;

oname 实现数据库复制的数据库对象名称;

type 实现数据库复制的数据库对象类别;

use_existing_object true表示用主复制节点已经存在的数据库对象;

gname 主复制组名;

对数据库对象产生复制支持:

SQL>execute dbms_repcat.generate_replication_support('scott','dept','table');

确认复制的组和对象已经加入数据库的数据字典:

SQL>select gname, master, status from dba_repgroup;

SQL>select * from dba_repobject;

创建主复制节点:

用repadmin身份登录China数据库,创建主复制节点:

SQL>execute dbms_repcat.add_master_database

(gname=>'scott_mg',master=>'Japan.test.com.cn', use_existing_objects=>true, copy_rows=>false, propagation_mode =>'asynchronous');

参数说明:

gname 主复制组名;

master 加入主复制节点的另一个数据库;

use_existing_object true表示用主复制节点已经存在的数据库对象;

copy_rows false表示第一次开始复制时不用和主复制节点保持一致;

propagation_mode 异步地执行;

确认复制的任务队列已经加入数据库的数据字典:

SQL>select * from user_jobs;

使同步组的状态由停顿(quiesced )改为正常(normal):

用repa

原文转自:www.ltesting.net

篇4:Oracle 9i 约束条件数据库教程

约束条件就是Oracle数据库系统提供的对数据的完整性进行制约的机制,

Oracle 9i 约束条件数据库教程

。Oracle 9i允许创建5种约束条件。参见表7.8。

创建检查约束条件

(1)在【管理目标导航器】中按照7.6节修改数据表结构的步骤进行操作。

(2)切换到图7.61所示的编辑表的【约束条件】选项卡。

(3)上述创建检查约束条件的SQL码如下?br>    DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD

ALTER TABLE “SCOTT”.“STUDENT”

ADD (CONSTRAINT “研究生编号检查约束条件”

CHECK(student_id>= and student_id<=0909))

DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD

【参见光盘文件】:\\第7章\\ createcheck.sql。

(4)读者也可以直接在【SQLPlus Worksheet】中执行createcheck.sql 文件完成检查约束条件的创建,如图7.62所示,

测试检查约束条件

(1)在7.63所示的【表数据编辑器】界面中按照图示内容输入,单击“应用(P)”按钮。

(2)上述输入数据的SQL代码如下。

DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD

INSERT INTO “SCOTT”.“STUDENT”

(“STUDENT_ID” ,“NAME” ,“PROFESSIONAL” ,“BIRTHDAY” ,“DIRECTOR_ID” )

VALUES (20010101 ,'纪晓芙' ,'软件工程' ,TO_DATE('15-7月 -1971', 'dd-Mon-yyyy HH:MI:SS AM') ,01)

DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD

【参见光盘文件】:\\第7章\\ testcheck.sql。

(3)出现如图7.64所示界面。

(4)读者也可以直接在【SQLPlus Worksheet】中执行testcheck.sql 文件完成检查约束条件的测试,结果如图7.65所示。

篇5:删除Oracle 9i数据库数据库教程

(1)启动【数据库配置助手】,一直到出现如图6.44所示的【操作】界面,

删除Oracle 9i数据库数据库教程

(2)出现如图6.45所示的【数据库】界面,

(3)出现如图6.46所示的【概要】界面。

(4)出现如图6.47所示的【删除确认】界面。

(5)成功删除数据库后出现如图6.48所示的【成功境】界面。单击“否”按钮?br>

篇6:最简便的备份MySql数据库方法数据库教程

mysql|备份|数据|数据库

使用MYSQL进行数据库备份,又很正规的数据库备份方法,同其他的数据库服务器有相同的概念,但有没有想过,MySQL会有更简捷的使用文件目录的备份方法,而且又快有好,

最简便的备份MySql数据库方法数据库教程

一、数据备份捷径

因为这个方法没有得到官方正式文档的验证,我们暂称为试验吧。

目的:备份hostA主机中一个mysql数据库TestA,并恢复到到hostB机中

试验环境:

操作系统:WinNT4.0,Mysql3.22.34,phpMyAdmin 2.1.0

在hostA中安装mysql数据库并建立TestA数据库

hostB机安装mysql数据库,没有TestA数据库

方法步骤:

启动phpMyAdmin察看HostA和HostB中的数据库列表,在HostB中没有TestA数据库

找到HostA中mysql的安装目录,并找到数据库目录data

在我的试验环境中,这个目录是

C:mysqldata

找到对应数据库名称的子目录

C:mysqldataTestA

粘贴拷贝到HostB的Data目录下,是HostA同HostB Mysql数据目录下的文件相同

刷新HostB的phpMyAdmin察看一下数据库列表,我们看到TestA已经出现,并且作查询修改等操作都正常,备份恢复恢复成功

试验结论:Mysql的数据库可以通过文件形式保存,备份,恢复只要将相应文件目录恢复即可,无需使用其它工具备份。

二、正规的方法(官方建议):

导出要用到MySQL的mysqldump工具,基本用法是:

mysqldump [OPTIONS] database [tables]

如果你不给定任何表,整个数据库将被导出。

通过执行mysqldump --help,你能得到你mysqldump的版本支持的选项表。

注意,如果你运行mysqldump没有--quick或--opt选项,mysqldump将在导出结果前装载整个结果集到内存中,如果你正在导出一个大的数据库,这将可能是一个问题。

mysqldump支持下列选项:

--add-locks

在每个表导出之前增加LOCK TABLES并且之后UNLOCK TABLE。(为了使得更快地插入到MySQL)。

--add-drop-table

在每个create语句之前增加一个drop table。

--allow-keywords

允许创建是关键词的列名字。这由在列名前面加表名的方法做到。

-c, --complete-insert

使用完整的insert语句(用列名字)。

-C, --compress

如果客户和服务器均支持压缩,压缩两者间所有的信息。

--delayed

用INSERT DELAYED命令插入行。

-e, --extended-insert

使用全新多行INSERT语法。(给出更紧缩并且更快的插入语句)

-#, --debug[=option_string]

跟踪程序的使用(为了调试)。

--help

显示一条帮助消息并且退出。

--fields-terminated-by=...

--fields-enclosed-by=...

--fields-optionally-enclosed-by=...

--fields-escaped-by=...

--fields-terminated-by=...

这些选择与-T选择一起使用,并且有相应的LOAD DATA INFILE子句相同的含义,

LOAD DATA INFILE语法。

-F, --flush-logs

在开始导出前,洗掉在MySQL服务器中的日志文件。

-f, --force,

即使我们在一个表导出期间得到一个SQL错误,继续。

-h, --host=..

从命名的主机上的MySQL服务器导出数据。缺省主机是localhost。

-l, --lock-tables.

为开始导出锁定所有表。

-t, --no-create-info

不写入表创建信息(CREATE TABLE语句)

-d, --no-data

不写入表的任何行信息。如果你只想得到一个表的结构的导出,这是很有用的!

--opt

同--quick --add-drop-table --add-locks --extended-insert --lock-tables。

应该给你为读入一个MySQL服务器的尽可能最快的导出。

-pyour_pass, --password[=your_pass]

与服务器连接时使用的口令。如果你不指定“=your_pass”部分,mysqldump需要来自终端的口令。

-P port_num, --port=port_num

与一台主机连接时使用的TCP/IP端口号。(这用于连接到localhost以外的主机,因为它使用 Unix套接字。)

-q, --quick

不缓冲查询,直接导出至stdout;使用mysql_use_result做它。

-S /path/to/socket, --socket=/path/to/socket

与localhost连接时(它是缺省主机)使用的套接字文件。

-T, --tab=path-to-some-directory

对于每个给定的表,创建一个table_name.sql文件,它包含SQL CREATE 命令,和一个table_name.txt文件,它包含数据。 注意:这只有在mysqldump运行在mysqld守护进程运行的同一台机器上的时候才工作。.txt文件的格式根据--fields-xxx和--lines--xxx选项来定。

-u user_name, --user=user_name

与服务器连接时,MySQL使用的用户名。缺省值是你的Unix登录名。

-O var=option, --set-variable var=option

设置一个变量的值。可能的变量被列在下面。

-v, --verbose

冗长模式。打印出程序所做的更多的信息。

-V, --version

打印版本信息并且退出。

-w, --where='where-condition'

只导出被选择了的记录;注意引号是强制的!

“--where=user='jimf'” “-wuserid>1” “-wuserid<1”

最常见的mysqldump使用可能制作整个数据库的一个备份:

mysqldump --opt database >backup-file.sql

但是它对用来自于一个数据库的信息充实另外一个MySQL数据库也是有用的:

mysqldump --opt database | mysql --host=remote-host -C database

由于mysqldump导出的是完整的SQL语句,所以用mysql客户程序很容易就能把数据导入了:

mysqladmin create target_db_name

mysql target_db_name < backup-file.sql

篇7:oracle里的常用命令数据库教程

oracle

第一章:日志管理

1.forcing log switches

sql>alter system switch logfile;

2.forcing checkpoints

sql>alter system checkpoint;

3.adding online redo log groups

sql>alter database add logfile [group 4]

sql>('/disk3/log4a.rdo','/disk4/log4b.rdo') size 1m;

4.adding online redo log members

sql>alter database add logfile member

sql>'/disk3/log1b.rdo' to group 1,

sql>'/disk4/log2b.rdo' to group 2;

5.changes the name of the online redo logfile

sql>alter database rename file 'c:/oracle/oradata/oradb/redo01.log'

sql>to 'c:/oracle/oradata/redo01.log';

6.drop online redo log groups

sql>alter database drop logfile group 3;

7.drop online redo log members

sql>alter database drop logfile member 'c:/oracle/oradata/redo01.log';

8.clearing online redo log files

sql>alter database clear [unarchived] logfile 'c:/oracle/log2a.rdo';

9.using logminer analyzing redo logfiles

a. in the init.ora specify utl_file_dir = ' '

b. sql>execute dbms_logmnr_d.build('oradb.ora','c:\\oracle\\oradb\\log');

c. sql>execute dbms_logmnr_add_logfile('c:\\oracle\\oradata\\oradb\\redo01.log',

sql>dbms_logmnr.new);

d. sql>execute dbms_logmnr.add_logfile('c:\\oracle\\oradata\\oradb\\redo02.log',

sql>dbms_logmnr.addfile);

e. sql>execute dbms_logmnr.start_logmnr(dictfilename=>'c:\\oracle\\oradb\\log\\oradb.ora');

f. sql>select * from v$logmnr_contents(v$logmnr_dictionary,v$logmnr_parameters

sql>v$logmnr_logs);

g. sql>execute dbms_logmnr.end_logmnr;

第二章:表空间管理

1.create tablespaces

sql>create tablespace tablespace_name datafile 'c:\\oracle\\oradata\\file1.dbf' size 100m,

sql>'c:\\oracle\\oradata\\file2.dbf' size 100m minimum extent 550k [logging/nologging]

sql>default storage (initial 500k next 500k maxextents 500 pctinccease 0)

sql>[online/offline] [permanent/temporary] [extent_management_clause]

2.locally managed tablespace

sql>create tablespace user_data datafile 'c:\\oracle\\oradata\\user_data01.dbf'

sql>size 500m extent management local uniform. size 10m;

3.temporary tablespace

sql>create temporary tablespace temp tempfile 'c:\\oracle\\oradata\\temp01.dbf'

sql>size 500m extent management local uniform. size 10m;

4.change the storage setting

sql>alter tablespace app_data minimum extent 2m;

sql>alter tablespace app_data default storage(initial 2m next 2m maxextents 999);

5.taking tablespace offline or online

sql>alter tablespace app_data offline;

sql>alter tablespace app_data online;

6.read_only tablespace

sql>alter tablespace app_data read only|write;

7.droping tablespace

sql>drop tablespace app_data including contents;

8.enableing automatic extension of data files

sql>alter tablespace app_data add datafile 'c:\\oracle\\oradata\\app_data01.dbf' size 200m

sql>autoextend on next 10m maxsize 500m;

9.change the size fo data files manually

sql>alter database datafile 'c:\\oracle\\oradata\\app_data.dbf' resize 200m;

10.Moving data files: alter tablespace

sql>alter tablespace app_data rename datafile 'c:\\oracle\\oradata\\app_data.dbf'

sql>to 'c:\\oracle\\app_data.dbf';

11.moving data files:alter database

sql>alter database rename file 'c:\\oracle\\oradata\\app_data.dbf'

sql>to 'c:\\oracle\\app_data.dbf';

第三章:表

1.create a table

sql>create table table_name (column datatype,column datatype]....)

sql>tablespace tablespace_name [pctfree integer] [pctused integer]

sql>[initrans integer] [maxtrans integer]

sql>storage(initial 200k next 200k pctincrease 0 maxextents 50)

sql>[logging|nologging] [cache|nocache]

2.copy an existing table

sql>create table table_name [logging|nologging] as subquery

3.create temporary table

sql>create global temporary table xay_temp as select * from xay;

on commit preserve rows/on commit delete rows

4.pctfree = (average row size - initial row size) *100 /average row size

pctused = 100-pctfree- (average row size*100/available data space)

5.change storage and block utilization parameter

sql>alter table table_name pctfree=30 pctused=50 storage(next 500k

sql>minextents 2 maxextents 100);

6.manually allocating extents

sql>alter table table_name allocate extent(size 500k datafile 'c:/oracle/data.dbf');

7.move tablespace

sql>alter table employee move tablespace users;

8.deallocate of unused space

sql>alter table table_name deallocate unused [keep integer]

9.truncate a table

sql>truncate table table_name;

10.drop a table

sql>drop table table_name [cascade constraints];

11.drop a column

sql>alter table table_name drop column comments cascade constraints checkpoint 1000;

alter table table_name drop columns continue;

12.mark a column as unused

sql>alter table table_name set unused column comments cascade constraints;

alter table table_name drop unused columns checkpoint 1000;

alter table orders drop columns continue checkpoint 1000

data_dictionary : dba_unused_col_tabs

第四章:索引

1.creating function-based indexes

sql>create index summit.item_quantity on summit.item(quantity-quantity_shipped);

2.create a B-tree index

sql>create [unique] index index_name on table_name(column,.. asc/desc) tablespace

sql>tablespace_name [pctfree integer] [initrans integer] [maxtrans integer]

sql>[logging | nologging] [nosort] storage(initial 200k next 200k pctincrease 0

sql>maxextents 50);

3.pctfree(index)=(maximum number of rows-initial number of rows)*100/maximum number of rows

4.creating reverse key indexes

sql>create unique index xay_id on xay(a) reverse pctfree 30 storage(initial 200k

sql>next 200k pctincrease 0 maxextents 50) tablespace indx;

5.create bitmap index

sql>create bitmap index xay_id on xay(a) pctfree 30 storage( initial 200k next 200k

sql>pctincrease 0 maxextents 50) tablespace indx;

6.change storage parameter of index

sql>alter index xay_id storage (next 400k maxextents 100);

7.allocating index space

sql>alter index xay_id allocate extent(size 200k datafile 'c:/oracle/index.dbf');

8.alter index xay_id deallocate unused;

第五章:约束

1.define constraints as immediate or deferred

sql>alter session set constraint[s] = immediate/deferred/default;

set constraint[s] constraint_name/all immediate/deferred;

2. sql>drop table table_name cascade constraints

sql>drop tablespace tablespace_name including contents cascade constraints

3. define constraints while create a table

sql>create table xay(id number(7) constraint xay_id primary key deferrable

sql>using index storage(initial 100k next 100k) tablespace indx);

primary key/unique/references table(column)/check

4.enable constraints

sql>alter table xay enable novalidate constraint xay_id;

5.enable constraints

sql>alter table xay enable validate constraint xay_id;

第六章:LOAD数据

1.loading data using direct_load insert

sql>insert /*+append */ into emp nologging

sql>select * from emp_old;

2.parallel direct-load insert

sql>alter session enable parallel dml;

sql>insert /*+parallel(emp,2) */ into emp nologging

sql>select * from emp_old;

3.using sql*loader

sql>sqlldr scott/tiger \\

sql>control = ulcase6.ctl \\

sql>log = ulcase6.log direct=true

第七章:reorganizing data

1.using expoty

$exp scott/tiger tables(dept,emp) file=c:\\emp.dmp log=exp.log compress=n direct=y

2.using import

$imp scott/tiger tables(dept,emp) file=emp.dmp log=imp.log ignore=y

3.transporting a tablespace

sql>alter tablespace sales_ts read only;

$exp sys/.. file=xay.dmp transport_tablespace=y tablespace=sales_ts

triggers=n constraints=n

$copy datafile

$imp sys/.. file=xay.dmp transport_tablespace=y datafiles=(/disk1/sles01.dbf,/disk2

/sles02.dbf)

sql>alter tablespace sales_ts read write;

4.checking transport set

sql>DBMS_tts.transport_set_check(ts_list =>'sales_ts' ..,incl_constraints=>true);

在表transport_set_violations 中查看

sql>dbms_tts.isselfcontained 为true 是, 表示自包含

第八章: managing password security and resources

1.controlling account lock and password

sql>alter user juncky identified by oracle account unlock;

2.user_provided password function

sql>function_name(userid in varchar2(30),password in varchar2(30),

old_password in varchar2(30)) return boolean

3.create a profile : password setting

sql>create profile grace_5 limit failed_login_attempts 3

sql>password_lock_time unlimited password_life_time 30

sql>password_reuse_time 30 password_verify_function verify_function

sql>password_grace_time 5;

4.altering a profile

sql>alter profile default failed_login_attempts 3

sql>password_life_time 60 password_grace_time 10;

5.drop a profile

sql>drop profile grace_5 [cascade];

6.create a profile : resource limit

sql>create profile developer_prof limit sessions_per_user 2

sql>cpu_per_session 10000 idle_time 60 connect_time 480;

7. view =>resource_cost : alter resource cost

dba_Users,dba_profiles

8. enable resource limits

sql>alter system set resource_limit=true;

第九章:Managing users

1.create a user: database authentication

sql>create user juncky identified by oracle default tablespace users

sql>temporary tablespace temp quota 10m on data password expire

sql>[account lock|unlock] [profile profilename|default];

2.change user quota on tablespace

sql>alter user juncky quota 0 on users;

3.drop a user

sql>drop user juncky [cascade];

4. monitor user

view: dba_users , dba_ts_quotas

第十章:managing privileges

1.system privileges: view =>system_privilege_map ,dba_sys_privs,session_privs

2.grant system privilege

sql>grant create session,create table to managers;

sql>grant create session to scott with admin option;

with admin option can grant or revoke privilege from any user or role;

3.sysdba and sysoper privileges:

sysoper: startup,shutdown,alter database open|mount,alter database backup controlfile,

alter tablespace begin/end backup,recover database

alter database archivelog,restricted session

sysdba: sysoper privileges with admin option,create database,recover database until

4.password file members: view:=>v$pwfile_users

5.O7_dictionary_accessibility =true restriction access to view or tables in other schema

6.revoke system privilege

sql>revoke create table from karen;

sql>revoke create session from scott;

7.grant object privilege

sql>grant execute on dbms_pipe to public;

sql>grant update(first_name,salary) on employee to karen with grant option;

8.display object privilege : view =>dba_tab_privs, dba_col_privs

9.revoke object privilege

sql>revoke execute on dbms_pipe from scott [cascade constraints];

10.audit record view :=>sys.aud$

11. protecting the audit trail

sql>audit delete on sys.aud$ by access;

12.statement auditing

sql>audit user;

13.privilege auditing

sql>audit select any table by summit by access;

14.schema object auditing

sql>audit lock on summit.employee by access whenever successful;

15.view audit option : view=>all_def_audit_opts,dba_stmt_audit_opts,dba_priv_audit_opts,dba_obj_audit_opts

16.view audit result: view=>dba_audit_trail,dba_audit_exists,dba_audit_object,dba_audit_session,dba_audit_statement

第十一章: manager role

1.create roles

sql>create role sales_clerk;

sql>create role hr_clerk identified by bonus;

sql>create role hr_manager identified externally;

2.modify role

sql>alter role sales_clerk identified by commission;

sql>alter role hr_clerk identified externally;

sql>alter role hr_manager not identified;

3.assigning roles

sql>grant sales_clerk to scott;

sql>grant hr_clerk to hr_manager;

sql>grant hr_manager to scott with admin option;

4.establish default role

sql>alter user scott default role hr_clerk,sales_clerk;

sql>alter user scott default role all;

sql>alter user scott default role all except hr_clerk;

sql>alter user scott default role none;

5.enable and disable roles

sql>set role hr_clerk;

sql>set role sales_clerk identified by commission;

sql>set role all except sales_clerk;

sql>set role none;

6.remove role from user

sql>revoke sales_clerk from scott;

sql>revoke hr_manager from public;

7.remove role

sql>drop role hr_manager;

8.display role information

view: =>dba_roles,dba_role_privs,role_role_privs,dba_sys_privs,role_sys_privs,role_tab_privs,session_roles

第十二章: BACKUP and RECOVERY

1. v$sga,v$instance,v$process,v$bgprocess,v$database,v$datafile,v$sgastat

2. Rman need set dbwr_IO_slaves or backup_tape_IO_slaves and large_pool_size

3. Monitoring Parallel Rollback

>v$fast_start_servers , v$fast_start_transactions

4.perform. a closed database backup (noarchivelog)

>shutdown immediate

>cp files /backup/

>startup

5.restore to a different location

>connect system/manager as sysdba

>startup mount

>alter database rename file '/disk1/../user.dbf' to '/disk2/../user.dbf';

>alter database open;

6.recover syntax

--recover a mounted database

>recover database;

>recover datafile '/disk1/data/df2.dbf';

>alter database recover database;

--recover an opened database

>recover tablespace user_data;

>recover datafile 2;

>alter database recover datafile 2;

7.how to apply redo log files automatically

>set autorecovery on

>recover automatic datafile 4;

8.complete recovery:

--method 1(mounted databae)

>copy c:\\backup\\user.dbf c:\\oradata\\user.dbf

>startup mount

>recover datafile 'c:\\oradata\\user.dbf;

>alter database open;

--method 2(opened database,initially opened,not system or rollback datafile)

>copy c:\\backup\\user.dbf c:\\oradata\\user.dbf (alter tablespace offline)

>recover datafile 'c:\\oradata\\user.dbf' or

>recover tablespace user_data;

>alter database datafile 'c:\\oradata\\user.dbf' online or

>alter tablespace user_data online;

--method 3(opened database,initially closed not system or rollback datafile)

>startup mount

>alter database datafile 'c:\\oradata\\user.dbf' offline;

>alter database open

>copy c:\\backup\\user.dbf d:\\oradata\\user.dbf

>alter database rename file 'c:\\oradata\\user.dbf' to 'd:\\oradata\\user.dbf'

>recover datafile 'e:\\oradata\\user.dbf' or recover tablespace user_data;

>alter tablespace user_data online;

--method 4(loss of data file with no backup and have all archive log)

>alter tablespace user_data offline immediate;

>alter database create datafile 'd:\\oradata\\user.dbf' as 'c:\\oradata\\user.dbf''

>recover tablespace user_data;

>alter tablespace user_data online

5.perform. an open database backup

>alter tablespace user_data begin backup;

>copy files /backup/

>alter database datafile '/c:/../data.dbf' end backup;

>alter system switch logfile;

6.backup a control file

>alter database backup controlfile to 'control1.bkp';

>alter database backup controlfile to trace;

7.recovery (noarchivelog mode)

>shutdown abort

>cp files

>startup

8.recovery of file in backup mode

>alter database datafile 2 end backup;

9.clearing redo log file

>alter database clear unarchived logfile group 1;

>alter database clear unarchived logfile group 1 unrecoverable datafile;

10.redo log recovery

>alter database add logfile group 3 'c:\\oradata\\redo03.log' size 1000k;

>alter database drop logfile group 1;

>alter database open;

or >cp c:\\oradata\\redo02.log' c:\\oradata\\redo01.log

>alter database clear logfile 'c:\\oradata\\log01.log';

Oracle 9i 约束条件数据库教程

解决Oracle被锁定的妙招数据库教程

说一说 Oracle库的Hang数据库教程

Oracle数据库碎片数据库

基于Oracle Spatial的时态空间数据库设计数据库教程

下载简便实现Oracle数据库文件移动方法数据库教程(通用7篇)
简便实现Oracle数据库文件移动方法数据库教程.doc
将本文的Word文档下载到电脑,方便收藏和打印
推荐度:
点击下载文档
点击下载本文文档