zzz

Like trang page giúp ad nhé! THANK ALL

Chủ Nhật, 29 tháng 11, 2015

Sequence và index trong Oracle

# SEQUENCE
Sequence là danh sách tuần tự  của con số, và được tạo bởi Oracle sever.
Mục đích : Sequence dùng để tạo khóa chính một cách tự động cho dữ lệu.
Sequence thường dùng để tạo khóa chính trong sinh mã tự động. Có thể dùng chung cho nhiều đối tượng. Con số sequence này có chiều dài tối đa là 38 số. 
  1. Tạo SEQUENCE
Để tạo sequence, dùng lệnh create như sau
CREATE SEQUENCE sequence_name
INCREMENT BY integer
START WITH integer
[MAXVALUE integer]
[MINVALUE integer]
[CYCLE/NO CYCLE];

Trong đó:
INCREMENT BY : chỉ định khoảng cách của dãy số tuần tự
START WITH     : Chỉ định số đầu tiên của dãy số tuần tự
MAXVALUE     : Giá trị lớn nhất của dãy tuần tự
MINVALUE     : Giá trị nhỏ nhất của dãy tuần tự
CYCLE/NO CYCLE: Dãy tuần tự có quay vòng khi đến điểm cuối. Mặc định là NO CYCLE
Ví dụ:
CREATE SEQUENCE sample_sequen INCREMENT 1 STRAT WITH 2 MAXVALUE 100; -- max có 100 bản ghi
  1. Xoá và sửa sequence
Sửa bằng lệnh:
ALTER SEQUENCE sequence_name
INCREMENT BY integer
START WITH integer
[MAXVALUE integer]
[MINVALUE integer]
[CYCLE/NO CYCLE];
  1. Xoá bằng lệnh:
DROP SEQUENCE sequence_name ;

#INDEX
Index là một  cấu trúc cơ sở dữ liệu, được sever sử dụng để tìm một row trong bảng một cách nhanh chóng. Index bao gồm một key value ( một cột (column) trong hàng (row) ) và rowid.
Hd:    key -value (rowid - và một cột ) , nó sẽ map id của bảng với giá trị 1 cột
Mục đích : để tìm row được nhanh hơn .
  1. Tạo index
CREATE [UNIQUE]] INDEX index_name
ON TABLE ( column [,column...]);
Khi nào dùng index:
  • Dùng  index để query cho nhanh.
  • Dùng Index khi mà việc lấy dữ liệu <15% số row trong bảng.
  • Index những column nào dùng để nối  giữa các bảng lẫn nhau.
  • Không nên dùng Index cho các bảng nào chỉ có vài row.
  • Primaryvà unique key ( khóa chính và khóa duy nhất)  tự động có index, nhưng nên có index cho foreign key( khóa ngoại).
Ví dụ :
CREATE INDEX pro_index ON PROJECT (PROJ_NAME);
  • Pro_index: là tên của index
  • PROJECT : tên bảng
  • PROJ_NAME : tên trường
  1. Xóa index
Code
DROP INDEX pro_idex ;

check kết nối tài khoản oracle

1.      Kết nối tới server Oracle từ xa

Mẫu: connect user/pass@host/service_name

2.      Kết nối tới người dùng oracle từ Linux


[oracle@PTUDServer3 dpdump]$ sqlplus PTUD_MONITOR/123456@orcl;
sqlplus user_name/password@sid;

Mở listener để cho phép oracle server và client giao tiếp với nhau

1.      Mở listener để cho phép oracle server và client giao tiếp với nhau


[oracle@PTUDServer2 db_1]$ lsnrctl
LSNRCTL> start

[oracle@PTUDServer2 ~]$ cd $ORACLE_HOME
[oracle@PTUDServer2 db_1]$ lsnrctl status

Xác định đường dẫn vật lý data file của 1 tablespace

1.      Xác định đường dẫn vật lý data file của 1 tablespace


select tablespace_name,file_name from dba_data_files where TABLESPACE_NAME = 'USERS';

Xác định tablespace thuộc 1 schema

1.      Xác định tablespace thuộc 1 schema


Xem, sửa, chạy biến môi trường trong linux

1.      Xem thông tin biến môi trường

Printenv
[oracle@PTUDServer2 ~]$ cat .bash_profile

2.      Apply biến môi trường bằng cách chạy script file

. .bash_profile

3.      Xem thông tin 1 biến


echo $PATH

Chỉnh sửa IP table trong linux

cd /etc/sysconfig
[root@PTUDServer2 sysconfig]# cat iptables
service iptables restart

Thứ Sáu, 27 tháng 11, 2015

tạo , xóa thư mục không rỗng trong linux

Tạo thư mục mới :
[ihub@ETL-PRU-4 ~]$ mkdir -p em_agent/

Xóa thư mục không rỗng "em_agent":
[ihub@ETL-PRU-4 ~]$ rm -rf em_agent                        

kiểm tra bộ nhớ sử dụng của các tài khoản linux


  • Check dung lượng bộ nhớ sử dụng của user hiện thời :
        [oracle@PTUD-VM02-2 oracle]$ du -sh
        320G        
  • Check dung lượng bộ nhớ sử dụng của all :
        [oracle@PTUD-VM02-2 oracle]$ du -sh *
        683M        admin
        49M        cfgtoollogs
        4.0K        checkpoints
        135M        diag
        406M        fast_recovery_area
        309G        oradata
        9.8G        product

        4.0K        software

Thứ Tư, 25 tháng 11, 2015

import file dump vào database

TH1: 
/u01/app/oracle/admin/bccs_vtc/dpdump
[oracle@PTUD-VM02-2 dpdump]$ 
[oracle@PTUD-VM02-2 dpdump]$ impdp system/VtgPtudSYSTEM2015@bccs_vtc directory=vtc_dir dumpfile=IR_20151023.dmp logfile=imIR_20151023.log
note: 
- system
- VtgPtudSYSTEM2015
- bccs_vtc
- vtc_dir
- IR_20151023.dmp
- imIR_20151023.log

