linux的lns命令 linux常用命令lsl

linux对软连接操作

由 1 号inode 读取到连结档的内容仅有档名,根据档名链接到正确的目录去取得目标文件的inode ,

创新互联主要从事做网站、成都网站建设、网页设计、企业做网站、公司建网站等业务。立足成都服务平和,十载网站建设经验,价格优惠、服务专业,欢迎来电咨询建站服务:18982081108

最终就能够读取到正确的数据了。

创建软连接,从下图可以看出软连接的大小是11个字节,对比/etc/passwd和passwdlns可知他们不是同一个文件。

对指向文件的的软连接 :使用cp oldfilename newfilename ,是对软连接指向的文件进行复制,属性和大小都和指向文件相同。

如果只是想复制软连接可以使用:cp -d filename1 filename2

复制指向目录的软连接 :

使用cp -r dir1 dir2 可以看出对于指向目录的软连接的复制是对软连接复制的。

如果我就是相同过软连接复制目录下的全部文件,该如何呢?

使用rm删除文件结果如下,可以看到删除的是软连接文件。

使用rm删除软连接指向的源文件,赶紧将备份的passwd文件还原。

对于目录的删除是对软连接进行删除还是目标目录:

在目录后不加/是对软连接进行操作:

在目录后加上/是对连接目录进行删除:下图可以看出/tmp/testdir的大小已经变成了6了,删除了目录里的全部文件。

对软连接改变权限会对源文件有什么样的影响 :不管是文件软连接还是目录软连接,对软连接进行修改权限,修改的是目标文件和目录的权限

Linux这么操作

alt+F2可以打开命令行工具,然后在里面输入相应的控制命令。

关机是:shutdown -h now (注:可以加数字格式为:+2表示在两分钟后关机)

重启是:shutdown -r now

建议:去下载一本Ubuntu linux的教材,百度下应该可以找到。

linux下怎么将oracle配置成双机热备

【DataGuard高可用性】

DataGuard确保企业数据的高可用性,数据保护以及灾难恢复。在主数据库故障无法修复时启动DataGuard的备份库,可以像主库一样继续对外提供服务而不影响业务的持续运行。

主备数据库之间通过日志传输实现数据库数据同步。

日志传输过程

1、在主系统中利用LNS进程(日志传输进程)将日志传输到备用系统

2、备用系统利用RFS(日志接收进程)接收主库传输过来的日志并利用MRP(日志恢复进程)同步数据

3、DataGuard环境中必须保证3个进程正常工作,否则此DataGuard环境将不能满足灾备需要。

【DG可以解决的问题】

1、在主库停机维护时,备份库顶上,使业务应用影响最小

(1)主库安装OS补丁或Oracle补丁

(2)主库进行数据整理

2、一个新的数据迁移项目,将数据迁移同型号更高端IBM服务器与存储中,主库数据2T,并且此迁移操作必须停机时间控制在30分钟以内(此次时间远远适于迁移数据库文件所需时间),怎么办?

(1)把备份库顶上去

3、由于主库(仓库)数据量非常巨大(50T),所以没有常规备份,但此系统存在DataGuard灾备系统,如果主库某数据文件由于某种原因导致介质故障,你将如何对其进行恢复。

4、异地归档日志

------------------------------------------------------------------------------

主库:18.150  备库:18.160

1、主库和备库:开启归档模式

archive log list;-----------查看归档启动否

shutdown immediate;---------开启归档前要正常关库

startup mount;-------------启动Mount状态

alter database archivelog;-------开启归档模式

alter database open;--------开启数据库

2、确认主库强制写日志

select force_logging from v$database;

(所有sql语句nologging操作时 也会强制写日志)

SQL alter database force logging;

3、修改主备数据库的参数文件

【主】

SQLcreate pfile from spfile;

cd /oracle/app/oracle/product/10.2.0/db_1/dbs/

vi initTEST.ora

DB_UNIQUE_NAME=TEST

LOG_ARCHIVE_CONFIG='DG_CONFIG=(DB150,DB160)'

LOG_ARCHIVE_DEST_1='LOCATION=/home/oracle/archive  VALID_FOR=(ALL_LOGFILES,ALL_ROLES) DB_UNIQUE_NAME=TEST'

LOG_ARCHIVE_DEST_2='SERVICE=DB160 LGWR ASYNC VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=TEST'

FAL_SERVER=DB150        

FAL_CLIENT=DB160

STANDBY_FILE_MANAGEMENT=AUTO

【备】

