SYSTEM 系统表空间, 存储数据字典、表、字段、视图等对象的定义权限等信息
ROLL 回滚段, 用于存储DML操作对应的undo日志信息
MAIN 用户的默认表空间, 如果一个用户没有指定表空间则默认使用该表空间
TEMP 存储系统运行过程中产生的临时数据, 例如排序产生的数据
HMAIN 列存储表空间
dba_tablespaces 查询数据库表空间相关信息
dba_data_files 查询数据库数据文件信息
v$tablespace 查询表空间信息
v$datafile 查询数据文件相关信息
dba_free_space 查询数据库空闲的数据文件信息
CREATE TABLESPACE tbs_its DATAFILE 'tbs_its01.dbf' SIZE 128; # 数据文件如果没有指定路径, 默认会根据参数存放到指定路径下
ALTER TABLESPACE tbs_its OFFLINE;
ALTER TABLESPACE tbs_its RENAME TO tbs1;
DROP TABLESPACE tbs1;
ALTER TABLESPACE tbs_its ADD DATAFILE 'tbs_its02.dbf' SIZE 128 MAXSIZE 1024;
ALTER TABLESPACE tbs_its DATAFILE 'tbs_its02.dbf' AUTOEXTEND ON NEXT 2 MAXSIZE 1024;
ALTER TABLESPACE tbs_its RESIZE DATAFILE 'tbs_its02.dbf' TO 256;
ALTER TABLESPACE OFFLINE;
ALTER TABLESPACE tbs_its RENAME DATAFILE 'tbs_its02.dbf' TO '/tmp/tbs_its02.dbf';
ALTER TABLESPACE ONLINE;
1、重启数据库, 会自动重建临时表空间, 表空间大小等于配置文件中指定的参数
2、使用方法 SP_TRUNC_TS_FILE 方法
v$rlogfile 显示日志文件的具体信息。包括文件号、完整路径、文件的状态、文件大小等等
v$rlog 显示日志的总体信息。通过该视图可以了解系统当前日志事务号 LSN 的情况、归档日志情况、检查点的执行情况等
alter database RESIZE LOGFILE 'its01.log' to 300;
alter database ADD LOGFILE 'its03.log' SIZE 300;
SQL> select * from v$rlogfile;
LINEID GROUP_ID FILE_ID PATH CLIENT_PATH CREATE_TIME RLOG_SIZE MIN_EXEC_VER MIN_DCT_VER
---------- ----------- ----------- --------------------- ----------- -------------------------- -------------------- ------------ -----------
1 2 0 /dmdata/its/its01.log its01.log 2022-06-30 23:45:34.000000 314572800 V8.1.1.1 4
2 2 1 /dmdata/its/its02.log its02.log 2022-06-30 23:45:34.000000 268435456 V8.1.1.1 4
3 2 2 /dmdata/its/its03.log its03.log 2022-07-04 11:17:23.000000 314572800 V8.1.1.1 4
used time: 0.438(ms). Execute id is 816.
SQL>
SQL> ALTER DATABASE MOUNT;
SQL> ALTER DATABASE RENAME LOGFILE 'its01.log' TO '/tmp/its01.log';
SQL> select * from v$rlogfile;
LINEID GROUP_ID FILE_ID PATH CLIENT_PATH CREATE_TIME RLOG_SIZE MIN_EXEC_VER MIN_DCT_VER
---------- ----------- ----------- --------------------- -------------- -------------------------- -------------------- ------------ -----------
1 2 0 /tmp/its01.log /tmp/its01.log 2022-06-30 23:45:34.000000 314572800 V8.1.1.1 4
2 2 1 /dmdata/its/its02.log its02.log 2022-06-30 23:45:34.000000 268435456 V8.1.1.1 4
3 2 2 /dmdata/its/its03.log its03.log 2022-07-04 11:17:23.000000 314572800 V8.1.1.1 4
used time: 0.319(ms). Execute id is 818.
SQL> alter database open;
ALTER DATABASE MOUNT;
ALTER DATABASE ADD ARCHIVELOG 'TYPE=LOCAL ,DEST=/dmdata/arch ,FILE_SIZE=128 ,SPACE_LIMIT=2048';
ALTER DATABASE ARCHIVELOG;
ALTER DATABASE OPEN;
dm.ini
ARCH_INI = 1
dmarch.ini
ARCH_WAIT_APPLY = 0
[ARCHIVE_LOCAL1]
ARCH_TYPE = LOCAL
ARCH_DEST = /dmdata/arch
ARCH_FILE_SIZE = 128
ARCH_SPACE_LIMIT = 2048
ARCH_FLUSH_BUF_SIZE = 0
ARCH_HANG_FLAG = 1
SQL> SELECT arch_mode FROM v$database;
LINEID ARCH_MODE
---------- ---------
1 Y
used time: 0.399(ms). Execute id is 701.
SQL>
SQL> ALTER DATABASE MODIFY ARCHIVELOG 'TYPE=LOCAL ,DEST=/dmdata/arch ,FILE_SIZE=128 ,SPACE_LIMIT=20480';
SQL> alter database mount;
SQL> alter database noarchivelog;
SQL> alter database delete archivelog 'TYPE=LOCAL ,DEST=/dmdata/arch ,FILE_SIZE=128 ,SPACE_LIMIT=20480';
SQL> alter database open;
SQL> SELECT arch_mode FROM v$database;
LINEID ARCH_MODE
---------- ---------
1 N
###切换归档
alter database archivelog current;
alter system switch logfile;
alter system archive log current;
SQL> SF_ARCHIVELOG_DELETE_BEFORE_TIME(SYSDATE);
DMSQL executed successfully
SF_ARCHIVELOG_DELETE_BEFORE_LSN()
dba_users;
将用户分为多个角色
系统管理员 SYSDBA 身份验证, 资源限制, 数据加密, 访问控制, 客体重用
系统审计员 SYSAUDITOR 审计
系统安全员 SYSSSO 策略和标记管理
对象管理员 SYSDBO 访问对象控制
PWD_POLICY = 设置密码口的策略
0: 无限制, 但总长度不得超过48个字节
1: 禁止与用户名相同
2: 口令长度需大于等于INI参数PWD_MIN_LEN设置的值
4: 至少包含一个大写字母
8: 至少包含一个数字
16: 至少包含一个标点符号, 英文输入法状态下, 除“和空格外的所有符号
PWD_POLICY 是隐藏参数, 只能通过函数或者语句进行修改, 配置文件中没有该参数
SQL> alter system set 'pwd_policy'=3 both;
DMSQL executed successfully
used time: 1.757(ms). Execute id is 1401.
SQL>
SQL>
SQL>
SQL> exit
[dmdba@itsdata its]$ disql
SQL> create user fyu identified by fyu;
create user fyu identified by fyu;
[-2160]:Error in line: 1
Password must be different from login name.
used time: 1.230(ms). Execute id is 0.
SQL> create user fyu identified by fangyu;
create user fyu identified by fangyu;
[-2504]:Error in line: 1
Password length invalid.
used time: 0.806(ms). Execute id is 0.
SQL> create user fyu identified by fangyu1111;
executed successfully
used time: 48.792(ms). Execute id is 1500.
SQL>
使用创建用户时, 设置的密码登录
开启操作系统认证参数
ENABLE_LOCAL_OSAUTH = 1 开启本地操作系统认证
ENABLE_REMOTE_OSAUTH = 1 开启远程操作系统认证
ENABLE_ENCRYPT = 1 表示使用ssl安全加密
上面的参数时静态参数, 需要重启数据库
1、开启操作系统认证需要先将系统用户添加到
useradd fangyu
groupadd dmusers
usermod -G dmusers fangyu
2、数据库中创建一个和系统用户相同名字的用户
CREATE USER fangyu IDENTIFIED BY "fangyu421";
3、登录数据库
disql /localhost:5236 users
CREATE USER FANGYU IDENTIFIED BY 123456 DEFAULT TABLESPACE FYU_ITS DEFAULT INDEX TABLESPACE FYU_ITS;
ALTER USER FANGYU ACCOUNT LOCK; # 锁定用户
ALTER USER FANGYU ACCOUNT UNLOCK; # 解锁
ALTER USER FANGYU DEFAULT TABLESPACE MAIN; 修改用户的默认表空间
ALTER USER FANGYU IDEDNTIFIED BY 01234; 修改用户密码
DROP USER FANGYU 删除用户, 如果该用户在库中存在创建的对象则无法删除
DROP USER FANGYU CASCADE; 删除用户, 相当于强制删除
dba_profiles 可以定义的策略
SQL> select * from SYS.DBA_PROFILES;
LINEID PROFILE RESOURCE_NAME RESOURCE_TYPE LIMIT
---------- ------- -------------------- ------------- ---------
1 DEFAULT CPU_PER_CALL KERNEL UNLIMITED
2 DEFAULT CPU_PER_SESSION KERNEL UNLIMITED
3 DEFAULT MEM_SPACE KERNEL UNLIMITED
4 DEFAULT READ_PER_CALL KERNEL UNLIMITED
5 DEFAULT READ_PER_SESSION KERNEL UNLIMITED
6 DEFAULT CONNECT_TIME KERNEL UNLIMITED
7 DEFAULT SESSION_PER_USER KERNEL UNLIMITED
8 DEFAULT CONNECT_IDLE_TIME KERNEL UNLIMITED
9 DEFAULT FAILED_LOGIN_ATTEMPS PASSWORD 3
10 DEFAULT PASSWORD_LIFE_TIME PASSWORD UNLIMITED
11 DEFAULT PASSWORD_REUSE_TIME PASSWORD UNLIMITED
12 DEFAULT PASSWORD_REUSE_MAX PASSWORD UNLIMITED
13 DEFAULT PASSWORD_LOCK_TIME PASSWORD 1
14 DEFAULT PASSWORD_GRACE_TIME PASSWORD 10
SQL> alter user fyu limit FAILED_LOGIN_ATTEMPS 10 , PASSWORD_LOCK_TIME 5;
SQL> SELECT * FROM SYSUSER$; # 该视图中可以看到修改的资源限制
CREATE PROFILE P1 LIMIT FAILED_LOGIN_ATTEMPS 10 , PASSWORD_LOCK_TIME 5;
ALTER USER FYU PROFILE P1;
GRANT 权限 TO username [WITH ADMIN OPTION]
REVOKE 权限 FROM username
SQL> CREATE USER FYU IDENTIFIED BY "fangyu421";
SQL> GRANT RESOURCE TO FYU ;
SQL> REVOKE RESOURCE FROM FYU;
DBA_SYS_PRIVS 系统权限
DBA_TAB_PRIVS 对象权限
DBA_ROLE_PRIVS 角色
DBA_COL_PRIVS 列权限
查看当前用户的权限
SQL> select * from session_privs;
LINEID PRIVILEGE
---------- -------------------
1 CREATE SESSION
2 DBA
3 RESOURCE
4 PUBLIC
5 SYS_ADMIN
6 SOI
7 EXECUTE DBMS_XMLGEN
角色: 一组权限的集合
DBA 数据库管理角色, 在该数据库内具备除审计和标记相关权限之外的所有权限
RESOURCE 具备部分创建数据库对象的权限, 且对其自身创建的数据库对象拥有所有的权限, 并能将其转授给其他用户
PUBLIC 只能连接数据库并访问部分数据字典在缺省情况下,
VTI 具有查询动态视图的查询权限
SVI 查看v开头视图的权限
SOI 查看系统表的权限
DB_AUDIT_ADMIN 数据库审计管理角色, 在该库内具备所有与审计相关的权限, 包括创建审计用户和进行数据库审计
DB_AUDIT_OPER 可连接数据库并进行审计操作
DB_AUDIT_PUBLIC 只能连接数据库并访问部分数据字典缺省情况下, 每个审计用户在被创建时即具有此角色
DB_AUDIT_VTI 具有查询动态视图的查询权限
DB_AUDIT_SOI 查看v开头视图的权限
DB_AUDIT_SVI 查看v开头视图的权限
DB_POLICY_ADMIN 数据库标记管理角色, 在该库内具备所有与标记相关的权限, 包括创建标记用户和管理数据库标记
DB_POLICY_OPER 可连接数据库并进行标记操作
DB_POLICY_PUBLIC 只能连接数据库并访问部分数据字典缺省情况下, 每个标记用户在被创建时即具有此角色
DB_POLICY_VTI 具有查询动态视图的查询权限
DB_POLICY_SOI 查看系统表的权限
DB_POLICY_SVI 查看v开头视图的权限
CREATE ROLE role_name;
DROP ROLE role_name;
SP_SET_ROLE('role_name',0)
模式是一个特定的对象集合
类似MySQL中的database , 用户可以创建多个database, 在DM中表示为模式, 默认情况下当创建用户时, 则默认会创建一个同名的模式
模式和用户的关系
一个用户可以有多个模式, 一个模式只能属于一个用户
SELECT * FROM sysobjects WHERE tyepe$='SCH';
查看模式和用户的对应关系
select
a.id scheid ,
a.name schename,
b.id userid ,
b.name username
from
SYS.SYSOBJECTS a,
SYS.SYSOBJECTS b
where
a."TYPE$" = 'SCH'
and a.pid = b.id;
CREATE SCHEMA s1 AUTHORIZATION FYU;
SQL>
SELECT SYS_CONTEXT('USERENV','CURRENT_SCHEMA');
LINEID SYS_CONTEXT('USERENV','CURRENT_SCHEMA')
---------- ---------------------------------------
1 SYSDBA
used time: 4.635(ms). Execute id is 600.
SELECT SYS_CONTEXT('USERENV','CURRENT_USER');
LINEID SYS_CONTEXT('USERENV','CURRENT_USER')
---------- -------------------------------------
1 SYSDBA
used time: 1.060(ms). Execute id is 601.
SQL>
SQL> SET SCHEMA S2;
SQL> drop schema s1;
SQL> CREATE TABLE T1(id INT, name VARCHAR(12));
executed successfully
used time: 9.683(ms). Execute id is 501.
SQL> INSERT INTO T1 VALUES(1,'AAA'),(2,'BBB');
affect rows 2
used time: 0.629(ms). Execute id is 502.
SQL> COMMIT;
executed successfully
used time: 1.372(ms). Execute id is 503.
SQL> SELECT * FROM T1;
LINEID ID NAME
---------- ----------- ----
1 1 AAA
2 2 BBB
used time: 0.412(ms). Execute id is 504.
SQL>
SQL> CREATE TABLE T2 LIKE T1; # 在MySQL中这种语句不复制表中数据, 但是DM中会复制数据
executed successfully
used time: 5.761(ms). Execute id is 505.
SQL> SELECT * FROM T2;
LINEID ID NAME
---------- ----------- ----
1 1 AAA
2 2 BBB
used time: 0.326(ms). Execute id is 506.
SQL> CREATE TABLE T3 AS SELECT * FROM T1;
executed successfully
used time: 4.945(ms). Execute id is 507.
SQL> SELECT * FROM T3;
LINEID ID NAME
---------- ----------- ----
1 1 AAA
2 2 BBB
used time: 0.431(ms). Execute id is 508.
SQL>
ALTER TABLE T1 ADD COLUMN sex char(1);
ALTER TABLE T1 DROP COLUMN sex ;
ALTER TABLE T1 MODIFY sex char(10);
ALTER TABLE T1 MOVE TABLESPACE MAIN;
dba_tables
dba_tab_column
start /path_to_file
` /path_to_file
NOT NULL: 非空约束
UNIQUE: 唯一约束
PRIMARY KEY:主键约束 (唯一约束+非空约束)
FOREIGN KEY:外键约束
CHECK: 检验约束
ALTER TABLE T1 MODIFY id NOT NULL DEFAULT '';
ALTER TABLE T1 ADD CONSTRAINT idx_uniq_id UNIQUE(id);
ALTER TABLE T1 ADD CONSTRAINT idx_pri_id PRIMARY KEY(id);
ALTER TBALE T1 ADD CONSTRAINT fk_id FOREIGN KEY (id) REFERENCES T2(id)
ALTER TABLE T1 DISABLE CONSTRAINT idx_uniq_id;
ALTER TABLE T1 ENABLE CONSTRAINT idx_uniq_id;
ALTER TABLE T1 DROP CONSTRAINT idx_uniq_id;
dba_constraints;
dba_cons_columns;
CREATE TABLE i1(id INT, name VARCHAR(12));
INSERT INTO i1 VALUES(1,'a');
INSERT INTO i1 VALUES(2,'b');
INSERT INTO i1 VALUES(3,'c');
INSERT INTO i1 VALUES(4,'d');
COMMIT;
SQL> CREATE INDEX idx_id ON i1(id);
SQL> DROP INDEX idx_id;
SQL> ALTER INDEX idx_name MONITORING USAGE;
executed successfully
used time: 1.354(ms). Execute id is 815.
SQL> SELECT * FROM V$OBJECT_USAGE;
LINEID INDEX_NAME SCH_NAME TABLE_NAME MONITORING USED START_MONITORING END_MONITORING
---------- ---------- -------- ---------- ---------- ---- ------------------- --------------
1 IDX_NAME SYSDBA I1 YES NO 2022-07-04 13:53:29 NULL
used time: 0.512(ms). Execute id is 816.
SQL>
SQL> ALTER INDEX idx_name rebuild;
executed successfully
used time: 6.013(ms). Execute id is 817.
SQL> ALTER INDEX idx_name rebuild online;
executed successfully
used time: 14.616(ms). Execute id is 818.
SQL>
SQL> dbms_stats.gather_table_stats('SYSDBA','I1');
SQL> dbms_stats.table_stats_show('SYSDBA','I1');
LINEID NUM_ROWS LEAF_BLOCKS LEAF_USED_BLOCKS
---------- -------------------- -------------------- --------------------
1 4 1 1
由SQL语句组成的表, 视图不存储真实的数据, 只存储表的查询语句
SQL> CREATE VIEW v1 AS SELECT * FROM T1;
executed successfully
used time: 36.400(ms). Execute id is 514.
SQL> SELECT * FROM V1;
LINEID ID NAME SEX1
---------- ----------- ---- ----
1 1 AAA NULL
2 2 BBB NULL
used time: 0.563(ms). Execute id is 515.
SQL>
备份: 从数据库文件中拷贝有效的数据页保存到备份集中 有效数据页指的是: 数据文件的描述页和被分配使用的数据页
还原: 将有效的数据页重新写入目标数据文件中的过程
恢复: 通过归档日志将数据恢复到备份结束时的状态, 也可以恢复到指定的时间或者LSN的位置
– 在恢复后数据库中的未提交数据在启动时会有DM自动进行回滚
逻辑备份
通过dexp工具, 将指定对象的数据导出到文件, 逻辑备份针对的是数据内容, 不关系数据物理存储在什么位置
物理备份
直接扫描数据文件, 找出已经分配使用的数据页拷贝并保存到备份集, 物理备份不关心数据的内容只是通过数据库文件系统的藐视来挑选有效的数据页
联机备份
数据库处于运行状态并正常提供数据库服务的状态下进行备份
脱机备份
数据库处于关闭状态下进行数据库的备份
DM dmrman备份只能是关闭数据库下才可以进行脱机备份
SQL> BACKUP DATABASE BACKUPSET 'bak_db'; 默认如果没有指定备份路径, 则根据 dm.ini 中配置的BAK_PATH参数将备份的数据库存放在该路径下
BACKUP 语句参数
FULL 表示完全备份, 默认就是完全备份, 可以不写
DDL_CLONE 数据库克隆, 只备份元数据信息, 不备份数据
INCREMENT 增量备份参数
CUMULATIVE 用于增量备份中, 指明为累积增量备份
WITH BACKUPDIR 用于增量备份中, 用于指定增量备份的基备份搜索目录
BASE ON BACKUPSET 用于增量备份, 指定基备份路径
TO 指定生成备份的名称, 不指定则系统随机生成 默认格式: DB_库名_备份类型_备份时间
BACKUPSET 指定当前备份集的路径
DEVICE TYPE 指定存储介质
BACKUPINFO 备份的描述信息
MAXPIECESIZE 最大备份片大小限制
LIMIT 指定备份时最大的读写文件速度 单位M/s
IDENTIFIED BY 指定备份时加密的密码
WITH ENCRYPTION 指定加密类型
ENCRYPT WITH 指定加密算法
COMPRESSED 备份时压缩
WITHOUT LOG 联机数据库备份是否备份日志
TRACE FILE 指定生成的TRACE文件
TRACE LEVEL 是否启用TRACE 1: 不启用 2: 启用
TASK THREAD 备份过程中数据库处理线程的格式 默认:4
PARALLEL 指定并行备份的并行数和拆分块大小
**-- 在执行备份过程中, 如果报错归档不完整 则需要先执行生成检查点操作才能正常备份 SELECT CHECKPOINT(100)**
1、完全备份, 备份时指定备份名称 并且 添加备份注释信息
SQL> BACKUP DATABASE TO FULL_DATABASE_02 BACKUPSET '/dmbak/full_db_02' BACKUPINFO '第二次完全备份';
2、完全备份, 备份时指定备份片最大大小
SQL> BACKUP DATABASE BACKUPSET '/dmbak/full_db_03' MAXPIECESIZE 300;
3、完全备份, 备份时进行压缩
SQL> BACKUP DATABASE BACKUPSET '/dmbak/full_db_04' COMPRESSED LEVEL 5;
4、完全备份, 采用并行备份, 并行数是8
SQL> BACKUP DATABASE BACKUPSET '/dmbak/full_db_05' PARALLEL 8;
SQL> BACKUP DATABASE INCREMENT WITH BACKUPDIR '/dmbak' BACKUPSET '/dmbak/incr_db_01' BACKUPINFO '第一次增量备份';
1、备份TBS_ITS表空间
SQL> BACKUP TABLESPACE TBS_ITS BACKUPSET '/dmbak/tbs_its';
2、增量备份, 没有指定基备份, 则在备份目录下搜索最近一次的完全备份或者增量备份作为基备份
SQL> BACKUP TABLESPACE TBS_ITS INCREMENT BACKUPSET '/dmbak/tbs_its_incr';
3、增量备份, 基于某个备份做增量备份
SQL> BACKUP TABLESPACE TBS_ITS INCREMENT BASE ON BACKUPSET '/dmbak/tbs_its' BACKUPSET '/dmbak/tbs_its_incr02';
4、增量备份, 基于某个备份
SQL> BACKUP TABLESPACE TBS_ITS INCREMENT WITH BACKUPDIR '/dmbak/' BACKUPSET '/dmbak/tbs_its_incr_03';
SQL> BACKUP TABLE FANGYU.EMP BACKUPSET '/dmbak/t_emp';
SQL> BACKUP ARCHIVE LOG ALL BACKUPSET '/dmbak/arch_full_01';
归档备份参数
FROM LSN 指定备份开始LSN
UNTIL LSN 指定备份结束LSN
FROM TIME 指定备份的开始时间
UNTIL TIME 指定备份的结束时间
DELETE FROM 用于指定备份完成后, 是否删除归档
TO 指定备份名称
BETWEEN ... AND ... 指定备份的区间
RMAN> BACKUP DATABASE '/dmdata/itsdata/dm.ini' BACKUPSET '/dmbak/full_db_01';
BACKUP DATABASE '/dmdata/itsdata/dm.ini' BACKUPSET '/dmbak/full_db_01';
Database mode = 0, oguid = 0
Normal of FAST
Normal of DEFAULT
Normal of RECYCLE
Normal of KEEP
Normal of ROLL
EP[0]s cur_lsn[59891], file_lsn[59891]
Processing backupset /dmbak/full_db_01
[Percent:100.00%][Speed:0.00M/s][Cost:00:00:02][Remaining:00:00:00]
backup successfully!
time used: 00:00:03.272
RMAN>
BACKUP DATABASE '/dmdata/itsdata/dm.ini' INCREMENT WITH BACKUPDIR '/dmbak' BACKUPSET '/dmbak/incr_db_01';
BACKUP ARCHIVE LOG ALL DATABASE '/dmdata/itsdata/dm.ini' BACKUPSET '/dmbak/arch_db_01';
SQL> SELECT SF_BAKSET_CHECK('DISK','/dmbak/full_db');
行号 SF_BAKSET_CHECK('DISK','/dmbak/full_db')
---------- ----------------------------------------
1 1
删除指定设备类型和指定备份集目录的备份集
SQL> SELECT SF_BAKSET_REMOVE('DISK','/dmbak/full_db',0);
行号 SF_BAKSET_REMOVE('DISK','/dmbak/full_db',0)
---------- -------------------------------------------
1 1
dexp 参数
USERID 指定用户名和密码
FILE 指定导出文件的名称, 如果不指定默认: dexp.dmp
DIRECTORY 指定导出文件目录
FULL 全量备份
OWNER 导出指定用户的数据, 格式: (user1,user2,...)
SCHEMAS 导出指定模式的数据, 格式: (schema1,schema2,...)
TABLES 指定导出某个表 , 格式: (table1,table2,...)
FUZZY_MATCH 使用TABLES选项时, 是否对表名进行模糊匹配 默认:N
QUERY 导出表数据时, 过滤条件
PARALLEL 并发导出
TABLE_PARALLEL 对于表进行并发导出, MPP模式下会转换成单线程
TABLE_POOL 指定表的缓冲区个数
EXCLUDE 指定导出时排除那些不导出 EXCLUDE=(CONSTRAINTS,INDEXES,ROWS,TRIGGERS,GRANTS) or EXCLUDE=TABLES:table1,table2 or EXCLUDE=SCHEMAS:sch1,sch2
INCLUDE 指定导出的对象 INCLUDE=(CONSTRAINTS,INDEXES,ROWS,TRIGGERS,GRANTS) or INCLUDE=TABLES:table1,table2
CONSTRAINTS 导出约束 (Y)
TABLESPACE 导出对象带有表空间 (N)
GRANTS 导出权限 (Y)
INDEXES 导出索引 (Y)
TRIGGERS 导出触发器 (Y)
ROWS 导出数据行 (Y)
LOG 指定日志文件
NOLOGFILE 不使用日志文件(N)
NOLOG 屏幕上不显示日志信息(N)
LOG_WRITE 日志信息实时写入文件: 是(Y),否(N)
DUMMY 交互信息处理: 打印(P), 所有交互都按YES处理(Y),NO(N)
PARFILE 参数文件名
FEEDBACK 每 x 行显示进度 (0)
COMPRESS 导出数据是否压缩 (N)
ENCRYPT 导出数据是否加密 (N)
ENCRYPT_PASSWORD 导出数据的加密密钥
ENCRYPT_NAME 加密算法的名称
FILESIZE 每个转储文件的最大大小
FILENUM 一个模板可以生成的文件数
DROP 导出后删除原表,但不级联删除 (N)
DESCRIBE 导出数据文件的描述信息,记录在数据文件中
COL_DEFAULT_SEPARATE 是否单独导出列默认值 (Y)
HELP 打印帮助信息
示例
全库导出: dexp USERID=SYSDBA/fangyu421 FULL=y FILE=full.dmp LOG=full.log DIRECTORY=/tmp
导出某个用户的数据: dexp USERID=SYSDBA/fangyu421 OWNER=fangyu FILE=fnagyu.dmp LOG=fangyu.log DIRECTORY=/tmp
导出某个模式的数据: dexp USERID=SYSDBA/fangyu421 SCHEMAS=fangyu FILE=fnagyu.dmp LOG=fangyu.log DIRECTORY=/tmp
导出指定的表数据: dexp USERID=SYSDBA/fangyu421 TABLES=t1,t2 FILE=t1_t2.dmp LOG=t1_t2.log DIRECTORY=/tmp
dimp USERID=SYSDBA/fangyu421 FILE=/dmbak/full.dmp LOG=full.log FULL=Y DIRECTORY=/dmbak/dimp/
FILE: 指定要导入的文件
DIRECTORY: 在导入过程中, 生成的日志文件会存放在该目录下
JDBC (Java Database Connectivity) 是 Java 应用程序与数据库的接口规范,旨在让各数据库开发商为 Java 程序员提供标准的数据库应用程序编程接口 (API)
JDBC 定义了一个跨数据库、跨平台的通用 SQL 数据库 API。
DM JDBC 数据库驱动程序是一个能够支持基本 SQL 功能的通用应用程序编程接口,
支持一般的 SQL 数据库访问。通过 JDBC 驱动程序,用户可以在应用程序中实现对 DM 数据库的连接与访问,
JDBC 驱动程序的主要功能包括:
建立与 DM 数据库的连接。
转接发送 SQL 语句到数据库。
处理并返回语句执行结果。
数据库连接池负责分配、管理和释放数据库连接。它允许应用程序重复使用一个现有的数据库连接,
而不是再重新建立一个;对空闲时间超过最大空闲时间的数据库连接能自动释放,
避免因数据库连接未释放而引起的连接泄露问题
1、C3P0:是一个开放源代码的JDBC连接池,实现jdbc3和jdbc2扩展规范说明的Connection 和Statement 池的DataSources 对象。
2、Proxool:是一个Java SQL Driver驱动程序,提供了对选择的其它类型的驱动程序的连接池封装。可以透明地为现存的JDBC驱动程序增加连接池功能。
3、Jakarta DBCP:DBCP是一个依赖Jakartacommons-pool对象池机制的数据库连接池。DBCP可以直接在应用程序中使用。
4、BoneCP:是一个快速、开源的数据库连接池。帮用户管理数据连接,让应用程序能更快速地访问数据库。比C3P0/DBCP连接池速度快25倍。
5、Druid:Druid不仅是一个数据库连接池,还包含一个ProxyDriver、一系列内置的JDBC组件库、一个SQL Parser。
6、Hikari:Hikari是一款非常强大,高效,并且号称“史上最快连接池”。在springboot2.0之后,采用的默认数据库连接池就是Hikari。
jdbc.driver=dm.jdbc.driver.DmDriver
jdbc.url=jdbc:dm://localhost:5236
jdbc.username=test
jdbc.password=Test12345
开放数据库连接, 为解决异构数据库间的数据共享而产生的, ODBC 为异构数据库访问提供统一接口, 允许应用程序以SQL 为数据存取标准, 存取不同DBMS管理的数据
使应用程序直接操纵DB中的数据, 免除随DB的改变而改变。用ODBC 可以访问各类计算机上的DB文件
DM ODBC 3.0 遵照 Microsoft ODBC 3.0 规范设计与开发, 实现了 ODBC 应用程序与 DM 数据库的互连接口
用户可以直接调 DM ODBC 3.0 接口函数访问 DM, 也可以使用可视化编程工具如 C++ Builder、PowerBuilder 等利用 DM ODBC 3.0 访问 DM 数据库
[dmdba@itsdata bin]$ odbcinst -j
unixODBC 2.3.1
DRIVERS............: /etc/odbcinst.ini
SYSTEM DATA SOURCES: /etc/odbc.ini
FILE DATA SOURCES..: /etc/ODBCDataSources
USER DATA SOURCES..: /home/dmdba/.odbc.ini
SQLULEN Size.......: 8
SQLLEN Size........: 8
SQLSETPOSIROW Size.: 8
[dmdba@itsdata bin]$
[root@itsdata ~]# vi /etc/odbcinst.ini
[DM8 ODBC DRIVER]
Description = ODBC DRIVER FOR DM8
Driver = /dm8/bin/libdodbc.so
[root@itsdata ~]# vi /etc/odbc.ini
[DM8]
Description = DM ODBC DSN
Driver = DM8 ODBC DRIVER
SERVER = localhost
UID = SYSDBA
PWD = SYSDBA
TCP_PORT = 5236
[dmdba@itsdata ~]$ isql dm8 -v
+------------------+
| Connected! |
| |
| sql-statement |
| help [tablename] |
| quit |
| |
+------------------+
SQL> select status$ from v$instance;
+-----------+
| STATUS$ |
+-----------+
| OPEN |
+-----------+
SQL>
更多详情请访问达梦在线服务平台 https://eco.dameng.com/
文章
阅读量
获赞