TH2: 
/u01/app/oracle/admin/bccs_haiti/dpdump
[oracle@PTUD-VM02-2 dpdump]$ 
[oracle@PTUD-VM02-2 dpdump]$ impdp system/VtgPtudSYSTEM2015 directory=haiti_dir remap_schema=BCCS_CM_HAITI:CM_POS dumpfile=BCCS_CM_HAITI_CUS.dmp logfile=imBCCS_CM_HAITI_CUS.log

note: 
remap_schema=BSSC_CM_HAITI:CM_POS // là chuyển schema sang tên mới là CM_POS

MỘT SỐ LỆNH KIỂM TRA Trong database Oralce

MỘT SỐ  LỆNH KIỂM TRA Trong database Oralce
  • Check instance đang hoạt động
[oracle@PTUD-DB01 dpdump]$ lsnrctl status
  • Check  table space
SQL> select tablespace_name from dba_tablespaces;
SQL> select * from all_directories;
  • Kiem tra user :
SQL> select username from dba_users;
  • Lệnh drop 1 schema (user) :
SQL> DROP USER BCCS_CM_HAITI CASCADE;
  • Check kết nối 1 tài khoản:

connect BCCS_GW_VTB/vtb#2015;

Thứ Sáu, 20 tháng 11, 2015

Hướng dẫn tạo SVN , user và phân quyền trong SVN !



ớng dẫn  tạo và phân quyền SVN

Phần 1 : TẠO SVN 
Tài khoản sử dụng Root :
Thư mục gốc :
 /u02/PTUD/svn/[ SVN 1]
 /u02/PTUD/svn/[ SVN 2]

Mỗi SVN có thể tương đương với 1 phòng ban.
Tất cả các SVN đều được cấu hình trên 2 file duy nhất ở ngoài thư mục /svn
Tạo SVN mới
                 svnadmin create /u02/PTUD/svn/TÊN THƯ MỤC
Phân quyền cho thư mục
chown -R apache:apache /var/www/svn/testrepo

## Set security context ##
chcon -R -t httpd_sys_content_t /var/www/svn/testrepo

## Following enables commits over http ##
chcon -R -t httpd_sys_rw_content_t /var/www/svn/testrepo

Note: vậy là xong phần tạo SVN bjo chỉ cần gán quyền cho user vào sử dụng là ok 

PHẦN 2: TẠO USER VÀ PHÂN QUYỀN CHO USER 
Thư mục chưa file cấu hình
Svn có 2 file cấu hình svnserver.conf và svn.users


  1. Tạo tài khoản
    • Sử dụng root
    • Cd vào ../svn 
    • Gõ code phía dưới .
Code:
[root@PTUD-S01 svn]# htpasswd -d /u02/PTUD/svn.users tuanlq4

  1. Phân quyền
    • Sử dụng root
    • Cd vào
    • Sửa file cấu hình
[root@PTUD-S01 PTUD]# vi svnserve.conf
Note:
  • r: quyền đọc
  • w: quyền viết
  • @tckt : là 1 rule
  1. Sửa file cấu hình :
Vào file cấu hình
[root@PTUD-S01 PTUD]# vi svnserve.conf

Nội dung :
[/]                        // thư mục  từ svn/ …
congvt1=rw       // user có quyền cao nhất
thangtq11=rw   // user có quyền cao nhất
@public=rw       // tạo nhóm user có quyền cao nhất
@dev = rw
loint9 = rw
@tckt = rw    

[groups]             // gán user được sử dụng rule này
dev=chiemhv,thonh,tuongnx,
tckt=quangdh,thuyttt7,minh

[/Projects/GlobalMonitor]          // gán rule cho thư mục  or quyền riêng của 1 số user .     
@public=rw
nhungdth=rw
ductm = rw
[/Projects/Yeu cau noi bo]
@public=rw
lamnt22=rw
ductm = rw
[/Projects/MPS]
@dev = rw




Thứ Tư, 18 tháng 11, 2015

lv5: Đối tượng trong C++

lv5: Đối tượng trong C++
NỘI DUNG :
- định nghĩa được đối tượng trong C++
- truy xuất đối tượng
- viết các phương thức xử lý nghiệp vụ của đối tượng cở bản như :
       + thêm mới đối tượng
       + hiển thị danh sách các đối tượng
       + xóa 1 hoặc nhiều đối tượng (theo id )
       + tìm kiếm đối tượng (theo id , tên )
       + tính toán đối tượng
-----------------------------------------------------
Lab 1: viet chuong trinh nhap va hien thi doi tuong sinh vien -tim kiem nhan vien theo ten .
note:
- hàm so sách chuỗi : strcmp(chuỗi 1, chuỗi 2)
code :
#include <iostream>
#include <iomanip>
#include <stdio.h>
#include <conio.h>
#include <string.h>

using namespace std;
struct sinhvien{
   char masv[50];
   char ten[50];
   int tuoi;
};
void hienthi(sinhvien);
int timkiem(sinhvien[], int, char[]);
void sapxep(sinhvien[], int);

int main(){
   // initi
   sinhvien sv[50];
   int i,n;
   cout<<"nhap so luong sinh vien can nhap: "<<endl;
   cin>>n;
   for(int i=1; i<=n; i++){
       fflush(stdin);
       cout<<"nhap ma sv: ";
       cin.getline(sv[i].masv, 50);
       cout<<"nhap ten sv: ";
       cin.getline(sv[i].ten, 50);
       cout<<"nhap tuoi: ";
       cin>>sv[i].tuoi;
   }
   // hien thi sinh vien ra
   for(int i=1; i<=n; i++){
       hienthi(sv[i]);
   }
   // tiem sinh sinh tien theo ten
   char key[50];
   cout<<"nhap ten sinh vien can tim : "<<endl;
   cin>>key;
   int post = timkiem(sv, n, key);
   if(post>=0){
       hienthi(sv[post]);
   }
}
void hienthi(sinhvien sv){
   cout<<"ma sv : "<<sv.masv<<"-";
   cout<<"ten sv: "<<sv.ten<<"-";
   cout<<"tuoi sv: "<<sv.tuoi<<endl;
}
int timkiem(sinhvien sv[], int n, char key[]){
   for(int i=1; i<=n; i++){
       if(strcmp(sv[i].ten, key)==0){
          return i;
          return -1;
       }
       }
   }