SQLcreate pfile from spfile;

cd /oracle/app/oracle/product/10.2.0/db_1/dbs/

vi initTEST.ora

DB_UNIQUE_NAME=TEST

LOG_ARCHIVE_CONFIG='DG_CONFIG=(DB150,DB160)'

LOG_ARCHIVE_DEST_1='LOCATION=/home/oracle/archive  VALID_FOR=(ALL_LOGFILES,ALL_ROLES) DB_UNIQUE_NAME=TEST'

LOG_ARCHIVE_DEST_2='SERVICE=DB150 LGWR ASYNC VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=TEST'

FAL_SERVER=DB160        

FAL_CLIENT=DB150

STANDBY_FILE_MANAGEMENT=AUTO

4、主库和备库

都配置“监听”、“传输文件”,并开启监听

5、主库和备库

都创建“归档日志”目录:mkdir /home/oracle/archive

6、主库和备库

cd /oracle/app/oracle/product/10.2.0/db_1/dbs/

rm -rf spfileTEST.ora

sqlplus / as sysdba

SQL startup force;

SQLcreate spfile from pfile;

7、备库

SQL shutdown immediate

[oracle@sq18 admin]$ sqlplus sys/lipengfei as sysdba

(连接成功)

SQL startup nomount force;

8、主库

SQL show parameter ARCHIVE(查看到刚才配置的值生效了)

9、备库

(报错没有相应目录)

[oracle@sq18 admin]$ mkdir -p /oracle/app/admin/TEST/adump

[oracle@sq18 admin]$ mkdir -p /oracle/app/admin/TEST/bdump

[oracle@sq18 admin]$ mkdir -p /oracle/app/admin/TEST/cdump

[oracle@sq18 admin]$ mkdir -p /oracle/app/flash_recovery_area

[oracle@sq18 admin]$ mkdir -p /oracle/app/admin/TEST/udum

保证数据库两边的密码文件中的密码一致(主备数据库sys用户密码必须相同,如果备库中没有orapwTEST,从主库中拷贝到来)

10、主库

mkdir /home/oracle/db_bak/

rman target /

RMAN backup full database format='/home/oracle/db_bak/%U' include current controlfile for standby;

(别退出RMAN,第12步用)

11、备库

mkdir /home/oracle/db_bak/

12、主库(把全库备份的文件拷贝到备库)

cd /home/oracle/db_bak/

scp 备份文件 oracle@192.168.18.160:/home/oracle/db_bak/

RMANconnect auxiliary sys/lipengfei@DB160

RMAN duplicate target database for standby nofilenamecheck;----异机(备库)恢复,保证主备库的数据和状态一样

13、备库

cd /oracle/app/oradata/TEST

ls --------查看有没有文件

sqlplus / as sysdba

SQLselect open_mode from v$database;----------mount状态

14、主库

SQL select process from v$managed_standby;

(没有灾备的进程)

SQL alter system switch logfile;

SQL select process from v$managed_standby;

PROCESS

---------

ARCH

ARCH

LNS

已经有了进程,lns传输进程)

15、备库

SQL select process from v$managed_standby;

PROCESS

---------

ARCH

ARCH

RFS

RFS

(已经有了进程,rfs接收进程)

SQL alter database recover managed standby database disconnect from session;

SQL  select process from v$managed_standby;

PROCESS

---------

ARCH

ARCH

RFS

RFS

MRP0

16、主库

SQLcreate table haha as select * from dba_objects;

SQLinsert into haha select * from haha;

SQLalter system switch logfile;

17、备库

SQL alter database recover managed standby database cancel;

(备库上,只有把恢复日志进程MRP0取消,才可以打开数据库)

SQL alter database open;

SQL select count(*) from haha

【注意】

(1)备用数据库在日志恢复过程中(MRP进程存在期间)数据库处于MOUNTED状态,此时备用数据库无法打开供读取使用

(2)打开备用数据库

停止备用库的日志恢复进程MRP

alter database recover managed standby database cancel;

open备用数据库,备用数据库默认打开为只读方式

alter database open;

(3)重新启动备用数据库的MRP进程,数据库自动从OPEN状态转换到MOUNT 状态

alter database recover managed standby database disconnect from session;

(4)mrp进程停止期间,只要RFS进程存在,那么不影响日志的接收

兄弟,以上就是关于oracle DG构架的实验材料,希望可以帮到你!


文章标题:linux的lns命令 linux常用命令lsl
文章路径:http://hbruida.cn/article/hjscpj.html