Knowledge is a familiarity, awareness or understanding of someone or something, such as facts, information, descriptions, or skills, which is acquired through experience or education by perceiving, discovering, or learning. Knowledge acquisition involves complex cognitive processes: perception, communication, and reasoning; while knowledge is also said to be related to the capacity of acknowledgment in human beings. Health Related Link http://goodhealthstrongwealth.blogspot.in/
Wednesday, August 21, 2013
Data types for Oracle 8 to Oracle 11g
This is Vamsi Krishna Teacher ( 20+ years Experience), Astrologer (20+ years Experience), Entrepreneur ( As an Amway Distributor From 2004) / Software Engineer ( Oracle DBA From 2007 to till now ), Certified Nutritionist ( 10+ years Experience in Health counselling for adults and children ). Please do follow and subscribe our channel.
This channel Contains to Education, Astrology, Health, Tips and Tricks, Devotional Etc.
https://www.youtube.com/c/BhavamCreations
Tuesday, June 18, 2013
Data Pump Process
1) To test Schema names in Database( Connect with Admin Privileges)
select * from dba_users order by 1;
2) To Drop Existing User , Check for the Datafiles and Tablesspaces
SELECT * FROM DBA_DATA_FILES;
3) Drop Existing User
drop user CEPM cascade;
4) To Drop Tablespace with Datafiles
DROP TABLESPACE cepmtest INCLUDING CONTENTS AND DATAFILES;
5) after completing the above process to check users
SELECT * FROM DBA_USERS ORDER BY 1;
6) To Create table space for the User
create tablespace cepm datafile '/u01/app/oracle/oradata/elcaro/cepm01.dbf' SIZE 10G;
7) After Atep 6 Create a user Using the Following Command
grant connect,resource to cepm identified by cepm;
8) Assign Tables Space for Above Created User
ALTER USER CEPM DEFAULT TABLESPACE CEPM;
9) Apply Grant Privileges to the User
GRANT CREATE ANY TABLE, SELECT ANY TABLE, CREATE ANY PROCEDURE, EXECUTE ANY PROCEDURE, CREATE ANY VIEW,CREATE ANY TYPE, CREATE ANY SYNONYM ,CREATE ANY TRIGGER TO CEPM;
10) Check the Logical Directories For the Data Pump
SELECT *FROM DBA_DIRECTORIES;
DATA_PUMP_DIR ---- This Logical Dump Directory Created While Create a Database
10.1) To create a LOgical directory
create directory expdp_dir as '/u01';
grant read, write on directory expdp_dir to system, chdb;
11) To Export Using Data Pump From EFPO DB
expdp DIRECTORY=expdp_dir DUMPFILE=cepm_efpo_20130618.dmp LOGFILE=efpo_20130618.log schemas=cepm,cepmro
Note: Here expdp_dir is the Logical Directory
12) After Completing the Logical Export Copy this file in to Destination DB
In perticular Logical Directory location
Copy Data pump file from /u02/backupef/cepm_efpo_20130618.dmp to the ELCARO Machine in to the location /u01/app/oracle/admin/elcaro/dpdump/
scp cepm_efpo_20130618.dmp root@vm-cvce-um-00c:/u01/app/oracle/admin/elcaro/dpdump/
13) import the Logical Dump File in to the Elcaro DB
impdp REMAP_SCHEMA=cepm:cepm REMAP_TABLESPACE=cepm:cepm DIRECTORY=DATA_PUMP_DIR DUMPFILE=cepm_efpo_20130618.dmp LOGFILE=cepm_efpo_20130618imp.log schemas=cepm
select * from dba_users order by 1;
2) To Drop Existing User , Check for the Datafiles and Tablesspaces
SELECT * FROM DBA_DATA_FILES;
3) Drop Existing User
drop user CEPM cascade;
4) To Drop Tablespace with Datafiles
DROP TABLESPACE cepmtest INCLUDING CONTENTS AND DATAFILES;
5) after completing the above process to check users
SELECT * FROM DBA_USERS ORDER BY 1;
6) To Create table space for the User
create tablespace cepm datafile '/u01/app/oracle/oradata/elcaro/cepm01.dbf' SIZE 10G;
7) After Atep 6 Create a user Using the Following Command
grant connect,resource to cepm identified by cepm;
8) Assign Tables Space for Above Created User
ALTER USER CEPM DEFAULT TABLESPACE CEPM;
9) Apply Grant Privileges to the User
GRANT CREATE ANY TABLE, SELECT ANY TABLE, CREATE ANY PROCEDURE, EXECUTE ANY PROCEDURE, CREATE ANY VIEW,CREATE ANY TYPE, CREATE ANY SYNONYM ,CREATE ANY TRIGGER TO CEPM;
10) Check the Logical Directories For the Data Pump
SELECT *FROM DBA_DIRECTORIES;
DATA_PUMP_DIR ---- This Logical Dump Directory Created While Create a Database
10.1) To create a LOgical directory
create directory expdp_dir as '/u01';
grant read, write on directory expdp_dir to system, chdb;
11) To Export Using Data Pump From EFPO DB
expdp DIRECTORY=expdp_dir DUMPFILE=cepm_efpo_20130618.dmp LOGFILE=efpo_20130618.log schemas=cepm,cepmro
Note: Here expdp_dir is the Logical Directory
12) After Completing the Logical Export Copy this file in to Destination DB
In perticular Logical Directory location
Copy Data pump file from /u02/backupef/cepm_efpo_20130618.dmp to the ELCARO Machine in to the location /u01/app/oracle/admin/elcaro/dpdump/
scp cepm_efpo_20130618.dmp root@vm-cvce-um-00c:/u01/app/oracle/admin/elcaro/dpdump/
13) import the Logical Dump File in to the Elcaro DB
impdp REMAP_SCHEMA=cepm:cepm REMAP_TABLESPACE=cepm:cepm DIRECTORY=DATA_PUMP_DIR DUMPFILE=cepm_efpo_20130618.dmp LOGFILE=cepm_efpo_20130618imp.log schemas=cepm
This is Vamsi Krishna Teacher ( 20+ years Experience), Astrologer (20+ years Experience), Entrepreneur ( As an Amway Distributor From 2004) / Software Engineer ( Oracle DBA From 2007 to till now ), Certified Nutritionist ( 10+ years Experience in Health counselling for adults and children ). Please do follow and subscribe our channel.
This channel Contains to Education, Astrology, Health, Tips and Tricks, Devotional Etc.
https://www.youtube.com/c/BhavamCreations
Wednesday, January 16, 2013
Perform SSH and SCP Without Entering Password on openSSH
In this article, I’ll explain how to perform ssh and scp without entering the password using the SSH Public Key authentication with SSH Agent on openSSH
There are two levels of security in the SSH key based authentication. In order for you to login, you need both the private key and the passphrase. Even if one of them is compromised, attacker still cannot login to your account, as both of them are needed to login. This is far better than typical password based authentication, where if the password is compromised, attacker can gain access to the system.
There are two ways to perform ssh and scp without entering the password:
- No passphrase. While creating key pair, leave the passphrase empty. Use this option for the automated batch processing. for e.g. if you are running a cron job to copy files between machines this is suitable option.
- Use passphrase and SSH Agent. If you are using ssh and scp interactively from the command-line and you don’t want to use the password everytime you perform ssh or scp, I don’t recommend the previous option (no passphrase), as you’ve eliminated one level of security in the ssh key based authentication. Instead, use the passphrase while creating the key pair and use SSH Agent to perform ssh and scp without having to enter the password everytime as explained in the steps below.
Following 8 steps explains how to perform SSH and SCP from local-host to a remote-host without entering the password on openSSH system
1. Verify that local-host and remote-host is running openSSH
[local-host]$ ssh -V OpenSSH_4.3p2, OpenSSL 0.9.8b 04 May 2006 [remote-host]$ ssh -V OpenSSH_4.3p2, OpenSSL 0.9.8b 04 May 2006
2. Generate key-pair on the local-host using ssh-keygen
[local-host]$ ssh-keygen Generating public/private rsa key pair. Enter file in which to save the key (/home/jsmith/.ssh/id_rsa):Enter passphrase (empty for no passphrase): Enter same passphrase again: Your identification has been saved in /home/jsmith/.ssh/id_rsa. Your public key has been saved in /home/jsmith/.ssh/id_rsa.pub. The key fingerprint is: 31:3a:5d:dc:bc:81:81:71:be:31:2b:11:b8:e8:39:a0 jsmith@local-host
The public key and private key are typically stored in .ssh folder under your home directory. In this example, it is under /home/jsmith/.sshd.
By default the ssh-keygen on openSSH generates RSA key pair. You can also generate DSA key pair using: ssh-keygen -t dsa command.
3. Install public key on the remote-host.
Copy the content of the public key from the local-host and paste it to the /home/jsmith/.ssh/authorized_keys on the remote-host. If the /home/jsmith/.ssh/authorized_keys already has some other public key, you can append this to the end of it. If the .ssh directory under your home directory on remote-host doesn’t exist, please create it.
[remote-host]$ vi ~/.ssh/authorized_keys ssh-rsa ABIwAAAQEAzRPh9rWfjZ1+7Q369zsBEa7wS1RxzWR jsmith@local-host
In simple words, copy the local-host:/home/jsmith/.ssh/id_rsa.pub to remote-host:/home/jsmith/.ssh/authorized_keys
4. Give appropriate permission to the .ssh directory on the remote-host.
[remote-host]$ chmod 755 ~/.ssh [remote-host]$ chmod 644 ~/.ssh/authorized_keys
5. Login from the local-host to remote-host using the SSH key authentication to verify whether it works properly.
[local-host]$[local-host]$ ssh -l jsmith remote-host Enter passphrase for key '/home/jsmith/.ssh/id_rsa': Last login: Sat Jun 07 2008 23:03:04 -0700 from 192.168.1.102 No mail. [remote-host]$
6. Start the SSH Agent on local-host to perform ssh and scp without having to enter the passphrase several times.
Verify whether SSH agent is already running, if not start it as shown below.
[local-host]$ ps -ef | grep ssh-agent 511 9789 9425 0 00:05 pts/1 00:00:00 grep ssh-agent [local-host]$ ssh-agent $SHELL [local-host]$ ps -ef | grep ssh-agent 511 9791 9790 0 00:05 ? 00:00:00 ssh-agent /bin/bash 511 9793 9790 0 00:05 pts/1 00:00:00 grep ssh-agent
7. Load the private key to the SSH agent on the local-host.
[local-host]$ ssh-add
Enter passphrase for /home/jsmith/.ssh/id_rsa:
Identity added: /home/jsmith/.ssh/id_rsa (/home/jsmith/.ssh/id_rsa)
Following are the different options available in the ssh-add:
- ssh-add
: Load a specific key file. - ssh-add -l: List all the key loaded in the ssh agent.
- ssh-add -d
: Delete a specificy key from the ssh agent - ssh-add -D: Delete all key
8. Perform SSH or SCP to remote-home from local-host without entering the password.
[local-host]$[local-host]$ ssh -l jsmith remote-host Last login: Sat Jun 07 2008 23:03:04 -0700 from 192.168.1.102 No mail. [remote-host]$
Help me spread the news about The Geek Stuff.
Please leave your comments and feedback regarding this article. If you like this post, I would really appreciate if you can spread the word around about “The Geek Stuff” blog by adding it to del.icio.us or Digg through the link below.
This is Vamsi Krishna Teacher ( 20+ years Experience), Astrologer (20+ years Experience), Entrepreneur ( As an Amway Distributor From 2004) / Software Engineer ( Oracle DBA From 2007 to till now ), Certified Nutritionist ( 10+ years Experience in Health counselling for adults and children ). Please do follow and subscribe our channel.
This channel Contains to Education, Astrology, Health, Tips and Tricks, Devotional Etc.
https://www.youtube.com/c/BhavamCreations
Perform SSH Login Without Password Using ssh-keygen & ssh-copy-id
You can login to a remote Linux server without entering password in 3 simple steps using ssky-keygen and ssh-copy-id as explained in this article.
ssh-keygen creates the public and private keys. ssh-copy-id copies the local-host’s public key to the remote-host’s authorized_keys file. ssh-copy-id also assigns proper permission to the remote-host’s home, ~/.ssh, and ~/.ssh/authorized_keys.
This article also explains 3 minor annoyances of using ssh-copy-id and how to use ssh-copy-id along with ssh-agent.
ssh-keygen creates the public and private keys. ssh-copy-id copies the local-host’s public key to the remote-host’s authorized_keys file. ssh-copy-id also assigns proper permission to the remote-host’s home, ~/.ssh, and ~/.ssh/authorized_keys.
This article also explains 3 minor annoyances of using ssh-copy-id and how to use ssh-copy-id along with ssh-agent.
Step 1: Create public and private keys using ssh-key-gen on local-host
jsmith@local-host$ [Note: You are on local-host here] jsmith@local-host$ ssh-keygen Generating public/private rsa key pair. Enter file in which to save the key (/home/jsmith/.ssh/id_rsa):[Enter key] Enter passphrase (empty for no passphrase): [Press enter key] Enter same passphrase again: [Pess enter key] Your identification has been saved in /home/jsmith/.ssh/id_rsa. Your public key has been saved in /home/jsmith/.ssh/id_rsa.pub. The key fingerprint is: 33:b3:fe:af:95:95:18:11:31:d5:de:96:2f:f2:35:f9 jsmith@local-host
Step 2: Copy the public key to remote-host using ssh-copy-id
jsmith@local-host$ ssh-copy-id -i ~/.ssh/id_rsa.pub remote-host jsmith@remote-host's password: Now try logging into the machine, with "ssh 'remote-host'", and check in: .ssh/authorized_keys to make sure we haven't added extra keys that you weren't expecting.
Note: ssh-copy-id appends the keys to the remote-host’s .ssh/authorized_key.
Step 3: Login to remote-host without entering the password
jsmith@local-host$ ssh remote-host Last login: Sun Nov 16 17:22:33 2008 from 192.168.1.2 [Note: SSH did not ask for password.] jsmith@remote-host$ [Note: You are on remote-host here]
The above 3 simple steps should get the job done in most cases.
We also discussed earlier in detail about performing SSH and SCP from openSSH to openSSH without entering password.
If you are using SSH2, we discussed earlier about performing SSH and SCP without password from SSH2 to SSH2 , from OpenSSH to SSH2 and from SSH2 to OpenSSH.
Using ssh-copy-id along with the ssh-add/ssh-agent
When no value is passed for the option -i and If ~/.ssh/identity.pub is not available, ssh-copy-idwill display the following error message.
jsmith@local-host$ ssh-copy-id -i remote-host /usr/bin/ssh-copy-id: ERROR: No identities found
If you have loaded keys to the ssh-agent using the ssh-add, then ssh-copy-id will get the keys from the ssh-agent to copy to the remote-host. i.e, it copies the keys provided by ssh-add -Lcommand to the remote-host, when you don’t pass option -i to the ssh-copy-id.
jsmith@local-host$ ssh-agent $SHELL
jsmith@local-host$ ssh-add -L
The agent has no identities.
jsmith@local-host$ ssh-add
Identity added: /home/jsmith/.ssh/id_rsa (/home/jsmith/.ssh/id_rsa)
jsmith@local-host$ ssh-add -L
ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAsJIEILxftj8aSxMa3d8t6JvM79DyBV
aHrtPhTYpq7kIEMUNzApnyxsHpH1tQ/Ow== /home/jsmith/.ssh/id_rsa
jsmith@local-host$ ssh-copy-id -i remote-host
jsmith@remote-host's password:
Now try logging into the machine, with "ssh 'remote-host'", and check in:
.ssh/authorized_keys
to make sure we haven't added extra keys that you weren't expecting.
[Note: This has added the key displayed by ssh-add -L]
Three Minor Annoyances of ssh-copy-id
Following are few minor annoyances of the ssh-copy-id.
- Default public key: ssh-copy-id uses ~/.ssh/identity.pub as the default public key file (i.e when no value is passed to option -i). Instead, I wish it uses id_dsa.pub, or id_rsa.pub, or identity.pub as default keys. i.e If any one of them exist, it should copy that to the remote-host. If two or three of them exist, it should copy identity.pub as default.
- The agent has no identities: When the ssh-agent is running and the ssh-add -L returns “The agent has no identities” (i.e no keys are added to the ssh-agent), the ssh-copy-id will still copy the message “The agent has no identities” to the remote-host’s authorized_keys entry.
- Duplicate entry in authorized_keys: I wish ssh-copy-id validates duplicate entry on the remote-host’s authorized_keys. If you execute ssh-copy-id multiple times on the local-host, it will keep appending the same key on the remote-host’s authorized_keys file without checking for duplicates. Even with duplicate entries everything works as expected. But, I would like to have my authorized_keys file clutter free.
This is Vamsi Krishna Teacher ( 20+ years Experience), Astrologer (20+ years Experience), Entrepreneur ( As an Amway Distributor From 2004) / Software Engineer ( Oracle DBA From 2007 to till now ), Certified Nutritionist ( 10+ years Experience in Health counselling for adults and children ). Please do follow and subscribe our channel.
This channel Contains to Education, Astrology, Health, Tips and Tricks, Devotional Etc.
https://www.youtube.com/c/BhavamCreations
Backup Linux Using rsync Command
rsync stands for remote sync.
rsync is used to perform the backup operation in UNIX / Linux.
rsync utility is used to synchronize the files and directories from one location to another in an effective way. Backup location could be on local server or on remote server.
Features of rsync
- Speed: First time, rsync replicates the whole content between the source and destination directories. Next time, rsync transfers only the changed blocks or bytes to the destination location, which makes the transfer really fast.
- Security: rsync allows encryption of data using ssh protocol during transfer.
- Less Bandwidth: rsync uses compression and decompression of data block by block at the sending and receiving end respectively. So the bandwidth used by rsync will be always less compared to other file transfer protocols.
- Privileges: No special privileges are required to install and execute rsync.
Syntax
$ rsync options source destination
Source and destination could be either local or remote. In case of remote, specify the login name, remote server name and location.
Example 1. Synchronize Two Directories in a Local Server
To sync two directories in a local computer, use the following rsync -zvr command.
$ rsync -zvr /var/opt/installation/inventory/ /root/temp building file list ... done sva.xml svB.xml . sent 26385 bytes received 1098 bytes 54966.00 bytes/sec total size is 44867 speedup is 1.63 $
In the above rsync example:
- -z is to enable compression
- -v verbose
- -r indicates recursive
Now let us see the timestamp on one of the files that was copied from source to destination. As you see below, rsync didn’t preserve timestamps during sync.
$ ls -l /var/opt/installation/inventory/sva.xml /root/temp/sva.xml -r--r--r-- 1 bin bin 949 Jun 18 2009 /var/opt/installation/inventory/sva.xml -r--r--r-- 1 root bin 949 Sep 2 2009 /root/temp/sva.xml
Example 2. Preserve timestamps during Sync using rsync -a
rsync option -a indicates archive mode. -a option does the following,
- Recursive mode
- Preserves symbolic links
- Preserves permissions
- Preserves timestamp
- Preserves owner and group
Now, executing the same command provided in example 1 (But with the rsync option -a) as shown below:
$ rsync -azv /var/opt/installation/inventory/ /root/temp/ building file list ... done ./ sva.xml svB.xml . sent 26499 bytes received 1104 bytes 55206.00 bytes/sec total size is 44867 speedup is 1.63 $
As you see below, rsync preserved timestamps during sync.
$ ls -l /var/opt/installation/inventory/sva.xml /root/temp/sva.xml -r--r--r-- 1 root bin 949 Jun 18 2009 /var/opt/installation/inventory/sva.xml -r--r--r-- 1 root bin 949 Jun 18 2009 /root/temp/sva.xml
Example 3. Synchronize Only One File
To copy only one file, specify the file name to rsync command, as shown below.
$ rsync -v /var/lib/rpm/Pubkeys /root/temp/ Pubkeys sent 42 bytes received 12380 bytes 3549.14 bytes/sec total size is 12288 speedup is 0.99
Example 4. Synchronize Files From Local to Remote
rsync allows you to synchronize files/directories between the local and remote system.
$ rsync -avz /root/temp/ thegeekstuff@192.168.200.10:/home/thegeekstuff/temp/ Password: building file list ... done ./ rpm/ rpm/Basenames rpm/Conflictname sent 15810261 bytes received 412 bytes 2432411.23 bytes/sec total size is 45305958 speedup is 2.87
While doing synchronization with the remote server, you need to specify username and ip-address of the remote server. You should also specify the destination directory on the remote server. The format is username@machinename:path
As you see above, it asks for password while doing rsync from local to remote server.
Sometimes you don’t want to enter the password while backing up files from local to remote server. For example, If you have a backup shell script, that copies files from local to remote server using rsync, you need the ability to rsync without having to enter the password.
To do that, setup ssh password less login as we explained earlier.
Example 5. Synchronize Files From Remote to Local
When you want to synchronize files from remote to local, specify remote path in source and local path in target as shown below.
$ rsync -avz thegeekstuff@192.168.200.10:/var/lib/rpm /root/temp Password: receiving file list ... done rpm/ rpm/Basenames . sent 406 bytes received 15810230 bytes 2432405.54 bytes/sec total size is 45305958 speedup is 2.87
Example 6. Remote shell for Synchronization
rsync allows you to specify the remote shell which you want to use. You can use rsync ssh to enable the secured remote connection.
Use rsync -e ssh to specify which remote shell to use. In this case, rsync will use ssh.
$ rsync -avz -e ssh thegeekstuff@192.168.200.10:/var/lib/rpm /root/temp Password: receiving file list ... done rpm/ rpm/Basenames sent 406 bytes received 15810230 bytes 2432405.54 bytes/sec total size is 45305958 speedup is 2.87
Example 7. Do Not Overwrite the Modified Files at the Destination
In a typical sync situation, if a file is modified at the destination, we might not want to overwrite the file with the old file from the source.
Use rsync -u option to do exactly that. (i.e do not overwrite a file at the destination, if it is modified). In the following example, the file called Basenames is already modified at the destination. So, it will not be overwritten with rsync -u.
$ ls -l /root/temp/Basenames total 39088 -rwxr-xr-x 1 root root 4096 Sep 2 11:35 Basenames $ rsync -avzu thegeekstuff@192.168.200.10:/var/lib/rpm /root/temp Password: receiving file list ... done rpm/ sent 122 bytes received 505 bytes 114.00 bytes/sec total size is 45305958 speedup is 72258.31 $ ls -lrt total 39088 -rwxr-xr-x 1 root root 4096 Sep 2 11:35 Basenames
Example 8. Synchronize only the Directory Tree Structure (not the files)
Use rsync -d option to synchronize only directory tree from source to the destination. The below example, synchronize only directory tree in recursive manner, not the files in the directories.
$ rsync -v -d thegeekstuff@192.168.200.10:/var/lib/ . Password: receiving file list ... done logrotate.status CAM/ YaST2/ acpi/ sent 240 bytes received 1830 bytes 318.46 bytes/sec total size is 956 speedup is 0.46
Example 9. View the rsync Progress during Transfer
When you use rsync for backup, you might want to know the progress of the backup. i.e how many files are copies, at what rate it is copying the file, etc.
rsync –progress option displays detailed progress of rsync execution as shown below.
$ rsync -avz --progress thegeekstuff@192.168.200.10:/var/lib/rpm/ /root/temp/
Password:
receiving file list ...
19 files to consider
./
Basenames
5357568 100% 14.98MB/s 0:00:00 (xfer#1, to-check=17/19)
Conflictname
12288 100% 35.09kB/s 0:00:00 (xfer#2, to-check=16/19)
.
.
.
sent 406 bytes received 15810211 bytes 2108082.27 bytes/sec
total size is 45305958 speedup is 2.87
You can also use rsnapshot utility (that uses rsync) to backup local linux server, or backup remote linux server.
Example 10. Delete the Files Created at the Target
If a file is not present at the source, but present at the target, you might want to delete the file at the target during rsync.
In that case, use –delete option as shown below. rsync delete option deletes files that are not there in source directory.
# Source and target are in sync. Now creating new file at the target. $ > new-file.txt $ rsync -avz --delete thegeekstuff@192.168.200.10:/var/lib/rpm/ . Password: receiving file list ... done deleting new-file.txt ./ sent 26 bytes received 390 bytes 48.94 bytes/sec total size is 45305958 speedup is 108908.55
Target has the new file called new-file.txt, when synchronize with the source with –delete option, it removed the file new-file.txt
Example 11. Do not Create New File at the Target
If you like, you can update (Sync) only the existing files at the target. In case source has new files, which is not there at the target, you can avoid creating these new files at the target. If you want this feature, use –existing option with rsync command.
First, add a new-file.txt at the source.
[/var/lib/rpm ]$ > new-file.txt
Next, execute the rsync from the target.
$ rsync -avz --existing root@192.168.1.2:/var/lib/rpm/ . root@192.168.1.2's password: receiving file list ... done ./ sent 26 bytes received 419 bytes 46.84 bytes/sec total size is 88551424 speedup is 198991.96
If you see the above output, it didn’t receive the new file new-file.txt
Example 12. View the Changes Between Source and Destination
This option is useful to view the difference in the files or directories between source and destination.
At the source:
$ ls -l /var/lib/rpm -rw-r--r-- 1 root root 5357568 2010-06-24 08:57 Basenames -rw-r--r-- 1 root root 12288 2008-05-28 22:03 Conflictname -rw-r--r-- 1 root root 1179648 2010-06-24 08:57 Dirnames
At the destination:
$ ls -l /root/temp -rw-r--r-- 1 root root 12288 May 28 2008 Conflictname -rw-r--r-- 1 bin bin 1179648 Jun 24 05:27 Dirnames -rw-r--r-- 1 root root 0 Sep 3 06:39 Basenames
In the above example, between the source and destination, there are two differences. First, owner and group of the file Dirname differs. Next, size differs for the file Basenames.
Now let us see how rsync displays this difference. -i option displays the item changes.
$ rsync -avzi thegeekstuff@192.168.200.10:/var/lib/rpm/ /root/temp/ Password: receiving file list ... done >f.st.... Basenames .f....og. Dirnames sent 48 bytes received 2182544 bytes 291012.27 bytes/sec total size is 45305958 speedup is 20.76
In the output it displays some 9 letters in front of the file name or directory name indicating the changes.
In our example, the letters in front of the Basenames (and Dirnames) says the following:
> specifies that a file is being transferred to the local host. f represents that it is a file. s represents size changes are there. t represents timestamp changes are there. o owner changed g group changed.
Example 13. Include and Exclude Pattern during File Transfer
rsync allows you to give the pattern you want to include and exclude files or directories while doing synchronization.
$ rsync -avz --include 'P*' --exclude '*' thegeekstuff@192.168.200.10:/var/lib/rpm/ /root/temp/ Password: receiving file list ... done ./ Packages Providename Provideversion Pubkeys sent 129 bytes received 10286798 bytes 2285983.78 bytes/sec total size is 32768000 speedup is 3.19
In the above example, it includes only the files or directories starting with ‘P’ (using rsync include) and excludes all other files. (using rsync exclude ‘*’ )
Example 14. Do Not Transfer Large Files
You can tell rsync not to transfer files that are greater than a specific size using rsync –max-size option.
$ rsync -avz --max-size='100K' thegeekstuff@192.168.200.10:/var/lib/rpm/ /root/temp/ Password: receiving file list ... done ./ Conflictname Group Installtid Name Sha1header Sigmd5 Triggername sent 252 bytes received 123081 bytes 18974.31 bytes/sec total size is 45305958 speedup is 367.35
max-size=100K makes rsync to transfer only the files that are less than or equal to 100K. You can indicate M for megabytes and G for gigabytes.
Example 15. Transfer the Whole File
One of the main feature of rsync is that it transfers only the changed block to the destination, instead of sending the whole file.
If network bandwidth is not an issue for you (but CPU is), you can transfer the whole file, using rsync -W option. This will speed-up the rsync process, as it doesn’t have to perform the checksum at the source and destination.
# rsync -avzW thegeekstuff@192.168.200.10:/var/lib/rpm/ /root/temp Password: receiving file list ... done ./ Basenames Conflictname Dirnames Filemd5s Group Installtid Name sent 406 bytes received 15810211 bytes 2874657.64 bytes/sec total size is 45305958 speedup is 2.87
This is Vamsi Krishna Teacher ( 20+ years Experience), Astrologer (20+ years Experience), Entrepreneur ( As an Amway Distributor From 2004) / Software Engineer ( Oracle DBA From 2007 to till now ), Certified Nutritionist ( 10+ years Experience in Health counselling for adults and children ). Please do follow and subscribe our channel.
This channel Contains to Education, Astrology, Health, Tips and Tricks, Devotional Etc.
https://www.youtube.com/c/BhavamCreations
Backup Linux Using dd Command (Including Disk to Disk)
Using dd command to backup the Linux system. dd is a powerful UNIX utility, which is used by the Linux kernel make files to make boot images. It can also be used to copy data. Only superuser can execute dd command.
1. Backup Entire Hard disk
To backup an entire copy of a hard disk to another hard disk connected to the same system, execute the dd command as shown below. In this dd command example, the UNIX device name of the source hard disk is /dev/hda, and device name of the target hard disk is /dev/hdb.
# dd if=/dev/sda of=/dev/sdb
- “if” represents inputfile, and “of” represents output file. So the exact copy of /dev/sda will be available in /dev/sdb.
- If there are any errors, the above command will fail. If you give the parameter “conv=noerror” then it will continue to copy if there are read errors.
- Input file and output file should be mentioned very carefully, if you mention source device in the target and vice versa, you might loss all your data.
In the copy of hard drive to hard drive using dd command given below, sync option allows you to copy everything using synchronized I/O.
# dd if=/dev/sda of=/dev/sdb conv=noerror,sync
2. Create an Image of a Hard Disk
Instead of taking a backup of the hard disk, you can create an image file of the hard disk and save it in other storage devices.There are many advantages to backing up your data to a disk image, one being the ease of use. This method is typically faster than other types of backups, enabling you to quickly restore data following an unexpected catastrophe.
# dd if=/dev/hda of=~/hdadisk.img
The above creates the image of a harddisk /dev/hda.
3. Restore using Hard Disk Image
To restore a hard disk with the image file of an another hard disk, use the following dd command example.
# dd if=hdadisk.img of=/dev/hdb
The image file hdadisk.img file, is the image of a /dev/hda, so the above command will restore the image of /dev/hda to /dev/hdb.
4. Creating a Floppy Image
Using dd command, you can create a copy of the floppy image very quickly. In input file, give the floppy device location, and in the output file, give the name of your floppy image file as shown below.
# dd if=/dev/fd0 of=myfloppy.img
5. Backup a Partition
You can use the device name of a partition in the input file, and in the output either you can specify your target path or image file as shown in the dd command example below.
# dd if=/dev/hda1 of=~/partition1.img
6. CDROM Backup
dd command allows you to create an iso file from a source file. So we can insert the CD and enter dd command to create an iso file of a CD content.
# dd if=/dev/cdrom of=tgsservice.iso bs=2048
dd command reads one block of input and process it and writes it into an output file. You can specify the block size for input and output file. In the above dd command example, the parameter “bs” specifies the block size for the both the input and output file. So dd uses 2048bytes as a block size in the above command.
Note: If CD is auto mounted, before creating an iso image using dd command, its always good if you unmount the CD device to avoid any unnecessary access to the CD ROM.
This is Vamsi Krishna Teacher ( 20+ years Experience), Astrologer (20+ years Experience), Entrepreneur ( As an Amway Distributor From 2004) / Software Engineer ( Oracle DBA From 2007 to till now ), Certified Nutritionist ( 10+ years Experience in Health counselling for adults and children ). Please do follow and subscribe our channel.
This channel Contains to Education, Astrology, Health, Tips and Tricks, Devotional Etc.
https://www.youtube.com/c/BhavamCreations
Monday, December 10, 2012
How to handle ORA-01000 Error
ORA-01000 maximum open cursors exceeded
Cause: A
host language program attempted to open too many cursors. The
initialization parameter OPEN_CURSORS determines the maximum number of
cursors per user.
Action: Modify
the program to use fewer cursors. If this error occurs often, shut down
Oracle, increase the value of OPEN_CURSORS, and then restart Oracle.
This error happens a lot in association with some kind of application.
This error also happens at the database level, with just regular inserts, updates, deletes, etc. in PL/SQL or in SQL*Plus, etc.
The reason you receive this error is because Oracle has reached the set limit for open cursors
allowed for that executable or that user session. There are two kinds of open cursors:
implicit and explicit. Here is some background on how cursors work.
To process a SQL statement, Oracle opens a work area called a private SQL area. This private SQL area stores information needed to execute a SQL statement. Cursors are stored in this area to keep track of information. An IMPLICIT cursor is declared for all data definition and data manipulation statements. These are internal to Oracle. For queries that return more than one row, you must declare an EXPLICIT cursor to retrieve all the information. You can tune explicit cursors more easily as you can decide when to open them and close them.
This error happens a lot in association with some kind of application.
This error also happens at the database level, with just regular inserts, updates, deletes, etc. in PL/SQL or in SQL*Plus, etc.
The reason you receive this error is because Oracle has reached the set limit for open cursors
allowed for that executable or that user session. There are two kinds of open cursors:
implicit and explicit. Here is some background on how cursors work.
To process a SQL statement, Oracle opens a work area called a private SQL area. This private SQL area stores information needed to execute a SQL statement. Cursors are stored in this area to keep track of information. An IMPLICIT cursor is declared for all data definition and data manipulation statements. These are internal to Oracle. For queries that return more than one row, you must declare an EXPLICIT cursor to retrieve all the information. You can tune explicit cursors more easily as you can decide when to open them and close them.
Implicit
cursors are harder to tune because they are internal to Oracle. If the
application is tuned carefully, it may cut down the number of implicit
cursors opened.
Keep in mind that the maximum number of allowed cursors is per session, not per instance.-----
Workarounds
There
are two ways to workaround this ORA-01000 error. You can tune cursor
usage at the database level and at the application level.
There
is a parameter you can set in the init.ora that determines the number
of cursors a user can open in a session: OPEN_CURSORS.
OPEN_CURSORS
by default is 50 and usually, this is not high enough. The highest
value you can set this parameter to is operating system dependant. To
solve the ORA-01000 error, set the OPEN_CURSORS to a higher number. You
may need to set it to the maximum of the operating system limit.
In
many systems it is set to 1000 (or even more – 3000, 50000) without any
problem. But setting of this parameter to values more than 1000 must be
discussed, if there is such need, it will means that something is wrong
with the application that leads to that error. Then the application
code must be revised instead of changing of this parameter to higher
values. Even values more than 300 could be considered as bigger.
Consequences to changing this parameter:This parameter does not affect performance in any way but Oracle will now need a little more memory to store the cursors. It will affect only used memory, not the resources thatOracle will need to support this increased value.
Tuning at the APPLICATION LEVEL
Tuning at the APPLICATION LEVEL
For this level is responsible the development team.
This is Vamsi Krishna Teacher ( 20+ years Experience), Astrologer (20+ years Experience), Entrepreneur ( As an Amway Distributor From 2004) / Software Engineer ( Oracle DBA From 2007 to till now ), Certified Nutritionist ( 10+ years Experience in Health counselling for adults and children ). Please do follow and subscribe our channel.
This channel Contains to Education, Astrology, Health, Tips and Tricks, Devotional Etc.
https://www.youtube.com/c/BhavamCreations
Subscribe to:
Posts
(
Atom
)