Lab 2: thực hành bài lab quản lý động vật, yêu cầu tương tự
yêu cầu : nhập và hiển thị
code:
#include <iostream>
#include <iomanip>
#include <stdio.h>
#include <conio.h>
#include <string.h>
using namespace std;

struct dongvat{
   char madv[50];
   char tendv[50];
   int tuoi;
   };
void hienthi(dongvat);// hien thi 1 dôi tuong
int timkiem(dongvat[], int, int); // tim kiem theo tuoi
void sapxep(dongvat[], int); // sap xep mang doi tuong .

int main(){
   // khoi tao doi tuohng
   dongvat dv[50];
   int i, n;
   cout<<"nhap vao so luong dong vat: ";
   cin>>n;
   for(int i=1; i<=n; i++){
       fflush(stdin);
       cout<<"nhap ma : ";
       cin.getline(dv[i].madv, 50);
       cout<<"nhap ten: ";
       cin.getline(dv[i].tendv, 50);
       cout<<"nhap tuoi : ";
       cin>>dv[i].tuoi;
       }
   // hien thi dong vat
   for(int i=1; i<=n; i++){
       hienthi(dv[i]);
   }
   }
// phuong thuc hien thi
void hienthi(dongvat dv){
   cout<<"ma: "<<dv.madv<<" ";
   cout<<"ten: "<<dv.tendv<<" ";
   cout<<"tuoi: "<<dv.tuoi<<" ";
   }
Lab 3: quan hang phim
#include<iostream>
#include<iomanip>
#include<stdio.h>
#include<conio.h>
#include<string.h>
using namespace std;
struct hangphim{
   char ten[50];
   char daodien[50];
   int nam;
};
void display(hangphim);
int timkiem(hangphim[],int,char[]); // return id of film
void sapxep(hangphim[],int);
int main()
{
   hangphim hp[100];
   int n,i;
   cout<<"Nhap vao so luong phim tuy y: ";
   cin>>n;
   for(i=1;i<n+1;i++)
   {
       fflush(stdin);
       cout<<"Thong tin bo phim thu "<<i<<":"<<endl;
       cout<<"Nhap vao ten phim: ";
       cin.getline(hp[i].ten,50);
       cout<<"Nhap vao ten dao dien: ";
       cin.getline(hp[i].daodien,50);
       cout<<"Nhap vao nam san xuat: ";
       cin>>hp[i].nam;
   }
   //hien thi
   for(i=1;i<n+1;i++)
   display(hp[i]);
   //Liet ke danh sach sx trong 1 nam bat ki
   int key;
   cout<<"Nhap vao nam tim kiem: ";
   cin>>key;
   cout<<"Danh sach phim san xuat nam "<<key<<": "<<endl;
   for(i=1;i<n+1;i++)
   {
       if(hp[i].nam==key)
       {
       cout<<hp[i].ten<<" ";
       display(hp[i]);
       }
   }
   //Cho phep tim kiem theo ten phim
   char keyy[50];
   //fflush(stdin);
   cout<<"Nhap vao ten phim muon tim kiem: ";
   //cin.getline(keyy,50);
   cin>>keyy;
   int pos=timkiem(hp,n,keyy);
   if(pos>=0)
   {
   cout<<"Ton tai bo phim co ten "<<keyy<<"."<<endl;
   cout<<"Thong tin bo phim co ten "<<keyy<<": "<<endl;
   display(hp[pos]);
   }
   else
   cout<<"Khong ton tai bo phim co ten "<<keyy<<"."<<endl;
   //sap xep theo thu tu moi dan
   cout<<"Danh sach bo phim theo thu tu moi dan : "<<endl;
   sapxep(hp,n);
   for(i=1;i<n+1;i++)
   display(hp[i]);
 
   getch();
   return 0;
}
void display(hangphim hp)
{
   cout<<"Ten: "<<setw(15)<<left<<hp.ten;
   cout<<"Dao dien: "<<setw(15)<<left<<hp.daodien;
   cout<<"Nam sx: "<<hp.nam<<endl;
}
int timkiem(hangphim hp[],int n,char keyy[])
{
   for(int i=1;i<n+1;i++)
       if(strcmp(hp[i].ten,keyy)==0)   // use ham strcmp
       return i;
       return -1;
}
void sapxep(hangphim hp[],int n)
{
   for(int i=1;i<n;i++)
   {
       int min=i;
       for(int j=i+1;j<n+1;j++)
       {
          if(hp[j].nam<hp[min].nam)
          min=j;
          hangphim temp=hp[min];
          hp[min]=hp[i];
          hp[i]=temp;
         
       }
   }
}
lab 4: quan ly cong nhan
#include<iostream>
#include<conio.h>
#include<string.h>
#include<iomanip>
#include<stdio.h>
using namespace std;
struct congnhan{
   char mcn[50];
   char hoten[50];
   int time;
};
void display(congnhan);
int timkiem(congnhan[],int,char[]);
void sapxep(congnhan[],int);
int main()
{
   congnhan cn[100];
   int n,i;
   //Nhap danh sach so luong cong nhan tuy y
   cout<<"Nhap vao so luong cong nhan tuy y: ";
   cin>>n;
   for(i=1;i<n+1;i++)
   {
       fflush(stdin);
    cout<<"Nhap vao thong tin cong nhan thu "<<i<<endl;
   cout<<"Nhap vao ma cong nhan: ";
   cin.getline(cn[i].mcn,50);
   cout<<"Nhap vao ho ten: ";
   cin.getline(cn[i].hoten,50);
   cout<<"Nhap vao thoi gian lam viec: ";
   cin>>cn[i].time;
    }
   //Hien thi danh sach cong nhan ra man hinh
   for(i=1;i<n+1;i++)
{
   display(cn[i]);}
   //Hien thi danh sach cong nhan lam viec tu 40h tro len
cout<<"Danh sach cong nhan lam viec tren 40h: "<<endl;
for(i=1;i<n+1;i++)
{
   if(cn[i].time>=40)
   display(cn[i]);
}
//Tim kiem cong nhan co ma duoc nhap tu ban phim
char key[20];
cout<<"Nhap vao ma so cong nhan can tim: ";
cin>>key;
int pos=timkiem(cn,n,key);
if(pos>=0)
{
cout<<"Ton tai cong nhan co ma "<<key<<endl;
cout<<"Thong tin nhan vien can tim : "<<endl;
display(cn[pos]);
}
else
cout<<"Khong ton tai cong nhan co ma "<<key<<endl;
//Sap xep danh sach cong nhan theo trat tu giam dan(tang dan lam nhieu roi)
cout<<"Danh sach cong nhan theo trat tu giam dan: "<<endl;
sapxep(cn,n);
for(i=1;i<n+1;i++)
display(cn[i]);

   getch();
   return 0;
}
void display(congnhan cn)
{
   cout<<"Ma cn: "<<setw(5)<<left<<cn.mcn;
   cout<<"Ho ten: "<<setw(15)<<left<<cn.hoten;
   cout<<"Thoi gian lam viec: "<<left<<cn.time<<endl;
}
int timkiem(congnhan cn[],int n, char key[])
{
   for(int i=1;i<n+1;i++)
    if(strcmp(cn[i].mcn,key)==0)
    return i;
    return -1;
}
void sapxep(congnhan cn[],int n)
{
   for(int i=1;i<n;i++)
   {
       int max=i;
       for(int j=i+1;j<n+1;j++)
       {
          if(cn[max].time<cn[j].time)
          max=j;
       }
          congnhan temp=cn[max];
          cn[max]=cn[i];
          cn[i]=temp;
   }
}




























lv4: Mảng 2 chiều và các phép toán trên mảng 2 chiều :

lv4: Mảng 2 chiều và các phép toán trên mảng 2 chiều :
bài 1: nhập xuất các phần tử
#include <iostream>
#include <iomanip>
#include <stdio.h>
#include <string.h>
#include <conio.h>
using namespace std;
int main (){
   int a[50][50];
   int n, m, i, j;
   // nhap mang
   cout<<"nhap kich thuoc n : "<<endl;
   cin>>n;
   cout<<"nhap kich thuoc m: "<<endl;
   cin>>m;
   for(i=1; i<=n; i++){
   for(j=1; j<=m; j++){
       cout<<"phan thu thu a["<<i<<"]["<<j<<"]";
       cin>>a[i][j];
       }
       }
   cout<<"hien thi so phan tu ra : "<<endl;
   for(i=1; i<n; i++)
   for(j=1; j<m; j++){
       cout<<a[i][j]<<endl;
       }
return 0;
}
bài 2: tìm min max

#include <iostream>
#include <iomanip>
#include <stdio.h>
#include <string.h>
#include <conio.h>
using namespace std;
int main (){
   int a[50][50];
   int n, m, i, j;
   // nhap mang
   cout<<"nhap kich thuoc n : "<<endl;
   cin>>n;
   cout<<"nhap kich thuoc m: "<<endl;
   cin>>m;
   for(i=1; i<=n; i++){
   for(j=1; j<=m; j++){
       cout<<"phan thu thu a["<<i<<"]["<<j<<"]";
       cin>>a[i][j];
       }
       }
   // hien thi mang
   cout<<"hien thi so phan tu ra : "<<endl;
   for(i=1; i<=n; i++)
   for(j=1; j<=m; j++){
       cout<<a[i][j]<<endl;
       }
   // tim phan tu max
   int max = a[1][1];
   for(i=1; i<=n; i++)
   for(j=1; j<m; j++)
   if(a[j][j]>max){
       max = a[i][j];
   }
   cout<<"max là : "<<max<<endl;
return 0;
}
bài 3 : sắp xếp
























lv3: Các bài toán trong mảng 1 chiều

lv3: Các bài toán trong mảng 1 chiều
###########################################################
bài 1 : nhập xuất cơ bản
#include <iostream>
#include <iomanip>
#include <stdio.h>
#include <string.h>
#include <conio.h>
using namespace std;
int main (){
   int a[50];
   int i, n;
   // nhap mang
   cout<<"nhap vao kich thuoc mang : "<<endl;
   cin>>n;
   for(i=1; i<n; i++){
   cout<<"nhap phan tu a["<<i<<"]"<<endl;
   cin>>a[i];
   }
   // hien thi mang
   cout<<"danh sách phan tu mang la : "<<endl;
   for(i=1; i<n; i++){
       cout<<i<<": "<<a[i]<<endl;
       }
return 0;
}


lv2: Bài toán cơ bản trong C++

lv2: Bài toán cơ bản trong C++
NỘI DUNG :
-  làm quen với cú pháp C++
- nhập xuất trong C++
- thuật toán tìm kiếm, tìm min- max
- thuật toán sắp xếp
--------------------------------------------------------------------
bài 1: Hello world
#include <iostream>
#include <iomanip>
#include <conio.h>
#include <string.h>
using namespace std;
int main(){
   cout<<"xin chào thế giới ";
}
bai 2: nhập xuất đơn giản
#include<iostream>
#include<iomanip>
#include<stdio.h>
#include<conio.h>
#include<string.h>
// bai toan nhap xuat don gian
using namespace std;
int a;
char b[50];
int main(){
// khai bao bien
cout<< "nhap vao mot chuoi ky tu "<<endl;
cin.getline(b, 50);
cout<< " nhap vao mot so tu nhien "<<endl;
cin>>a;
// hien thi
cout<< " ky tu so la: "<<a<<"và ky tu chuoi la : "<<b<<endl;
return 0;
   }
// note: nhap theo thu tu : ky tu chu truoc roi den so sau;
bài 3: Toán tử đơn giản nhất
#include <iostream>
#include <iomanip>
#include <conio.h>
#include <stdio.h>
#include <string.h>
using namespace std;
int main(){
   cout<< " bai so 2"<<endl;
   int a, b, c ;
   cout<<"nhap a";
   cin>>a;
   cout<<"nhap b";
   cin>>b;
   c= a +b ;
// hien thi
   cout<< "a va b la: "<<a<<" ++++"<<b<<endl;
   cout<<c<<endl;
}
bài 4: toan tử so sánh --p1
#include <iostream>
#include <iomanip>
#include <stdio.h>
#include <string.h>
#include <conio.h>
using namespace std;
int main(){
   int a, b;
       cout<<"nhap vao so a: "<<endl;
       cin>>a;
       cout<<"nhap vao so b: "<<endl;
       cin>>b;
       if (a>b){
          cout<<"so lon nhat la "<<a;
          }else{
              cout<<"so lon nhat la"<<b;
          }
   return 0;
   }
bai 5: toán tử so sánh p2
#include <iostream>
#include <iomanip>
#include <stdio.h>
#include <string.h>
#include <conio.h>
using namespace std;
int main(){
   int a, b;
   cout<<"nhap a"<<endl;
   cin>>a;
   cout<<"nhap b"<<endl;
   cin>>b;
   if(a>0 || b>0){
       cout<<"it nhat mot trong 2 so lon hon 0";
       }else{
          cout<<"deo quan tam";
       }
   return 0;
   }
bài 6: vòng lặp for
// vòng lap for
#include <iostream>
#include <iomanip>
#include <stdio.h>
#include <string.h>
#include <conio.h>
using namespace std;
int main(){
int n, i;
cout<<"nhap vao kich thuoc chuoi: "<<endl;
cin>>n;
for(i=1;i<n+1;i++){
   cout<<i<<endl;
   }
return 0;
}
bài 7: lệnh switch - case
// lenh switch -case
#include <iostream>
#include <iomanip>
#include <stdio.h>
#include <string.h>
#include <conio.h>
using namespace std;
int x;
int main (){
cout<<"nhap vao mot so tu 1 toi 5"<<endl;
cin>>x;
switch(x){
   case 1:
       cout<<"doe quan tam ";
       break;
   case 2:
       cout<<"doi qua ";
       break;
   case 3:
       cout<<"buon ngu vai chuong ";
       break;
   default:
       cout<<"toi rat ghet lap trinh  ";
       break;
   }
return 0;
}
bài 8: mảng 1 chiều
#include <iostream>
#include <iomanip>
#include <stdio.h>
#include <string.h>
#include <conio.h>
using namespace std;
int main(){
   // khai bao mang 1 chieu
   int i, n;
    int a[5];
   // nhap gia tri cho mang
   cout<<"nhap vao so phan tu cua mang :"<<endl;
   cin>>n;
   if(n<5){
   for (i=1; i<n+1; i++){
   cout<<"phan tu thu "<<i<<endl;
   cin>>a[i];
   }
   }else{
       cout<<"nhap so phan tu cua mang duoi 5 ";
   }
   // hien thi so luong phan tu cua mang ra .
   cout<<"danh sach phan tu la : ";
   for(i=1; i<n+1; i++){
       cout<<" "<<a[i]<<";";
       }
return 0;
}
bai 9: các phép toán trên mảng 1 chiều - min- max
#include <iostream>
#include <iomanip>
#include <stdio.h>
#include <string.h>
#include <conio.h>
using namespace std;
int main(){
   // khai bao mang 1 chieu
   int i, n;
    int a[5];
   // nhap gia tri cho mang
   cout<<"nhap vao so phan tu cua mang :"<<endl;
   cin>>n;
   if(n<5){
   for (i=1; i<n+1; i++){
   cout<<"phan tu thu "<<i<<endl;
   cin>>a[i];
   }
   }else{
       cout<<"nhap so phan tu cua mang duoi 5 ";
   }
   // hien thi so luong phan tu cua mang ra .
   cout<<"danh sach phan tu la : ";
   for(i=1; i<n+1; i++){
       cout<<" "<<a[i]<<";";
       }
   cout<<endl;
   // tim so lon nhat
   int max = a[1];
   for(i=1; i<n+1;i++){
       if(a[i]>max){
          max = a[i];
          }
              }
       cout<<"max : "<<max<<endl;  
   // tim so nho nhat
   int min = a[1];
   for(i=1; i<n+1; i++){
       if(a[i]<min){
          min = a[i];
       }}
       cout<<"min : "<<min<<endl;
return 0;
}
bai 10: bài toán tìm kiếm cơ bản
#include <iostream>
#include <iomanip>
#include <stdio.h>
#include <string.h>
#include <conio.h>
using namespace std;
int main(){
   // khai bao mang 1 chieu
   int i, n;
    int a[5];
   // nhap gia tri cho mang
   cout<<"nhap vao so phan tu cua mang :"<<endl;
   cin>>n;
   if(n<5){
   for (i=1; i<n+1; i++){
   cout<<"phan tu thu "<<i<<endl;
   cin>>a[i];
   }
   }else{
       cout<<"nhap so phan tu cua mang duoi 5 ";
   }
   // hien thi so luong phan tu cua mang ra .
   cout<<"danh sach phan tu la : ";
   for(i=1; i<n+1; i++){
       cout<<" "<<a[i]<<";";
       }
   cout<<endl;
   // tim kiem phan tu có chi so k;
   int k;
   cout<<"nhap vao chi so k "<<endl;
   cin>>k;
   i=k;
   cout<<"gia tri la : "<<a[i]<<endl;
   // tim kiem so phan tu co gia tri x;
   int x;
   cout<<"nhap vao gia tri can tim: "<<endl;
   cin>>x;
   if(a[i]=x){
       cout<<"phan tu "<<a[i]<<endl;
       cout<<"chi so là :"<<i<<endl;
       }else{
          cout<<"khong tim thay gia tri nào ca !";
       }
return 0;
}
bài 11: thuật toán sắp xếp  ( sai roi )
#include <iostream>
#include <iomanip>
#include <stdio.h>
#include <string.h>
#include <conio.h>
using namespace std;
int main(){
   // khai bao mang 1 chieu
   int i, n;
    int a[5];
   // nhap gia tri cho mang
   cout<<"nhap vao so phan tu cua mang :"<<endl;
   cin>>n;
   if(n<9){
   for (i=1; i<n+1; i++){
   cout<<"phan tu thu "<<i<<endl;
   cin>>a[i];
   }
   }else{
       cout<<"nhap so phan tu cua mang duoi 9 ";
   }
   // hien thi so luong phan tu cua mang ra .
   cout<<"danh sach phan tu la : ";
   for(i=1; i<n+1; i++){
       cout<<" "<<a[i]<<";";
       }
   cout<<endl;
   // bai toan sap xep tang dan
   cout<<"sap xep theo thu tu: "<<endl;
   for(int i=0; i<n-1;i++){
   for(int j=i+1; j<n; j++){
   if(a[j]>a[i]){
       int temp = a[i];
       a[i]=a[j];
       a[j]=temp;
   }}}
   for(int i=1; i<n ;i++){
       cout<<a[i]<<endl;
   }
return 0;
}



lv1: Tổng quan C++

lv1: Tổng quan C++
I. giới thiệu
II. Môi trường phát triển
tool dev C++ : link tải
tool visual studio Express 2010 : link tải
III. List bài học C++ basic
1. bài toán cơ bản
2. mảng 1 chiều
3. mảng 2 chiều
4. Đối tượng C++
5. Con trỏ

Thứ Năm, 5 tháng 11, 2015

[ruby on rails]-bài 1: cài đặt Ruby On Rails trên windows

Cài đặt ruby on rails trên windows

1. tải về rubyinstaller và cài đặt
Ti v máy tp tinh ti đa ch: http://rubyinstaller.org/downloads/ bn chn và download mt phiên bn v cài đt trên win.
2. chạy lệnh cài đặt
vào command line (cmd) gõ lệnh sau : 
gem install rails -include-dependencies 
3. cài đặt môi trường phát triển Ruby On Rails 
- chọn công cụ APTANA. 
- tải về và cài đặt tại đường dẫn sau : 

giới thiệu về ngôn ngữ lập trình Ruby

Ruby On Rails là một Framework cho phép phát triển các ứng dụng web bao gồm 2 phần:
- Phần ngôn ngữ Ruby
- Phần Framework  Rails bao gồm nhiều thư viện liên kết.
Ưu điểm của Ruby
- Cú pháp câu lệnh dễ học, mềm dẻo.
- Server có sẵn kèm theo mỗi ứng dụng giúp cho các nhà lập trình kiểm tra ngay lập tực ứng dụng.
- Tiết kiệm thời gian viết mã.
- Được sử dụng mô hình MVC.
- Dễ sửa chữa và nâng cấp ứng dụng.
- Được tích hợp sẵn AJAX trong thư viện Rails.
- Có nhiều plugins hỗ trợ, cài đặt thêm plugins dễ dàng.
- Rdoc cung cấp tài liệu cho lập trình viên tìm kiếm.
- Bảo mật được đề cao trong RoR


Hướng dẫn cài đặt Oracle Primavera P6

chiemptit@gmail.com

Hướng dẫn cài đặt Oracle Business Intellgence

chiemptit

Hướng dẫn cài đạt tool quản lý dự án Jira Confluence

chiemptit@gmail.com

Hướng dẫn cài đặt FPT server trên Linux

chiemptit@gmail.com

Hướng dẫn cài đặt Oracle 11g

Cài đặt cơ sở dữ liệu Oracle 11g Release 2
Bước 1: Cài đặt Oracle Dependencies
Chúng tôi sử dụng "oracle-rdbms-server-11gR2-cài đặt sẵn" gói được cung cấp bởi "Oracle Công Yum" kho lưu trữ. Các kho yum công Oracle cung cấp một cách miễn phí và đơn giản nhất để cài đặt tất cả các mới nhất của Oracle Linux cách phụ thuộc tự động. Để kho yum cài đặt, hãy làm theo các hướng dẫn được cung cấp dưới đây.
Sử dụng "wget" lệnh để tải tập tin cấu hình yum thích hợp dưới /etc/yum.repos.d/ thư mục như là người dùng root.
RHEL / CentOS 6.x
# Cd /etc/yum.repos.d
# Wget https://public-yum.oracle.com/public-yum-ol6.repo
RHEL / CentOS 5.x
# Cd /etc/yum.repos.d
# Wget https://public-yum.oracle.com/public-yum-el5.repo
RHEL / CentOS 4.x
# Cd /etc/yum.repos.d
# Wget https://public-yum.oracle.com/public-yum-el4.repo
Bây giờ thực hiện "yum" lệnh sau để cài đặt tất cả các điều kiện tiên quyết cần thiết tự động.
[root@oracle]# yum install oracle-rdbms-server-11gR2-preinstall
Trong khi nhập khẩu chính GPG, bạn có thể nhận được "hồi key GPG thất bại" lỗi như hình dưới đây. Ở đây, bạn cần phải nhập key GPG thích hợp cho phát hành hệ điều hành của bạn.
Retrieving key from file:///etc/pki/rpm-gpg/RPM-GPG-KEY-oracle
GPG key retrieval failed: [Errno 14] Could not open/read file:///etc/pki/rpm-gpg/RPM-GPG-KEY-oracle
Tải về và kiểm tra thích hợp Oracle Linux GPG Key phù hợp nhất với RHEL / CentOS OS tương thích phiên bảncủa bạn.
RHEL / CentOS 6.x
# Wget https://public-yum.oracle.com/RPM-GPG-KEY-oracle-ol6 -O / etc / PKI / rpm-gpg / RPM-GPG-KEY-oracle
RHEL / CentOS 5.x
# Wget https://public-yum.oracle.com/RPM-GPG-KEY-oracle-el5 -O / etc / PKI / rpm-gpg / RPM-GPG-KEY-oracle
RHEL / CentOS 4.x
# Wget https://public-yum.oracle.com/RPM-GPG-KEY-oracle-el4 -O / usr / share / RHN / RPM-GPG-KEY-oracle
Bước 2: Thiết lập Hostname
Mở "/ etc / sysconfig / network" tập tin và sửa đổi để phù hợp với HOSTNAME FQDN (Fully Qualified DomainName) tên máy chủ của bạn.
[Root @ oracle] # vi / etc / sysconfig / mạng
HOSTNAME = oracle.tecmint.com
Open "/ etc / hosts" tập tin và thêm tên máy đủ điều kiện cho các máy chủ.
[Root @ oracle] # vi / etc / hosts
192.168.246.128 oracle.tecmint.com oracle
Bây giờ bạn cần phải khởi động lại kết nối mạng trên máy chủ để đảm bảo rằng những thay đổi sẽ được kéo dài trên khởi động lại.
[root@oracle]# /etc/init.d/network restart
Bước 3: Cài đặt Oracle tài
Đặt mật khẩu cho "oracle" người sử dụng.
[root@oracle]# passwd oracle
Changing password for user oracle.
New password:
BAD PASSWORD: it is based on a dictionary word
Retype new password:
passwd: all authentication tokens updated successfully.
Thêm các mục vào tập tin "/etc/security/limits.d/90-nproc.conf" như được mô tả dưới đây.
[root@oracle]# vi /etc/security/limits.d/90-nproc.conf
# Default limit for number of user's processes to prevent
# accidental fork bombs.
# See rhbz #432903 for reasoning.
* soft nproc 1024
# To this
* - nproc 16384
Đặt SELinux để chế độ "cho phép" bằng cách chỉnh sửa các tập tin "/ etc / selinux / config".
[Root @ oracle] # vi / etc / selinux / config
SELINUX=permissive
Một khi bạn đã thực hiện thay đổi, không giả mạo để khởi động lại máy chủ để phản ánh những thay đổi mới.
[Root @ oracle] # reboot
Đăng nhập như là Oracle người dùng và mở file ".bash_profile", trong đó có sẵn trên thư mục nhà oracle của người dùng, làm cho một mục như mô tả dưới đây. Hãy chắc chắn rằng bạn thiết lập chính xác tên máy để"ORACLE_HOSTNAME = oracle.tecmint.com".
[Root @ oracle] # su oracle
[Oracle @ oracle ~] $ vi .bash_profile
# Oracle Settings
TMP=/tmp; export TMP
TMPDIR=$TMP; export TMPDIR
ORACLE_HOSTNAME=
oracle.tecmint.com; export ORACLE_HOSTNAME
ORACLE_UNQNAME=DB11G; export ORACLE_UNQNAME
ORACLE_BASE=
/u01/app/oracle; export ORACLE_BASE
ORACLE_HOME=
$ORACLE_BASE/product/11.2.0/dbhome_1; export ORACLE_HOME
ORACLE_SID=DB11G; export ORACLE_SID
PATH=/usr/sbin:$PATH; export PATH
PATH=$ORACLE_HOME/bin:$PATH; export PATH
LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib; export LD_LIBRARY_PATH
CLASSPATH=$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib; export CLASSPATH export PATH
Chuyển sang sử dụng gốc và thực hiện lệnh sau để cho phép Oracle sử dụng để truy cập Server.
[Root @ oracle] # xhost +
Tạo thư mục và thiết lập các điều khoản thích hợp trong đó các phần mềm Oracle sẽ được cài đặt.
[Root @ oracle] # mkdir -p /u01/app/oracle/product/11.2.0/dbhome_1
[Root @ oracle] # chown -R oracle: oinstall / U01
[Root @ oracle] # chmod -R 775 / U01
Bước 4: Tải phần mềm Oracle
Đăng ký và Tải phần mềm Oracle bằng cách sử dụng liên kết sau đây.
  1. Oracle Database 11g Release 2
Tải về Oracle 11g Release 2
Các gói phần mềm Oracle chứa 2 file zip mà trước tiên bạn phải chấp nhận các thỏa thuận cấp phép trước khi tải về. Tôi đã cho các tên file cho bạn tham khảo, xin vui lòng tải về các tập tin này cho kiến trúc hệ thống của bạn ở đâu đó dưới "/ home / oracle /".
Đối với Linux Systems x86
http://download.oracle.com/otn/linux/oracle11g/R2/linux_11gR2_database_1of2.zip
http://download.oracle.com/otn/linux/oracle11g/R2/linux_11gR2_database_2of2.zip
Đối với các hệ thống Linux x86-64
http://download.oracle.com/otn/linux/oracle11g/R2/linux.x64_11gR2_database_1of2.zip
http://download.oracle.com/otn/linux/oracle11g/R2/linux.x64_11gR2_database_2of2.zip
Bước 5: Cài đặt Oracle
Bây giờ chúng ta hãy bắt đầu cài đặt Oracle. Trước hết cần phải chuyển đổi là "oracle" dùng để cài đặt cơ sở dữ liệu.
[Oracle @ oracle ~] $ su oracle
Trích xuất các tập tin nén nguồn cơ sở dữ liệu Oracle để cùng thư mục "/ home / oracle /".
[Oracle @ oracle ~] $ unzip linux_11gR2_database_1of2.zip
[Oracle @ oracle ~] $ unzip linux_11gR2_database_2of2.zip
Bài tập tin nguồn giải nén, thư mục được gọi là cơ sở dữ liệu sẽ được tạo ra, đi vào bên trong thư mục bên dưới và thực hiện kịch bản để bắt đầu quá trình cài đặt cơ sở dữ liệu Oracle.
[oracle@oracle database]$ cd database
[Oracle @ oracle cơ sở dữ liệu] $ ./runInstaller
1. R Uninstaller sẽ gọi Oracle Universal Installer (OUI), trong đó cái nhìn và cảm nhận & bước đều giống nhau trên tất cả các hệ điều hành.
Oracle Universal Installer
2. Cung cấp địa chỉ email của bạn để được thông báo về các vấn đề an ninh và nhận được cập nhật bảo mật.
Cấu hình Oracle Security Updates
3. Tạo và cấu hình một cơ sở dữ liệu
Tạo cơ sở dữ liệu Oracle
4. Chọn các lớp học hệ thống, hoặc máy tính để bàn hoặc máy chủ.
Chọn Oracle Hệ thống lớp
5. Chọn kiểu cài đặt cơ sở dữ liệu mà bạn muốn thực hiện.
Chọn Database Installation Type
6. Chọn "điển hình cài đặt" tùy chọn để cài đặt cài đặt oracle đầy đủ với cấu hình cơ bản.
Chọn Typical Install
7. Thiết lập mật khẩu quản trị và thực hiện cài đặt cơ sở dữ liệu đầy đủ với cấu hình cơ bản.
Đặt Oracle Password hành chính
8. Hãy click vào "Yes" để tiếp tục cài đặt.
Cài đặt cấu hình điển hình Confirm
9. Tạo Inventory
Tạo Inventory
10. Nếu bạn phải đối mặt với điều kiện tiên quyết cảnh báo trong quá trình cài đặt. Bấm vào nút "Fix & Kiểm tra lại". Oracle sửa Điều kiện tiên quyết của chính nó. Đây là tính năng mới của Oracle Database 11g.
Thực hiện Điều kiện tiên quyết Checks
Các gói pdksh là không có sẵn trong Oracle kho do đó bạn cần phải tải về và cài đặt nó.
[Root @ oracle] # wget ftp://rpmfind.net/linux/redhat-archive/6.2/en/os/i386/RedHat/RPMS/pdksh-5.2.14-2.i386.rpm
Trong khi cài đặt gói pdksh bạn có thể gặp phải lỗi xung đột của gói ksh. Hủy bỏ gói ksh một cách mạnh mẽ và cài đặt các gói pdksh với lệnh đưa ra dưới đây: -
[Root @ oracle] # rpm -e ksh-20100621-19.el6_4.4.i686 --nodeps
[Root @ oracle] # rpm -ivh pdksh-5.2.14-2.i386.rpm
11. Thực hiện kiểm tra Điều kiện tiên quyết: Nó kiểm tra xem có đủ không gian tổng SWAP được có sẵn trên hệ thống.
Điều kiện tiên quyết thực hiện SWAP tra
12. Tóm tắt cài đặt: Nhấp vào Save ứng File. Tập tin này là hữu ích cho Oracle Silent Mode Installation
Oracle Tóm tắt Cài đặt
13. Lưu Response Nộp ở đâu đó trong hệ thống của bạn.
Lưu tập tin Response
Tiến trình cài đặt 14. Sản phẩm
Cài đặt sản phẩm
15. Sao chép các tập tin cơ sở dữ liệu
Cơ sở dữ liệu sao chép tập tin
16. Bấm vào "Quản lý mật khẩu".
Quản lý mật khẩu Oracle
17. Đặt mật khẩu cho người dùng "SYS" và click vào OK để tiếp tục.
SYS thiết lập mật khẩu người dùng
18. Cấu hình các kịch bản cần phải được thực hiện như là "root". Đến đường dẫn được đưa vào màn hình và thực thi các kịch bản một. Nhấp chuột vào 'OK' khi kịch bản được thực thi.
Thực hiện cấu hình Scripts
[root@oracle]# cd /u01/app/oraInventory
[root@oracle oraInventory]# ./orainstRoot.sh
Changing permissions of /u01/app/oraInventory.
Adding read,write permissions for group.
Removing read,write,execute permissions for world.
Changing groupname of /u01/app/oraInventory to oinstall.
The execution of the script is complete.
[root@oracle]# cd /u01/app/oracle/product/11.2.0/dbhome_2/
[root@oracle dbhome_2]# ./root.sh
Running Oracle 11g root.sh script...
The following environment variables are set as:
    ORACLE_OWNER= oracle
    ORACLE_HOME=  /u01/app/oracle/product/11.2.0/dbhome_2
Enter the full pathname of the local bin directory: [/usr/local/bin]:   Copying dbhome to /usr/local/bin ...
   Copying oraenv to /usr/local/bin ...
   Copying coraenv to /usr/local/bin ...
Creating /etc/oratab file...
Entries will be added to the /etc/oratab file as needed by
Database Configuration Assistant when a database is created
Finished running generic part of root.sh script.
Now product-specific root actions will be performed.
Finished product-specific root actions.
19. Việc cài đặt cơ sở dữ liệu Oracle là thành công.
Oracle Kết thúc cài đặt
20. Để kiểm tra cài đặt Oracle của bạn điều hướng đến trang web dựa trên giao diện quản lý cho hệ thống của bạn "localhost" với tên người dùng "SYS" kết nối như "SYSDBA" và sử dụng các mật khẩu mà bạn thiết lập trong khi cài đặt của Oracle. Hãy nhớ để mở cổng 1158 trên tường lửa của bạn và khởi động lại dịch vụiptables.
[Root @ oracle] # iptables -A -p tcp --dport Input 1158 -j ACCEPT
[Root @ oracle] # service iptables restart
https: // localhost: 1158 / em /
Oracle Enterprise Manager Login
21. Cơ sở dữ liệu Oracle Enterprise Control Manager
Cơ sở dữ liệu Oracle Control Manager
Bây giờ bạn có thể bắt đầu sử dụng Oracle. Tôi khuyên bạn nên làm theo các tư liệu Oracle để được giúp đỡ nhiều hơn nữa. Có số lượng các ứng dụng client trên mạng mà có thể giúp bạn, giống như các công cụ dòng lệnh được gọi là Oracle Instant Khách hàng và các chương trình phát triển giao diện người dùng Oracle SQL.
Đây là kết thúc của các cơ sở dữ liệu phần mềm cài đặt Oracle. Trong bài viết sắp tới của chúng tôi, chúng tôi sẽ được bao phủ như thế nào để tạo ra cơ sở dữ liệu sử dụng DBCA và làm thế nào để bắt đầu-up vàShutdown Oracle Database. Hãy chơ ... !!!

Create Schema :
Bạn cũng có thể đăng nhập vơi quyền sysdba bằng cách gõ dòng lệnh sqlplus “/as sysdba” ngay tại cửa sổ Command Dos
create user sample_schema IDENTIFIED BY oracle_pass;
grant dba to sample_schema ;
grant connect to sample_schema;